没有任何数据可供显示
开源项目社区 | 当前位置 : |
|
www.trustie.net/open_source_projects | 主页 > 开源项目社区 > gelations |
gelations
|
0 | 0 | 19 |
贡献者 | 讨论 | 代码提交 |
Gelations is a research prototype system for regression test suite prioritization using genetic algorithms. This system is written entirely in version 1.6 of the Java SE programming language, and is accompanied by its own regression test suite written using the JUnit unit testing framework.
Software testing is a crucial part of the software development lifecycle. Regression testing is a form of testing in which all of the old test cases written to cover different parts of a program are combined into a single test suite and executed. This form of testing helps to reveal regressions, or instances in which code that had formerly functioned correctly is broken by later changes to the system. For real-world applications, however, regression test suites can take days or even weeks to execute. One solution to this problem of execution time overhead is to reduce the suite, removing test cases that are redundant or unlikely to detect faults. This approach, however, can compromise the ability of a suite to detect faults. Another approach to this problem is test suite prioritization. Prioritization does not reduce the total execution time of a test suite, but instead reorders the test suite so that faults are more likely to be detected early in the execution of the test suite. This allows engineers to discover faults sooner and begin work to correct them earlier than would otherwise be possible, without sacrificing fault detection ability of the test suite.
This system implements a number of different selection, crossover, mutation, and fitness transformation operators, and is designed so that new or preexisting operators matching a standard interface can be easily interchanged. This system relies on the coverage effectiveness metric as its fitness function, although any fitness function that conforms to the fitness interface could be used as well. In order to prioritize a test suite, this system requires that coverage and execution time data of a suite's test cases known beforehand and provided in a standard plaintext format. This system is accompanied by coverage data for a number of case study applications, a set of bash scripts for executing prioritization experiments upon those case study applications in a UNIX environment, and a set of functions written using the R programming language for statistical analysis of the results of prioritization.