Adapting automated test generation to GUI testing of industry applications

R. Ramler, G. Buchgeher, C. Klammer. Adapting automated test generation to GUI testing of industry applications. Information and Software Technology, volume 93, pages 248-263, DOI 10.1016/j.infsof.2017.07.005, 1, 2018.

Autoren
  • Rudolf Ramler
  • Georg Buchgeher
  • Claus Klammer
TypArtikel
JournalInformation and Software Technology
Band93
DOI10.1016/j.infsof.2017.07.005
Monat1
Jahr2018
Seiten248-263
Abstract

Context: Automated test generation promises to improve the effectiveness of software testing and to re- duce the involved manual effort. While automated test generation has been successfully applied for code- level API testing, it has not found widespread adoption in practice for testing of graphical user interfaces. Tools for test generation do not support GUI testing out-of-the-box but require dedicated extensions.

Objective: This paper explores the applicability of automated test generation for testing GUIs of industry applications. We propose a test adapter approach to bridge the gap between automated test generation tools and industry applications. Method: A multiple case study was conducted in which automated test generation with test adapters has been applied at the unit, integration, and system test level in three industry projects from two different companies.

Results: Automated test generation via test adapters could be applied at all test levels. It has led to an increase of coverage as well as the detection of new defects that were not found by preceding testing activities in the projects. While test adapters can easily be implemented at the unit test level, their com- plexity and the corresponding effort for providing adapter implementations rises at higher test levels.

Conclusion: Test adapters can be used for applying automated test generation for testing GUIs of industry applications. They bridge the gap between automated test generation tools and industry applications. The development of test adapters requires no tool-specific knowledge and can be performed by members of the development team.