Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Interprocedual data flow testing
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Incremental global reoptimization of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrated data capture and analysis tools for research and testing on graphical user interfaces
CHI '92 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Incremental testing of object-oriented class structures
ICSE '92 Proceedings of the 14th international conference on Software engineering
A methodology for controlling the size of a test suite
ACM Transactions on Software Engineering and Methodology (TOSEM)
Screen Reader/2—programmed access to the GUI
ICCHP '94 Proceedings of the 4th international conference on Computers for handicapped persons
ACM Transactions on Computer-Human Interaction (TOCHI)
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
On regression testing of object-oriented programs
Journal of Systems and Software
Toward automatic generation of novice user test scripts
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A safe, efficient regression test selection technique
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using Coverage Information to Predict the Cost-Effectiveness of Regression Testing Strategies
IEEE Transactions on Software Engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
A visual test development environment for GUI systems
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Regression testing in an industrial environment
Communications of the ACM
Empirical Studies of a Safe Regression Test Selection Technique
IEEE Transactions on Software Engineering
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Automated test oracles for GUIs
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hierarchical GUI Test Case Generation Using Automated Planning
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Coverage criteria for GUI testing
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
GUI Testing: Pitfalls and Process
Computer
How Assertions Can Increase Test Effectiveness
IEEE Software
Regression Testing of GUI Event Interactions
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Incremental Regression Testing
ICSM '93 Proceedings of the Conference on Software Maintenance
A Safe, Efficient Algorithm for Regression Test Selection
ICSM '93 Proceedings of the Conference on Software Maintenance
A Method to Automate User Interface Testing Using Variable Finite State Machines
FTCS '97 Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)
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
Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Integrating the MVC Paradigm into an Object-Oriented Framework to Accelerate GUI Application Development
A comprehensive framework for testing graphical user interfaces
A comprehensive framework for testing graphical user interfaces
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Firewall Regression Testing of GUI Sequences and their Interactions
ICSM '03 Proceedings of the International Conference on Software Maintenance
GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Automating regression testing for evolving GUI software: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - 2003 International Conference on Software Maintenance: The Architectural Evolution of Systems
Utilization of Extended Firewall for Object-Oriented Regression Testing
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Studying the Fault-Detection Effectiveness of GUI Test Cases for Rapidly Evolving Software
IEEE Transactions on Software Engineering
Model-Based Testing of Community-Driven Open-Source GUI Applications
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Designing and comparing automated test oracles for GUI-based software applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Using GUI Run-Time State as Feedback to Generate Test Cases
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Iterative execution-feedback model-directed GUI testing
Information and Software Technology
Test automation on mobile device
Proceedings of the 5th Workshop on Automation of Software Test
Automating performance testing of interactive Java applications
Proceedings of the 5th Workshop on Automation of Software Test
On test repair using symbolic execution
Proceedings of the 19th international symposium on Software testing and analysis
Automated GUI refactoring and test script repair
Proceedings of the First International Workshop on End-to-End Test Script Engineering
A distributed service oriented system for GUI map generation
Proceedings of the 12th International Conference on Computer Systems and Technologies
Automated GUI performance testing
Software Quality Control
Test-driven development for the web: increasing efficiency of web development
CHI '12 Extended Abstracts on Human Factors in Computing Systems
Regression testing minimization, selection and prioritization: a survey
Software Testing, Verification & Reliability
Search-based system testing: high coverage, no false alarms
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Understanding myths and realities of test-suite evolution
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Multi-objective test case prioritization for GUI applications
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Automatically repairing broken workflows for evolving GUI applications
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Efficient and change-resilient test automation: an industrial case study
Proceedings of the 2013 International Conference on Software Engineering
TestEvol: a tool for analyzing test-suite evolution
Proceedings of the 2013 International Conference on Software Engineering
Graphical user interface (GUI) testing: Systematic mapping and repository
Information and Software Technology
Is this a bug or an obsolete test?
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
GUI testing assisted by human knowledge: Random vs. functional
Journal of Systems and Software
Hi-index | 0.00 |
Although graphical user interfaces (GUIs) constitute a large part of the software being developed today and are typically created using rapid prototyping, there are no effective regression testing techniques for GUIs. The needs of GUI regression testing differ from those of traditional software. When the structure of a GUI is modified, test cases from the original GUI's suite are either reusable or unusable on the modified GUI. Because GUI test case generation is expensive, our goal is to make the unusable test cases usable, thereby helping to retain the suite's event coverage. The idea of reusing these unusable (obsolete) test cases has not been explored before. This article shows that a large number of test cases become unusable for GUIs. It presents a new GUI regression testing technique that first automatically determines the usable and unusable test cases from a test suite after a GUI modification, then determines the unusable test cases that can be repaired so that they can execute on the modified GUI, and finally uses repairing transformations to repair the test cases. This regression testing technique along with four repairing transformations has been implemented. An empirical study for four open-source applications demonstrates that (1) this approach is effective in that many of the test cases can be repaired, and is practical in terms of its time performance, (2) certain types of test cases are more prone to becoming unusable, and (3) certain types of “dominator” events, when modified, make a large number of test cases unusable.