A cookbook for using the model-view controller user interface paradigm in Smalltalk-80
Journal of Object-Oriented Programming
ACM Transactions on Computer-Human Interaction (TOCHI)
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
UIML: an appliance-independent XML user interface language
WWW '99 Proceedings of the eighth international conference on World Wide Web
The Role of Refactorings in API Evolution
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Static Analysis of Programs with Graphical User Interface
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
View-based maintenance of graphical user interfaces
Proceedings of the 7th international conference on Aspect-oriented software development
Automated upgrading of component-based applications
Automated upgrading of component-based applications
Automatically repairing event sequence-based GUI test suites for regression testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Inferring Types of References to GUI Objects in Test Scripts
ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
Maintaining and evolving GUI-directed test scripts
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Repairing GUI Test Suites Using a Genetic Algorithm
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
Finding errors in multithreaded GUI applications
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Automatically repairing broken workflows for evolving GUI applications
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Graphical user interface (GUI) testing: Systematic mapping and repository
Information and Software Technology
Hi-index | 0.00 |
To improve the overall user experience, graphical user interfaces (GUIs) of successful software systems evolve continuously. While the evolution is beneficial for end users, it creates several problems for developers and testers. Developers need to manually change the GUI code. Testers need to manually inspect and repair highly fragile test scripts. This is time-consuming and error-prone. The state-of-the-art tools for automatic GUI test repair use a black-box approach: they try to infer the changes between two GUI versions and then apply these changes to the test scripts. However, inferring these changes is challenging. We propose a white-box approach where the GUI changes are automated and knowledge about them is reused to repair the test cases appropriately. We use GUI refactorings as a means to encode the evolution of the GUIs. We envision a smart IDE that will record these refactorings precisely as they happen and will use them to change the GUI code and to repair test cases. We illustrate our approach through an example, discuss challenges that should be overcome to turn our vision into reality, and present a research agenda to address these challenges.