ISSN: 2229-371X
Vikas Verma 1* and Sona Malhotra 2
|
Corresponding Author: Vikas Verma, E-mail: vik.ver86@gmail.com |
Related article at Pubmed, Scholar Google |
Visit for more related articles at Journal of Global Research in Computer Sciences
The various software testing metrics and models and to meet out the objectives this paper is confined to the Software Testing companies. The developers of software companies who are working as software testers participated in the study. The metrics relevant to process improvement can be effectively identified and tailored to the organization and its goals and to ensure consistency and completeness, measurement provides the most appropriate information. Metrics are the most important responsibility of the Test Team. Metrics allow for deeper understanding of the performance of the application and its behaviour. This paper introduces the most commonly used software metrics proposed and reviews their use in constructing models of the software development process.
Keywords |
Project Metrics, Process Metrics, Organisation Metrics, Statistical analysis, planning. |
INTRODUCTION |
Software Testing Metrics are quantifiable measures that could be used to measure different characteristics of a software system or the software development process. Test metrics are known as an important indicator of the effectiveness of a software testing process. The first step in establishing test metrics is to identify the key software testing processes that can be objectively measured. This information can be used as the baseline to define the metric(s) and to determine what information will be tracked, who will track the information and at which frequency. On the basis of interpretation of the defined metrics, areas for process improvement can be identified. Measurement activities must be planned carefully because they require significant efforts to implement, and returns are realized only over a period of time. [1,2] |
BENEFITS OF HAVING GOOD METRICS |
Test metrics data collection helps predict the long term direction and scope for an organization and enables a more holistic view of business and identifies high level goals. |
Provides a basis for estimation and facilitates planning for closure of the performance gap. |
Provide a means for control/status reporting. |
Identifies risk areas that require more testing. |
Quickly identifies and help resolve potential problems and identifies areas of improvement. |
Testing effectiveness and efficiency are provided by the test metrics.[10] |
IMPORTANT FACTORS OF TESTING METRICS |
Only that data is collected that is actually needed to make decisions or to alter strategy. |
Decisions are not based solely on data that is a variable or can be manipulated. |
Statistical analysis is used to get a better understanding of data. Difficult metrics data must be analyzed carefully. |
One of the key inputs to the metric program is the defect tracking system in which the reported process and product defects are logged and tracked to closure. It is therefore very important to carefully decide on fields that decide per defect in the defect tracking system and then generate customizable reports. |
Metrics should not decide on the basis of ease of data collection rather than their importance to stakeholders. Metrics that are not of interest to stakeholders must be avoided. |
Inaccurate data must be avoided and complex data must be handled carefully. Proper benchmarks must be decided for the program.[9] |
SOFTWARE TESTING METRICS LIFE CYCLE |
The process of setting up testing metrics involves: |
Recognizing the metric. |
Prioritizing metrics. |
Classifying metrics that may be project specific. |
Identifying the required data for the metric and if data is not available, identify/setup process to capture the data. |
Communicating the stakeholders. |
Capturing and verifying data. |
Analyzing and processing data. |
Reporting. |
Organisation Metrics: Metrics at the level of organization are useful in overall project planning and management. Some of these metrics are obtained by aggregating compatible metrics across multiple projects. An organizational level test plan needs to incorporate metrics to make the testing activities visible available to process improvements.[3] |
Project Metrics: Project test metrics relates to specific project. These are useful in the monitoring and control of a specific project. The ratio of actual to planned system test effort is one project metric. Test effort could be measured in terms of tester-man-months. At the start of the system test phase, for example, the project manager estimates the total system test effort. The ratio of actual to estimated effort is zero prior to the system test phase. This ratio builds up over time. Tracking the ratio assists the project manager in allocating testing resources.[4] |
Process Metrics: Every project use some test processes. The big-bang approach is one process sometimes used in relatively small single-person projects. Several other well organized processes exist. The goal of project testing metrics is to access the goodness of the process.[5] |
Effort required in the process. |
Time to produce the product. |
Effectiveness of defect removal during development. |
Number of defects found during testing |
Maturity of process. |
Product metrics |
Product metrics relates to specific product such as compiler for programming language. These are useful in making decisions related to the product. Product metrics describe the characteristics of the product such as size, complexity, design features, performance, and quality level. Product metrics characterize some aspect of the structure of a software product, such as a requirements specification, a design, or source code. They are also commonly known as complexity metrics. Product complexity related metrics abound. Two types of product metrics are:[6] |
1. Cyclomatic Complexity |
2. Halstead Metrics for Software Testing. |
Static & Dynamic Metrics |
Static metrics are those computed without having to execute the product. Number of testable entities in an application is an example of a static product metric. Dynamic metrics require code execution. For example, the number of testable entities actually covered by a test suite is a dynamic product metric. One could apply the notions of static and dynamic metrics to organization and project. For example, the average number of testers working on a project is a static project metric. Number of defects remaining to be fixed could be treated as dynamic metric as it can be computed accurately only after a code change has been made and the product retested.[7,8,11] |
`CONCLUSION |
It is easy to understand and applicable on the software, so favourable among software professionals. It is most prevalent and important testing metrics used in organizations. The least used testing metrics found in empirical investigation is Halstead metrics. It is complex measure to calculate and time consuming; organizations do not prefer it as very less testers have knowledge about it. Effective management of any process requires quantification, measurement, and modeling. Software metrics provide a quantitative basis for the development and validation of models of the software development process. Testing Metrics are used to improve software productivity and quality. This paper introduces the most commonly used software metrics proposed and reviews their use in constructing models of the software development process. Although current metrics and models are certainly inadequate, a number of organizations are achieving promising results through their use. Software Testing Metrics have rarely been used in any regular, methodical fashion. |
References |
|