A Methodology and Framework for Automatic Layout Independent GUI Testing of Applications Developed in Magic xpa

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7972)


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.


Graphical User Interface Test Automation Python Script User Event Test Script 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bauersfeld, S., Vos, T.E.J.: Guitest: a java library for fully automated gui robustness testing. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pp. 330–333. ACM, New York (2012)CrossRefGoogle Scholar
  2. 2.
    Buwalda, H.: Automated testing with action words, abandoning record and playback. In: Proceedings of the EuroStar Conference (1996)Google Scholar
  3. 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
  4. 4.
    Dranidis, D., Masticola, S.P., Strooper, P.: Challenges in practice: 4th international workshop on the automation of software test report. SIGSOFT Softw. Eng. Notes 34(4), 32–34 (2009)CrossRefGoogle Scholar
  5. 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. 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. 7.
    Fewster, M., Graham, D.: Software test automation: effective use of test execution tools. ACM Press/Addison-Wesley Publishing Co. (1999)Google Scholar
  8. 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. 9.
    Hinz, J., Gijsen, M.: Fifth generation scriptless and advanced test automation technologies (2009)Google Scholar
  10. 10.
    Kaner, C.: Architectures of test automation (2000)Google Scholar
  11. 11.
    Kit, E.: Integrated effective test design and automation software development. Software Development Online (February 1999)Google Scholar
  12. 12.
    Li, K., Wu, M.: Effective GUI Test Automation. SYBEX Inc., Alameda (2005)Google Scholar
  13. 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
  14. 14.
    Memon, A.M., Pollack, M.E., Soffa, M.L.: Hierarchical GUI test case generation using automated planning. IEEE Transactions on Software Engineering 27(2), 144–155 (2001)CrossRefGoogle Scholar
  15. 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. 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. 17.
    Posey, B.: Just Enough Software Test Automation. Prentice Hall PTR (2002)Google Scholar
  18. 18.
    Sommerville, I.: Software testing. In: Software Engineering, 9th edn. Addison-Wesley (2010)Google Scholar
  19. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Department of Software EngineeringUniversity of SzegedHungary

Personalised recommendations