In this new age of rapid development models like Agile, we want to jump onto design and testing with good enough documentation instead of spending lifetime on it to make it perfect.
Though it makes perfect sense but we should not undermine the importance of quality of the contents in the Test Plan documents.
Test plan helps us to manage change. During early phases of the project, as we gather more information, we revise our plans. As the project evolves and situations change, we adapt our plans.
Updating the plan at major milestone helps us to keep testing aligned with the project needs. As we run the tests, we make final adjustments to our plans based on the results.
Test Plan – A document describing the scope, approach, resources, and schedule of intended testing activities. It recognizes test items, features to be tested, testing tasks, who will perform each task, and any risks requiring contingency planning.
The test plan is a by-product of the comprehensive planning process. The Purpose of a Test Plan is:
The final aim of the test planning procedure is to communicate the software test team’s purpose, its expectations, and understanding of the testing that is to be achieved.
The test planning process and the plan itself provides a platform to discuss with other members of the project team, testers, peers, managers and other stakeholders.
Also Read: Test Design, Test Case, Test Suite, Test Script
Test plan forces us to confront the challenges well in advance and we could focus our thinking on important topics.
It helps gain clarity on the requirements and their testability. Test plan once drafted must be reviewed by conducting review meetings.
Types of Test Plan:
1) Test Plan Identifier
This is required to manage in coordinating software and test ware versions within configuration management.
This is no specific syntax to be followed, it depends on the organization.
Usually it has series number which identifies the release number, feature name and/or number, version number and it also maintains a history section to note the evolutions.
2) References
List all documents that support this test plan. Documents that can be referenced include:
3) Introduction
It covers the purpose of the Plan.
4) Test Items
This section is for what is being tested, i.e. all the functions of a specific product, its existing interfaces, integration of all functions.
Includes Test Estimations (Time of tests, Budget etc.).
Test coverage in the test plan states what requirements will be verified during what stages of the product life. Test coverage for different product life stages may overlap, but will not necessarily be exactly the same for all stages.
5) Risks and Assumptions
Recognize the high-risk assumptions with the test plan, what are the components or resources which may be late or unavailable.
Specify contingency plans for each item, and provide an initial assessment on the impact of the risk, along with how likely it will be.
6) Features to be tested
It essentially covers the test items not from the technical point of view but from users perspective. It contains list of features to be tested with the severity and priority from users point of view.
7) Features not to be tested
This is a listing of what is not to be tested from technical and user view. It captures the reasons for the same.
8) Testing Approach
This is your overall test strategy for this test plan which covers overall rules and processes identified.
It answers:
9) Item Pass/Fail Criteria
It basically covers the definition of done. It is the criteria based on which we decide if the plan is complete.
This could be an individual test case level criterion or a unit level plan or it can be general functional requirements for higher level plans.
10) Suspension Criteria and Resumption Requirements
If the defect density ratio is too high, sometimes it makes no sense to continue the test as there would not be enough time to get it fixed or quality might be too low for delivery.
Specify what constitutes stoppage for a test or series of tests and what is the acceptable level of defects that will allow the testing to proceed past the defects.
Identify what type of defects would be considered showstoppers.
11) Test Deliverables
12) Environmental Needs
Specify both the necessary and desired properties of the test environment.
The specification should contain the physical characteristics of the facilities, including the hardware, the communications and system software, the mode of usage (for example, stand-alone), and any other software or supplies needed to support the test.
Also specify the level of security which must be provided for the test facility, system software, and proprietary components such as software, data, and hardware.
13) Test Resources
Tools – Describes and identifies special test tools needed. Identifies any other testing needs. Identifies the source of all needs which are not currently available.
People – List of specific people carrying out the Test and their roles. Also needs to encounter constraints in staffing shortage.
15) Schedule
It is extremely important to get the estimates right, little deviation from the plan is acceptable, keyword here being ‘little’.
It should be based on realistic and validated estimates.
If estimates go haywire for design and they take more time, it is highly likely that project management would cut down on testing time
It usually comes down to the decision on what is the impact of delivering the solution if it is partially tested. How slippage in the schedule will be handled should also be addressed here.
Plan all test dates directly to their related development activity dates.
16) Planning Risks and Contingencies
Plan for various risks e.g.:
It should be captured in here, how such situations be handled when encountered.
17) Approvals
Determine the approval process keeping the audience in mind.
18) Glossary
Used to define terms and acronyms used in the document, and testing in general, to eliminate confusion and promote consistent communications.
There you go. These are most important aspect of test planning. Happy test planning !!
Please share your thoughts with us.