It is necessary to have at least a rough estimation of total costs for testing activities as well as test completion dates. Test estimation is used to estimate the effort, cost and timelines for testing. Accurately estimating testing effort and timeline helps in planning the project better.
The test estimates must:
- Include inputs from experienced testers
- Have been approved by or have consensus of all participants
- Furnish quantified values of costs to be incurred, resources to be needed, tasks to be performed and people to be involved
- Provide cost, time and effort estimation for every activity
Best practices in project management for estimating effort are well established. Test estimation uses the same best practices in test activities required for a project.
It should include all testing activities given below:
- Test Planning, Test monitoring and control
- Test Analysis
- Test Design
- Test Implementation
- Test Execution
- Evaluating exit criteria and reporting
- Test closure activities
Management teams are usually most interested in test execution timelines because software testing is usually on the critical path of a project plan.
But estimation of test execution is not easy to produce as well as doubtful, if software quality is low or worse, unknown.
The estimates are also affected by how familiar the estimator is with the system.
How many test cases will be required during testing is usually guesstimated. But this works if product has less defects.
So, all assumptions used in the estimation process must be documented.
Factors affecting Test Estimation
Many factors can affect cost incurred, effort required and duration of testing. Estimates must be made by considering all possible factors, some of which are:
- Expected quality level of the product
- Size of system that must be tested
- Statistics from earlier testing projects, enhanced with standard data from test projects of other organizations or industry standards
- Different processes like testing strategy, product lifecycle, precision of project estimates, etc.
- Infrastructure like testing tools, data and environments, project documents, work products from testing that may be reused
- People like managers, technical and non-technical leaders, commitment level of senior management, project team skill and stability, correlation with other teams, domain knowledge, etc.
- Degree of complication in processes, technology used and stakeholder number and involvement
- Need for skill enhancement or infrastructure upgradation
- Requirement of new processes, tools or techniques to be developed
- Requirement of procuring customized hardware or large quantities of testware
- Compliance with new documentation standards
- Time sensitive test data
While making estimates, Test Manager should take into consideration the quality and stability of software that will be delivered to them for testing.
If best practices like continuous integration and unit test automation are used in the development phase, it will result in the reduction of 50% of the defects before it goes for testing.
Agile methodology also has been reported to produce high quality product for testing by removing defects.
Test Estimation Techniques
Test Manager may take a top-down or bottom-up approach to test estimation using one or more of these methods:
- Prior experience and knowledgeable guesses
- Work Breakdown Structure (WBS)
- Holding multiple sessions like Wide Band Delphi on estimation
- Organizational standards and adopted best practices
- Ratio of number of project staff to number of testers
- Historical data regarding cost, effort, duration, regression cycles, etc. from previous testing projects
- Industry benchmarks and models like function points, etc.
Once an estimation is done, it must be reported to the management, together with supporting data for arriving at those estimates.
There might be some discussions after this, resulting in estimate revisions.
In an ideal scenario, the final estimate should balance the expectations of both the organization and the project team in terms of product quality, project schedules, budgets and product features.
It must be remembered that any estimate is prepared on the availability of data at that instance. In the preliminary stages of the project, the amount of available information would be quite less.
If more relevant information is received as the project progresses, the estimates must be updated to keep them correct.
You can review the explanation for estimation techniques in software testing given in the Foundation level for testers against the one provided above for Test Managers, to see how they differ in the knowledge expected from each level.
The next topic examines how to define, track, report & validate metrics in software testing.
Other popular articles:
- What is Planning Poker? Effort estimation in Agile methodology
- What are the estimation techniques in software testing?
- What are Master Test Plans & Level Test Plan? Examples, When to use
- How to Assess Quality Risks in Agile methodology?
- ISTQB Advanced Level Test Manager Study Material
DAVE says
THANK YOU SOUNDS EXTREMLY INTERETING