An optimized change-driven regression testing selection strategy for binary Java applications
Abstract
Selective regression testing involves re-testing of software systems with a subset of the whole test suite to verify that modifications have not caused adverse impacts to existing functions complied with the requirements specifications. With the growing of globalization and individual testing services providers, many testing and development teams belong to different organizations, and often the testing teams only get a binary release of the application without access to its source code. This makes source code analysis based regression test selection strategy not applicable. Meanwhile source code analysis based approach has scalability problem for large applications, which hinders its wide application in industry. This paper presents an optimized regression testing selection strategy based on binary java file change analysis, through which the problems around binary java applications are avoided. Besides static regression test suite reduction and test prioritization factors, continuous and real time testing execution information are incorporated as fault-proneness indicator of the selected test cases to dynamically select and prioritize the regression test suites. In addition, the whole strategy is lightweight, making the regression test selection process more automated and effective. Experiments show that this strategy can guarantee the change point coverage, reveal faults quickly, and scale to industry-size regression testing scenarios under resource and time constraints. Copyright 2009 ACM.