Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Identifying the semantic and textual differences between two versions of a program
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Detecting data races on weak memory systems
ISCA '91 Proceedings of the 18th annual international symposium on Computer architecture
A methodology for controlling the size of a test suite
ACM Transactions on Software Engineering and Methodology (TOSEM)
Effect of test set minimization on fault detection effectiveness
Proceedings of the 17th international conference on Software engineering
Dividing strategies for the optimization of a test suite
Information Processing Letters
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage
IEEE Transactions on Software Engineering
Improving test suites via operational abstraction
Proceedings of the 25th International Conference on Software Engineering
An Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites
ICSM '98 Proceedings of the International Conference on Software Maintenance
Using Spanning Sets for Coverage Testing
IEEE Transactions on Software Engineering
Bi-Criteria Models for All-Uses Test Suite Reduction
Proceedings of the 26th International Conference on Software Engineering
A Scalable Approach to User-Session based Testing of Web Applications through Concept Analysis
Proceedings of the 19th IEEE international conference on Automated software engineering
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
A concept analysis inspired greedy algorithm for test suite minimization
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Call Stack Coverage for GUI Test-Suite Reduction
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Test minimization for human-computer interaction
Applied Intelligence
Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction
IEEE Transactions on Software Engineering
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
Randoop: feedback-directed random testing for Java
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
An empirical study of the effects of test-suite reduction on fault localization
Proceedings of the 30th international conference on Software engineering
State-Based Testing of Ajax Web Applications
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Crawling AJAX by Inferring User Interface State Changes
ICWE '08 Proceedings of the 2008 Eighth International Conference on Web Engineering
Invariant-based automatic testing of AJAX user interfaces
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
MINTS: A general framework and tool for supporting test-suite minimization
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Precise interface identification to improve testing and analysis of web applications
Proceedings of the eighteenth international symposium on Software testing and analysis
Redundancy based test-suite reduction
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Data races are evil with no exceptions: technical perspective
Communications of the ACM
Regression testing minimization, selection and prioritization: a survey
Software Testing, Verification & Reliability
On-demand test suite reduction
Proceedings of the 34th International Conference on Software Engineering
EXSYST: search-based GUI testing
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
As a test suite evolves, it can accumulate redundant tests. To address this problem, many test-suite reduction techniques, based on different measures of redundancy, have been developed. A more subtle problem, that can also cause test-suite bloat and that has not been addressed by existing research, is the accumulation of similar tests. Similar tests are not redundant by any measure; but, they contain many common actions that are executed repeatedly, which over a large test suite, can degrade execution time substantially. We present a test merging technique for GUI tests. Given a test suite, the technique identifies the tests that can be merged and creates a merged test, which covers all the application states that are exercised individually by the tests, but with the redundant common steps executed only once. The key novelty in the merging technique is that it compares the dynamic states induced by the tests to identify a semantically meaningful interleaving of steps from different tests. The technique not only improves the efficiency of test execution, but also ensures that there is no loss in the fault-revealing power of the original tests. In the empirical studies, conducted using four open-source web applications and one proprietary enterprise web application, in which over $3300$ test cases and 19600 test steps were analyzed, the technique reduced the number of test steps by 29% and the test-execution time by 39%.