In very simple terms, test planning refers to planning the activities that must be performed during testing in order to achieve the objectives of the test. Test planning for every test level of the project begins at the starting of that level’s testing process and goes on upto the end of closing activities of the level.
The syllabus for the ISTQB Advanced Level Test Manager covers some of the test process tasks separately compared to the ISTQB Foundation Level syllabus to offer more fine tuning and optimization so that it may be better suited to effective test monitoring and control in software development lifecycle. The test tasks now take this form:
- Planning, monitoring and control
- Analysis
- Design
- Implementation
- Execution
- Evaluating exit criteria and reporting
- Test closure activities
Test planning activities
Test planning process include the following activities:
- Ascertaining test objectives
- Enumerating test activities
- Identifying resources required
- Determining test metrics
- Identifying procedures for collecting and tracking test metrics
- Fixing benchmarks to assess adherence to test plan
- Identifying parameters to measure achievement of objectives
Zeroing in on software testing metrics while planning enables test team to choose appropriate testing tools, design training schedules and put documentation guidelines in place.
Selecting a test strategy helps in listing out the test tasks in the planning phase itself.
- For example, in case of risk based testing, focus is on identifying activities that can diminish risks & coming up with a contingency plan. Product risk analysis data acts as guide for prioritizing testing activities here.
- Similarly, if the product is likely to have security risks, testing focuses on security testing and during the planning phase multiple security tests are designed and developed.
- If a product is likely to have design defects, testing focuses on design specifications and additional design specification reviews (static testing) are planned and built into the testing process.
- There are so many testing activities to be carried out that they must be prioritized. Data provided by risk analysis plays an important role in determining this priority list.
- For example, if there is a high risk of system performance issues or system performance is critical, performance testing is given highest priority when the code is delivered for testing.
- In case of reactive testing, planning for creating test charters & developing dynamic testing methods like exploratory testing are the top priority tasks.
During test planning phase, Test Manager is responsible for identifying:
- Testing strategy to be employed
- Test levels, with their measurable outcomes
- Test techniques
For example, for risk based testing of avionics systems, the Test Manager must plan for the level to which code must be tested and the testing technique to be employed to achieve that level of testing.
Work Products in Testing
Software testing process typically has these three work products, among others:
- Test basis like product risks or its requirements
- Test conditions
- Tests that provide coverage
Understanding the work products listed above and the relationship between them is essential for efficient test planning, selection of right test tools, monitoring of test processes and overall control of the testing process.
As you know, each team has their own work products, which may or may not be the final deliverables. The test team work products may bear relationship with development team work products.
The traceability matrix could record relationships between these three elements:
- Detailed design specifications from system designers
- Business related requirements given by business analysts
- Work products of testing, created by testing team
When low-level test cases are expected to be created, the plan could contain a requirement for a detailed design document to be provided by the dev team and approval of the design document before creation of test cases can commence.
If an Agile methodology is being followed, information may be shared between teams informally before actual testing starts.
The test plan can also explicitly enumerate those software features which are in scope & those that cannot be covered by its scope.
Risk analysis document may be used to determine this. After this, on the basis of formality level and documentation required for the project, every software feature that lies within test scope can be traced back to its matching test design description.
In this stage of test planning, Test Managers may need to collaborate with project architects on following aspects:
- Specifying initial environment for testing
- Verifying availability of required resources
- Ensuring availability and dedication of trained personnel
- Understanding time and cost implications
- Gaining insights about processes required to set up test environment
Lastly, the test manager needs to identify every external dependency as well as its corresponding service level agreement (SLA) since these need to be considered while planning.
Some of the external dependencies include:
- Third party resource requests
- Dependencies on another project(s) running simultaneously within the program
- Deployment team
- External vendors
- External development partners
- Database administrators
You might want to review Test Planning from the Foundation Level exam point of view.
In the next article we will take a look at Test Monitoring and Test Control.
Other popular articles:
- ISTQB Advanced Level Test Manager Study Material
- What is Test Monitoring and Test Control?
- What are Test Conditions & Test Analysis? Advantages, Disadvantages & Level of Detail
- How Do Software Development Lifecycle Activities & Work Products Affect Testing?
- Estimating what testing will involve and what it will cost?
Leave a Reply