In this article, we will discuss the Test Plan document and Test Planning. A Test Plan is a formal document that describes
- Scope, objectives, and approach to testing
- People and equipment allocated to testing
- Features to be tested and features not to be tested.
- Any assumptions while testing the application
- Test entry and exit criteria
- Testing Approach.
- Dependencies and risks
- Defect management
- Test Estimation and measurements
- Test deliverables
- Test Reporting.
- Schedules and milestones
- Staffing and training needs
- Test Schedule and Approvals
Test planning is influenced by the test policy of an organization, the scope of testing, objectives, risks, constraints, criticality, testability and the availability of resources.
It is a continuous activity & is performed throughout all project processes & activities. Feedback gathered from test activities is used to recognize changing risks & planning is enhanced accordingly.
Test Planning Activities:
Defining the test strategy, including the definition of all test levels, entry/exit criteria
Integration & coordination of testing activities software life cycle activities
Critical decisions like what to test, defining roles to be performed, when & how the testing activities should take place, how to evaluate the test results & most importantly when to stop testing (exit criteria)
Selections & assignment of resources for various roles identified.
Selecting metrics for monitoring test preparation & execution, defect resolutions & risks
Mostly test approach strategies can be 2 ways.
Preventive Approach: Tests are designed as early as possible in the cycle.
Reactive Approach: Test Design starts after the software system has been produced.
The purpose of exit criteria is to define goals that should enable the management to decide on whether to stop the testing or not.
Examples of sample exit criteria :
1.The thoroughness with regards to code coverage, functionality or Risk
2.Estimates of defect density or reliability measures
3.Cost & time factors
Approaches for estimation :
Estimating the testing efforts based on metrics of former or similar projects.
Estimating of the tasks by the owner of the tasks or by experts
Test progress monitoring is the process in which various test activities are assessed & compared against their planned goals. Metrics can be used to measure the progress of various activities.
Percentage of work done in test case preparation
Percentage of work done in test environment preparation
Test case execution (e.g. no of test cases run/not run, test cases passed/failed)
Defect Information (Defects found/fixed, failure rate, retest progress)
Test reporting summarizes information about the following :
Testing progress in terms of test case execution, defects opened, defects fixed, no re-tests occurred, etc.
Metrics to support recommendations & decisions for future actions such as unfixed defects & their impact on the project, outstanding risks, level confidence in the quality of software.