A sample test plan
A tester wrote to me: “My test manager left the company so the owner asked me to replace him as test manager. I have worked as a tester for two years but never receive any formal training on how to create test plans for software project. My company has several new projects and I am worry because I do not know what to do. Please help”.
Answer: As a test manager, you should work with the project manager as soon as the project starts. You must plan all tests at the beginning of the project even when requirements are still changing. You should develop a draft test plan then add more details when you know more about the project. Do not wait until everything is done then start the test plan because you may not have enough time. To make it easy for you, I develop several questions for you to answer to help you build your own test plan. You need to ask:
- What do I need to test? What function that I must test? and to what extent do I need to test them?” By answering these questions, you will have some ideas on what to do for the project.
- Who will be on my test team? Who is available? How many testers do I need? Are they available or do I need to hire them? By answering these questions you know more about your testing team. If you do not have all testers when needed, it may impact your schedule later. If you do not have enough, you must hire additional testers and it takes time. It could be few weeks to few months after the project has started. It is important to get all the team members in as soon as possible.
- What testing skills are needed for each functional area to be tested? Instead of rely on who are on your team, you must determine what skills the project needs, and from that information check to see if you have enough tester with the right skills or whether you need to add more people with the right skills to your team.
- What is the environment that I can test? Do not assume that the test environment is the same as the development environment. Sometimes customers may have different environment, different platforms, different infrastructure set up. You must find out more about the test environment that your team will test the software. It may takes time to set up if the current environment is not adequate for the project.
- What data do I need for testing? Do I need a sampling of data from users? Who can I talk to get a sampling of production data? Sometimes getting test data is more difficult than you think.
- How much data is enough? Do I need a lot of data? Planning for the amount of data is often ignored but if you do not know the accurate number than you cannot assign the right number of testers or schedule your testing accurately. Plan carefully.
- When can I start testing? What is the current project schedule? Since project schedule often changes, you need to coordinate with project manager to make sure that your test schedules is integrated with the project schedule. A high-level estimate is fine as long as you have some ideas when to get your testing start.
- How do I report defects? What is the process to report and verify defects? Does the project have defect tracking tools or should I use defect log book? Does your company have a well-established process for reporting, tracking and checking defects? If you do not have a process then you need to build one.
- What are risks of this project? What areas may have the most risk? You must coordinate with project manager about project risks then identify any testing risks.
By answer these questions, you already have enough information to build your own test plan. Of course, depend on the size and complexity of the project that you may need to add more things or information in your test plan. Good luck and congratulation on your promotion.
- Blogs of Prof. John Vu, Carnegie Mellon University