Generally, Metric is defined as a unit which is used for measuring any attribute.
In software testing, Test metric is defined as a quantitative indicator of the degree to which a system, system component, or process possesses a given attribute.
Test metrics helps to estimate the progress, quality and health of a software testing effort and also helps to take decision for next phase of activities.
Test metrics improves the efficiency and effectiveness of a software testing process.
Software Test Lead/Manager’s main responsibility is to generate software test metrics.
Test Metrics Life Cycle
The Testing Metrics Life cycle usually consists of 4 phases:
Test Metrics Life Cycle
In analysis phase, testing team lead will identify the specific metric that is to be measured and define the identified metrics.
In communication phase, testing team lead will explain the need for metric to stakeholder and testing team and educate the testing team about the data points to be captured for processing the metric.
In evaluation phase, testing team lead will capture and verify the data used for generating the Metrics and Calculate the Metrics based on the data captured.
In reporting phase, testing team lead will develop the Metrics report with effective conclusion and distribute to the stakeholders and take feedback from the stakeholders for any improvements.
Types of Metrics
Metrics are usually of three types:
- Process related metrics :
Process metrics are used to improve the efficiency of a process, for example, Software Development Life Cycle (SDLC). These metrics are mainly used for evaluating and improving the effectiveness of development and maintenance processes.
- Product related metrics:
Product metrics relate to the quality of software products and identifying them and taking corrective actions that helps to improve the quality of the product. These metrics are used for describing characteristics of product such as it’s size, complexity, features, and performance.
- Project related metrics:
Project metrics are used to measure the efficiency of a project team or used to measure the efficiency of any tools that are being used by the team members. These are useful in monitoring and controlling a project. It describes the characteristics of the project and its execution such as number of software developers, cost and schedule.
The metrics provided by testing offer a major benefit to executives which gives visibility into the maturity and readiness for release or production, and visibility into the quality of the software product under development. The test metrics should be reviewed & interpreted on regular basis throughout the testing process and particularly after the application is released into production. This enables effective management of the software development process, by allowing clear measurement of the product quality and completeness of the product.