Structuring GUI Acceptance Tests based on Usage Scenarios

Software testing plays an important role in the overall software development process. However, many areas of software testing are still unexplored, or contain gaps in their existing body of knowledge, such as the area of GUI acceptance and system testing. This thesis aims to bridge this gap with results from a multiple-case study with the goal of investigating the current state of GUI acceptance and system testing in industry. The study was performed with six software development companies, of different size and context, to acquire broad information and a general overview of industrial state-of-practice. From the acquired information, the PASTA framework on how to approach GUI acceptance and system testing has been derived. The framework contains guidelines for two approaches to GUI acceptance and system testing. Firstly, an organised-level testing approach and secondly a base-level testing approach. Furthermore, these guidelines represent a holistic approach to this type of testing, with practices for test suite design, test scenario elicitation, test automation, and test maintenance. Finally, the thesis presents how these practices were evaluated with the participating companies. Results of the thesis show that the framework can increase the benefits of GUI acceptance and system testing. Consequently, the results of this work help to bridge the current gap in knowledge and constitute a valuable contribution to industry.

[1]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[2]  Atif M. Memon,et al.  Automated gui testing guided by usage profiles , 2007, ASE.

[3]  Hema Srikanth,et al.  Improving test efficiency through system test prioritization , 2012, J. Syst. Softw..

[4]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[5]  Monalisa Sarma,et al.  System testing for object-oriented systems with test case prioritization , 2009 .

[6]  Vicente Ferreira de Lucena,et al.  Software Test Automation practices in agile development environment: An industry experience report , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[7]  Ana C. R. Paiva,et al.  Towards the Integration of Visual and Formal Models for GUI Testing , 2007, MBT.

[8]  Geir Kjetil Hanssen,et al.  Automated Acceptance Testing: A Literature Review and an Industrial Case Study , 2008, Agile 2008 Conference.

[9]  Sarfraz Khurshid,et al.  Event Listener Analysis and Symbolic Execution for Testing GUI Applications , 2009, ICFEM.

[10]  Jerzy W. Rozenblit,et al.  Test scenario generation from a structured requirements specification , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[11]  James Noble,et al.  The impact of inadequate customer collaboration on self-organizing Agile teams , 2011, Inf. Softw. Technol..

[12]  Raymond A. Paul,et al.  Scenario-based object-oriented testing framework , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[13]  R. Owen Rogers Acceptance Testing vs. Unit Testing: A Developer's Perspective , 2004, XP/Agile Universe.

[14]  James Miller,et al.  A practical approach to testing GUI systems , 2006, Empirical Software Engineering.

[15]  Matthias Jarke,et al.  Scenario Management: An Interdisciplinary Approach , 1998, Requirements Engineering.

[17]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[18]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[19]  A. Memon Using Tasks to Automate Regression Testing of GUIs , .

[20]  Tiffany Barnes,et al.  An integrated scenario management strategy , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[21]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[22]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[23]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[24]  Bin Mu,et al.  Design and Implementation of GUI Automated Testing Framework Based on XML , 2009, 2009 WRI World Congress on Software Engineering.

[25]  Xiaofeng Wang,et al.  A Study of the Characteristics of Behaviour Driven Development , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[26]  Johannes RyserÊÊÊÊÊÊÊÊÊÊÊÊÊÊMartin Glinz,et al.  A Scenario-Based Approach to Validating and Testing Software Systems Using Statecharts , 1999 .

[27]  Cem Kaner,et al.  Learning Styles and Exploratory Testing , 2003 .

[28]  David B. Martin,et al.  'Good' Organisational Reasons for 'Bad' Software Testing: An Ethnographic Study of Testing in a Small Software Company , 2007, 29th International Conference on Software Engineering (ICSE'07).

[29]  Clémentine Nebut,et al.  Requirements by contracts allow automated system testing , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[30]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

[31]  Volker Gruhn,et al.  Generating Test Plans for Acceptance Tests from UML Activity Diagrams , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.

[32]  Robert Feldt,et al.  Automated System Testing Using Visual GUI Testing Tools: A Comparative Study in Industry , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[33]  Walter F. Tichy,et al.  Status of Empirical Research in Software Engineering , 2006, Empirical Software Engineering Issues.

[34]  Lee J. White,et al.  Generating test cases for GUI responsibilities using complete interaction sequences , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[35]  Atif M. Memon GUI Testing: Pitfalls and Process , 2002, Computer.

[36]  Stefan Berner,et al.  Observations and lessons learned from automated testing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[37]  Clémentine Nebut,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[38]  Eda Marchetti,et al.  Scenario-Based Testing Applied in Two Real Contexts: Healthcare and Employability , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[39]  Rick Mugridge,et al.  Fit for Developing Software: Framework for Integrated Tests (Robert C. Martin) , 2005 .

[40]  Andreas Becks,et al.  Automatically structuring textual requirement scenarios , 1999, 14th IEEE International Conference on Automated Software Engineering.

[41]  Grigori Melnik,et al.  Empirical analyses of executable acceptance test driven development , 2007 .

[42]  Charles Lowell,et al.  Successful Automation of GUI Driven Acceptance Testing , 2003, XP.

[43]  Robert Feldt,et al.  Structuring Software Engineering Case Studies to Cover Multiple Perspectives , 2011, SEKE.

[44]  Daniel Amyot,et al.  UCM-Driven Testing of Web Applications , 2005, SDL Forum.

[45]  Mika V. Mäntylä,et al.  How do testers do it? An exploratory study on manual testing practices , 2009, ESEM 2009.

[46]  Xu Cheng,et al.  An approach for supporting system-level test scenarios generation from textual use cases , 2008, SAC '08.

[47]  Ana C. R. Paiva,et al.  Reverse engineering of GUI models for testing , 2010, 5th Iberian Conference on Information Systems and Technologies.

[48]  Atif M. Memon,et al.  Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software , 2005, IEEE Transactions on Software Engineering.

[49]  Rob Miller,et al.  GUI testing using computer vision , 2010, CHI.

[50]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[51]  Atif M. Memon,et al.  Studying the Characteristics of a "Good" GUI Test Suite , 2006, 2006 17th International Symposium on Software Reliability Engineering.