scispace - formally typeset
Proceedings ArticleDOI

A Regression Test Case Prioritization Algorithm Based on Program Changes and Method Invocation Relationship

TLDR
A new test case prioritization algorithm based on program changes and method (function) invocation relationship is proposed that reduces the prioritization problem to an integer linear programming (ILP) problem, and finally prioritizes test cases according to their fault detection capabilities.
Abstract: 
Regression testing is essential for assuring the quality of a software product. Because rerunning all test cases in regression testing may be impractical under limited resources, test case prioritization is a feasible solution to optimize regression testing by reordering test cases for the current testing version. In this paper, we propose a new test case prioritization algorithm based on program changes and method (function) invocation relationship. Combining the estimated risk value of each program method (function) and the method (function) coverage information, the fault detection capability of each test case can be calculated. The algorithm reduces the prioritization problem to an integer linear programming (ILP) problem, and finally prioritizes test cases according to their fault detection capabilities. Experiments are conducted on 11 programs to validate the effectiveness of our proposed algorithm. Experimental results show that our approach is more effective than some well studied test case prioritization techniques in terms of average percentage of fault detected (APFD) values.

read more

Citations
More filters
Journal ArticleDOI

Risk-Based Test Case Prioritization by Correlating System Methods and Their Associated Risks

TL;DR: The objective of this research is to make risk-based testing more systematic and flexible by automating the risk assessment process, and find high-risk faults early.

Cooperative Software Testing and Analysis: Advances and Challenges

TL;DR: Recent example advances and challenges on cooperative testing and analysis are presented, which forms a new research frontier on synergistic cooperation between humans and tools along with cooperations between tools and tools.
Proceedings ArticleDOI

Automated Test Suite for Regression Testing Based on Serenity Framework: A Case Study

TL;DR: An automated test suite that consists of 17 automated tests and able to make test reports automatically have been developed that have a consistent repeatability capability with test step reusability level of 68,73 and 100% success rate of execution.
Book ChapterDOI

An Approach for Test Case Prioritization Using Harmony Search for Aspect-Oriented Software Systems

TL;DR: This study proposes a test case prioritization approach using harmony search for aspect-oriented software systems to achieve maximum fault coverage and results indicate that proposed approach is performing well.
References
More filters
Journal ArticleDOI

Prioritizing test cases for regression testing

TL;DR: Test case prioritization techniques schedule test cases for execution in an order that attempts to increase their effectiveness at meeting some performance goal as discussed by the authors, such as rate of fault detection, a measure of how quickly faults are detected within the testing process.
Journal ArticleDOI

Test case prioritization: a family of empirical studies

TL;DR: In this article, the authors empirically compared the effectiveness of fine granularity and coarse granularity prioritization techniques using both controlled experiments and case studies, and found that the incorporation of measures of fault proneness into prioritization technique improves their effectiveness.
Journal ArticleDOI

Search Algorithms for Regression Test Case Prioritization

TL;DR: The paper addresses the problems of choice of fitness metric, characterization of landscape modality, and determination of the most suitable search technique to apply, and sheds light on the nature of the regression testing search space, indicating that it is multimodal.
Proceedings ArticleDOI

A history-based test prioritization technique for regression testing in resource constrained environments

TL;DR: This work proposed a new technique that bases prioritization on historical execution data, and conducted an experiment to assess its effects on the long run performance of resource constrained regression testing.
Journal ArticleDOI

Effectively prioritizing tests in development environment

TL;DR: Echelon is a test prioritization system, which prioritizes the application's given set of tests, based on what changes have been made to the program, and proposes a practical binary code based approach that scales well to large systems.
Related Papers (5)