2019
DOI: 10.1109/tse.2018.2822270
|View full text |Cite
|
Sign up to set email alerts
|

How Do Static and Dynamic Test Case Prioritization Techniques Perform on Modern Software Systems? An Extensive Study on GitHub Projects

Abstract: Test Case Prioritization (TCP) is an increasingly important regression testing technique for reordering test cases according to a pre-defined goal, particularly as agile practices gain adoption. To better understand these techniques, we perform the first extensive study aimed at empirically evaluating four static TCP techniques, comparing them with state-of-research dynamic TCP techniques across several quality metrics. This study was performed on 58 real-word Java programs encompassing 714 KLoC and results in… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
39
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 45 publications
(65 citation statements)
references
References 64 publications
0
39
0
Order By: Relevance
“…The additional strategy also selects test cases according to a descending order, but uses the number of code units not already covered by previously selected test cases. According to previous studies [17,18,19], although seemingly simple, the greedy strategies (especially additional) perform better than most other RTCP techniques in terms of the fault detection rate. Therefore, in our study, we used a simple greedy algorithm to instantiate the CCCP prioritization function for statement, branch, and method coverage criteria.…”
Section: Greedy Techniquesmentioning
confidence: 92%
See 3 more Smart Citations
“…The additional strategy also selects test cases according to a descending order, but uses the number of code units not already covered by previously selected test cases. According to previous studies [17,18,19], although seemingly simple, the greedy strategies (especially additional) perform better than most other RTCP techniques in terms of the fault detection rate. Therefore, in our study, we used a simple greedy algorithm to instantiate the CCCP prioritization function for statement, branch, and method coverage criteria.…”
Section: Greedy Techniquesmentioning
confidence: 92%
“…Finally, the search-based technique considers all permutations as candidate solutions, and uses a meta-heuristic search algorithm to guide the search for a better test execution order -a genetic algorithm was adopted in this study, due to its effectiveness [2]. These four test prioritization techniques, whose details are presented in Table 1, have been widely used in RTCP previous studies [17,18,20].…”
Section: Prioritization Techniquesmentioning
confidence: 99%
See 2 more Smart Citations
“…Regression testing is a process/methodology to effectively and efficiently validates the errors after doing some changes to the existing software [9][10 [11]. It is also called as validation test that which leads to assure the [24].…”
Section: Introductionmentioning
confidence: 99%