Understanding and Measuring the Sources of Variation in the Prioritization of Regression Test Suites
نویسندگان
چکیده
Test case prioritization techniques let testers order their test cases so that those with higher priority, according to some criterion, are executed earlier than those with lower priority. In previous work, we examined a variety of prioritization techniques to determine their ability to improve the rate of fault detection of test suites. Our studies showed that the rate of fault detection of test suites could be significantly improved by using more powerful prioritization techniques. In addition, they indicated that rate of fault detection was closely associated with the target program. We also observed a large quantity of unexplained variance, indicating that other factors must be affecting prioritization effectiveness. These observations motivate the following research questions: (1) Are there factors other than the target program and the prioritization technique that consistently affect the rate of fault detection of test suites? (2) What metrics are most representative of each factor? (3) Can the consideration of additional factors lead to more efficient prioritization techniques? To address these questions, we performed a series of experiments exploring three factors: program structure, test suite composition, and change characteristics. This paper reports the results and implications of those experiments.
منابع مشابه
Prioritizing Test Cases For Regression
Test case prioritization techniques schedule test cases for execution in an order that attempts to increase their eeectiveness at meeting some performance goal. Various goals are possible; one involves rate of fault detection | a measure of how quickly faults are detected within the testing process. An improved rate of fault detection during testing can provide faster feedback on the system und...
متن کاملTest Case Prioritization: A Family of Empirical Studies
To reduce the cost of regression testing, software testers may prioritize their test cases so that those which are more important, by some measure, are run earlier in the regression testing process. One potential goal of such prioritization is to increase a test suite’s rate of fault detection. Previous work reported results of studies that showed that prioritization techniques can significantl...
متن کاملSimilarity-based regression test case prioritization
With the continuous evolution of software systems, test suites often grow very large. Rerunning all test cases may be impractical in regression testing under limited resources. Coverage-based test case prioritization techniques have been proposed to improve the effectiveness of regression testing. The original test suite often contains some test cases which are designed for exercising productio...
متن کاملPrioritization based on test suites by analysing automated testing strategies to minimize selected test process
Software testing is a process of refining faults and errors in a software system or project. Software testing is done by both manually and systematically. Automated testing of software is mostly followed in today’s industry. To achieve this, the concern project is divided into various test suites and then testing is done. These test suites should be minimized, selected and prioritized to make t...
متن کاملIncorporating Historical Test Case Performance Data and Resource Constraints into Test Case Prioritization
Software regression testing occurs continuously during the software development process in order to detect faults as early as possible. Growing size of test suites on one hand and resource constraints on the other hand, necessitates the test case prioritization process. Test case prioritization techniques schedule test cases for regression testing in an order that increases the chances of early...
متن کامل