Metrics in Software Test Planning and Test Design Processes

There is a need to establish a software testing process that is cost effective and efficient to meet the market pressures of delivering low cost and quality software. Measurement is a key element of an effective and efficient software testing process as it evaluates the quality and effectiveness of the process. Moreover, it assesses the productivity of the personnel involved in testing activities and helps improving the software testing procedures, methods, tools and activities. Gathering of software testing related measurement data and proper analysis provides an opportunity for the organizations to learn from their past history and grow in software testing process maturity.

Software metrics plays an important role in measuring attributes that are critical to the success of a software project. Measurement of these attributes helps to make the characteristics and relationships between the attributes clearer. This in turn supports informed decision making.The field of software engineering is affected by infrequent, incomplete and inconsistent measurements. The aim of this thesis is to investigate the metric support for software test planning and test design processes.

Contents

1 INTRODUCTION
1.1 BACKGROUND
1.2 PURPOSE
1.3 AIMS AND OBJECTIVES
1.4 RESEARCH QUESTIONS
1.4.1 Relationship between Research Questions and Objectives
1.5 RESEARCH METHODOLOGY
1.5.1 Threats to Validity
1.6 THESIS OUTLINE
2 SOFTWARE TESTING
2.1 THE NOTION OF SOFTWARE TESTING
2.2 TEST LEVELS
3 SOFTWARE TESTING LIFECYCLE
3.1 THE NEED FOR A SOFTWARE TESTING LIFECYCLE
3.2 EXPECTATIONS OF A SOFTWARE TESTING LIFECYCLE
3.3 SOFTWARE TESTING LIFECYCLE PHASES
3.4 CONSOLIDATED VIEW OF SOFTWARE TESTING LIFECYCLE
3.5 TEST PLANNING
3.6 TEST DESIGN
3.7 TEST EXECUTION
3.8 TEST REVIEW
3.9 STARTING/ENDING CRITERIA AND INPUT REQUIREMENTS FOR SOFTWARE TEST PLANNING AND TEST DESIGN PROCESSES
4 SOFTWARE MEASUREMENT
4.1 MEASUREMENT IN SOFTWARE ENGINEERING
4.2 BENEFITS OF MEASUREMENT IN SOFTWARE TESTING
4.3 PROCESS MEASURES
4.4 A GENERIC PREDICTION PROCESS
5 ATTRIBUTES FOR SOFTWARE TEST PLANNING PROCESS
5.1 PROGRESS
5.1.1 The Suspension Criteria for Testing
5.1.2 The Exit Criteria
5.1.3 Scope of Testing
5.1.4 Monitoring of Testing Status
5.1.5 Staff Productivity
5.1.6 Tracking of Planned and Unplanned Submittals
5.2 COST
5.2.1 Testing Cost Estimation
5.2.2 Duration of Testing
5.2.3 Resource Requirements
5.2.4 Training Needs of Testing Group and Tool Requirement
5.3 QUALITY
5.3.1 Test Coverage
5.3.2 Effectiveness of Smoke Tests
5.3.3 The Quality of Test Plan
5.3.4 Fulfillment of Process Goals
5.4 IMPROVEMENT TRENDS
5.4.1 Count of Faults Prior to Testing
5.4.2 Expected Number of Faults
5.4.3 Bug Classification
6 ATTRIBUTES FOR SOFTWARE TEST DESIGN PROCESS
6.1 PROGRESS
6.1.1 Tracking Testing Progress
6.1.2 Tracking Testing Defect Backlog
6.1.3 Staff Productivity
6.2 COST
6.2.1 Cost Effectiveness of Automated Tool
6.3 SIZE
6.3.1 Estimation of Test Cases
6.3.2 Number of Regression Tests
6.3.3 Tests to Automate
6.4 STRATEGY
6.4.1 Sequence of Test Cases
6.4.2 Identification of Areas for Further Testing
6.4.3 Combination of Test Techniques
6.4.4 Adequacy of Test Data
6.5 QUALITY
6.5.1 Effectiveness of Test Cases
6.5.2 Fulfillment of Process Goals
6.5.3 Test Completeness
7 METRICS FOR SOFTWARE TEST PLANNING ATTRIBUTES
7.1 METRICS SUPPORT FOR PROGRESS
7.1.1 Measuring Suspension Criteria for Testing
7.1.2 Measuring the Exit Criteria
7.1.3 Measuring Scope of Testing
7.1.4 Monitoring of Testing Status
7.1.5 Staff Productivity
7.1.6 Tracking of Planned and Unplanned Submittals
7.2 METRIC SUPPORT FOR COST
7.2.1 Measuring Testing Cost Estimation, Duration of Testing and Testing Resource Requirements
7.2.2 Measuring Training Needs of Testing Group and Tool Requirement
7.3 METRIC SUPPORT FOR QUALITY
7.3.1 Measuring Test Coverage
7.3.2 Measuring Effectiveness of Smoke Tests
7.3.3 Measuring the Quality of Test Plan
7.3.4 Measuring Fulfillment of Process Goals
7.4 METRIC SUPPORT FOR IMPROVEMENT TRENDS
7.4.1 Count of Faults Prior to Testing and Expected Number of Faults
7.4.2 Bug Classification
8 METRICS FOR SOFTWARE TEST DESIGN ATTRIBUTES
8.1 METRIC SUPPORT FOR PROGRESS
8.1.1 Tracking Testing Progress
8.1.2 Tracking Testing Defect Backlog
8.1.3 Staff Productivity
8.2 METRIC SUPPORT FOR QUALITY
8.2.1 Measuring Effectiveness of Test Cases
8.2.2 Measuring Fulfillment of Process Goals
8.2.3 Measuring Test Completeness
8.3 METRIC SUPPORT FOR COST
8.3.1 Measuring Cost Effectiveness of Automated Tool
8.4 METRIC SUPPORT FOR SIZE
8.4.1 Estimation of Test Cases
8.4.2 Number of Regression Tests
8.4.3 Tests to Automate
8.5 METRIC SUPPORT FOR STRATEGY
8.5.1 Sequence of Test Cases
8.5.2 Measuring Identification of Areas for Further Testing
8.5.3 Measuring Combination of Testing Techniques
8.5.4 Measuring Adequacy of Test Data
9 EPILOGUE
9.1 RECOMMENDATIONS
9.2 CONCLUSIONS
9.3 FURTHER WORK
9.3.1 Metrics for Software Test Execution and Test Review Phases
9.3.2 Metrics Pertaining to Different Levels of Testing
9.3.3 Integration of Metrics in Effective Software Metrics Program
9.3.4 Data Collection for Identified Metrics
9.3.5 Validity and Reliability of Measurements
9.3.6 Tool Support for Metric Collection and Analysis
TERMINOLOGY
REFERENCES
APPENDIX

Author: Wasif Afzal

Source: Blekinge Institute of Technology

Download URL 2: Visit Now

Leave a Comment