Abstract
This paper presents extensions to Spec Explorer to automate the testing of software applications through their GUIs based on a formal specification in Spec\(\sharp\). Spec Explorer, a tool developed at Microsoft Research, already supports automatic generation and execution of test cases for API testing, but requires that the actions described in the model are bound to methods in a .Net assembly. The tool described in this paper extends Spec Explorer to automate GUI testing: it adds the capability to gather information about the physical GUI objects that are the target of the user actions described in the model; and it automatically generates a .Net assembly with methods that simulate those actions upon the GUI application under test. The GUI modelling and the overall test process supported by these tools are described. The approach is illustrated with the Notepad application.
Keywords
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Belli, F.: Finite State Testing and Analysis of Graphical User Interfaces. In: ISSRE 2001 - The 12th International Symposium on SW Reliability Engineering, Hong Kong (2001)
Campbell, C., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., Veanes, M.: Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer, Microsoft Research MSR-TR-2005-59 (May 2005)
Barnett, M., Leino, K.R.M., Schulte, W.: The Spec\(\sharp\) Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)
Paiva, A.C.R., Tillmann, N., Faria, J.C.P., Vidal, R.F.A.M.: Modeling and Testing Hierarchical GUIs. In: ASM 2005 - 12th International Workshop on Abstract State Machines, Paris, France (2005)
Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Börger, E. (ed.) Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)
Grieskamp, W., Gurevich, Y., Schulte, W., Veanes, M.: Generating Finite State Machines from Abstract State Machines. In: ISSTA 2002, International Symposium on SW Testing and Analysis (2002)
Memon, A.M., Soffa, M.L., Pollack, M.E.: Coverage Criteria for GUI Testing. In: 8th European SW Engineering Conference (ESEC) and 9th ACM SIGSOFT International Symposium on the Foundations of SW Engineering, FSE-9 (2001)
Shehady, R.K., Siewiorek, D.P.: A Method to Automate User Interface Testing Using Variable Finite State Machines. In: 27th International Symposium on Fault-Tolerant Computing (1997)
Fujiwara, S., Bochmann, G.v., Khendek, F., Amalou, M., Ghedamsi, A.: Test selection based on finite state models. IEEE Transactions on SW Engineering 17, 591–603 (1991)
Memon, A.M., Pollack, M.E., Soffa, M.L.: Hierarchical GUI Test Case Generation Using Automated Planning. IEEE Transactions on SW Engineering 27 (2001)
Memon, A., Banerjee, I., Nagarajan, A.: GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing. In: WCRE 2003 - The 10th Working Conference on Reverse Engineering, Victoria, British Columbia, Canada (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Paiva, A.C.R., Faria, J.C.P., Tillmann, N., Vidal, R.A.M. (2005). A Model-to-Implementation Mapping Tool for Automated Model-Based GUI Testing. In: Lau, KK., Banach, R. (eds) Formal Methods and Software Engineering. ICFEM 2005. Lecture Notes in Computer Science, vol 3785. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11576280_31
Download citation
DOI: https://doi.org/10.1007/11576280_31
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29797-0
Online ISBN: 978-3-540-32250-4
eBook Packages: Computer ScienceComputer Science (R0)