When I first started to learn about testing, I found out about test plans. They looked impressive and professional. Many templates were available, with specific figures on how many P1, P2, and P3 defects were allowed before testing could move to a different phase, how many cycles of testing there would be, etc. They even had spaces for everyone to sign off that they had read the test plan and approved it. Of course, once the project started, everything changed — three cycles became one, heated arguments arose about whether a defect was P1 or P2, etc.
Then I moved to Atomic with their agile approach, where everyone tests all the time. There was no need for bulky test plans. Still, I have found a use for a very, very lightweight test plan to make sure that the right testing is being done for the project. I’ll describe the various sections below.
What browsers are going to be supported? Are you working in a corporate environment where laptops are locked down and you have to support Edge? Is it supposed to work on mobile devices? If it’s a mobile app, what Android OS versions are you going to support?
Types of Testing
As well as functional testing to make sure your product works as intended, there are “non-functional” tests that should be considered.
What areas need to be tested for this and under what conditions? Are there any load and stress considerations that need to be planned and tested for? Is the project for a Christmas rush where you get a million orders in a day?
Do you need to worry about security? Is there any sensitive data to be protected? Do we need to stop users from seeing other users’ data? Are there different roles within the product? If security is an area of concern, who will do the testing? Do you need a professional pen tester?
Internationalization & Localization
Is this for a worldwide project that supports multiple languages? If so, who will test that all the text is correctly translated? Do other factors (design colors, icons, graphics, etc.) also need to be tested to make sure they’re appropriate?
If usability is an important focus, how will you test it? Will there be beta testers or formal usability tests? If so, at what stages will those tests occur?
How will the project be deployed out for testers? Will you be using a common platform like Heroku? If so, when do deployments happen? If it’s a mobile app, how will this be sent out to the testers?
How will test data be generated? How can you make sure it’s realistic? If you want to do performance and load testing, do you have figures on how much data there will be in a real production environment?
When you think through all of these areas at the start of a project, you can make sure you’re prepared, focused on the right areas, and testing for the risks that are important to the project.
Do you make use of test plans? If so, let me know how you use them and how heavy — or light — they are.