Although every tester is certainly aware of the existence of a whole host of metrics intended to offer feedback regarding any number of subjects pertaining to the software development and testing process, it is not always the case that these metrics are completely understood or even properly applied in a way that yields a positive outcome. This should not be the case, especially when one considers the potential value for testers who understand which metrics are most useful when applied properly. With so many metrics available for software quality testing and so many software testing tools available, it is helpful to categorize the different kinds of software quality according to what is being measured:
- Resource allocation.
- Accurate performance measurement.
- Defect resolution, defect reporting, log analysis, and other non-testing related metrics.
1. How Do You Measure Progress?
Metrics that accurately measure a testing team’s progress take a much broader view in order to determine the level of “doneness” the team has achieved. Rather than considering only the user stories that are moved through the scrum or compound board, doneness measures everything from the perspective of overall readiness for release. In addition to the test cases associated with an individual user story, these kinds of metrics measure progress by also considering load testing, regression testing, performance testing, and anything else associated with the specific sprint or release.
2. Are Your Resources Efficiently Allocated?
Testing teams are made up individuals with varying skill sets and responsibilities, and from a variety of perspectives that include cost and overall efficiency, it is critical to ensure that these human resources are utilized in the most optimal manner possible. Using the right resource allocation metrics will ensure testing teams operate efficiently and will allow test teams to get the most out of their collective skills and talents.
3. Do Your Metrics Accurately Measure Performance?
Performance metrics make it possible for testers to see how they measure across a variety of tasks when compared to their peers, allowing testers to easily identify strengths and weaknesses in order to take corrective action when necessary. Performance metrics may foster a competitive environment among testers which can be quite healthy but it is best to use these software quality metrics to emphasize the importance of a collaborative environment in which testers help and support one another and ensure the whole is greater than the sum of its parts.
4. Have You Considered Factors Beyond Pass, Fail, and Incomplete?
Software quality metrics are only useful if the data can be applied in a manner that leads to action, which is why testers have to be careful when reviewing progress only in terms of “pass, fail, and incomplete.” Testing teams should engage in thoughtful conversation regarding what these software quality metrics actually mean from a practical perspective, as these kinds of discussions will make it possible to determine what areas are no longer in need of testing and what areas should be prioritized to a greater degree.