A Methodology and Framework for Automatic Layout Independent GUI Testing of Applications Developed in Magic xpa
Testing an application via its Graphical User Interface (GUI) requires lots of manual work, even if some steps of GUI testing can be automated. Test automation tools are great help for testers, particularly for regression testing. However these tools still lack some important features and still require manual work to maintain the test cases. For instance, if the layout of a window is changed without affecting the main functionality of the application, all test cases testing the window must be re-recorded again. This hard maintenance work is one of the greatest problems with the regression tests of GUI applications.
In our paper we propose an approach to use the GUI information stored in the source code during automatic testing processes to create layout independent test scripts. The idea was motivated by testing an application developed in a fourth generation language, Magic. In this language the layout of the GUI elements (e.g. position and size of controls) are stored in the code and can be gathered via static code analysis. We implemented the presented approach for Magic xpa in a tool called Magic Test Automation, which is used by our industrial partner who has developed applications in Magic for more than a decade.
KeywordsGraphical User Interface Test Automation Python Script User Event Test Script
Unable to display preview. Download preview PDF.
- 2.Buwalda, H.: Automated testing with action words, abandoning record and playback. In: Proceedings of the EuroStar Conference (1996)Google Scholar
- 3.Buwalda, H., Kasdorp, M.: Getting automated testing under control, software testing and quality engineering. STQE Magazine, Division of Software Quality Engineering (November/December 1999)Google Scholar
- 5.Dustin, E., Garrett, T., Gauf, B.: Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality, 1st edn. Addison-Wesley Professional (2009)Google Scholar
- 6.Dustin, E., Rashka, J., Paul, J.: Automated software testing: introduction, management, and performance. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)Google Scholar
- 7.Fewster, M., Graham, D.: Software test automation: effective use of test execution tools. ACM Press/Addison-Wesley Publishing Co. (1999)Google Scholar
- 8.Ganov, S.R., Killmar, C., Khurshid, S., Perry, D.E.: Test generation for graphical user interfaces based on symbolic execution. In: Proceedings of the 3rd International Workshop on Automation of Software Test, AST 2008, pp. 33–40. ACM, New York (2008)Google Scholar
- 9.Hinz, J., Gijsen, M.: Fifth generation scriptless and advanced test automation technologies (2009)Google Scholar
- 10.Kaner, C.: Architectures of test automation (2000)Google Scholar
- 11.Kit, E.: Integrated effective test design and automation software development. Software Development Online (February 1999)Google Scholar
- 12.Li, K., Wu, M.: Effective GUI Test Automation. SYBEX Inc., Alameda (2005)Google Scholar
- 13.Lu, Y., Yan, D., Nie, S., Wang, C.: Development of an improved GUI automation test system based on event-flow graph. In: Proceedings of the 2008 International Conference on Computer Science and Software Engineering, vol. 02, pp. 712–715. IEEE Computer Society (2008)Google Scholar
- 15.Nagy, C., Vidács, L., Rudolf, F., Gyimóthy, T., Kocsis, F., Kovács, I.: Solutions for reverse engineering 4GL applications, recovering the design of a logistical wholesale system. In: 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 343–346 (March 2011)Google Scholar
- 16.Peleska, J., Löding, H., Kotas, T.: Test automation meets static analysis. In: GI Jahrestagung (2). LNI, vol. 110, pp. 280–290. GI (2007)Google Scholar
- 17.Posey, B.: Just Enough Software Test Automation. Prentice Hall PTR (2002)Google Scholar
- 18.Sommerville, I.: Software testing. In: Software Engineering, 9th edn. Addison-Wesley (2010)Google Scholar
- 19.Strang, R.: Data driven testing for client/server applications. In: Proceedings of the Fifth International Conference on Software Testing, Analysis and Reliability (STAR 1996), pp. 395–400 (1996)Google Scholar