Configuring effective navigation models and abstract test cases for web applications by analysing user behaviour

As web applications become more complex and are used more pervasively, testing demands are increasing without corresponding automated support. One promising approach to automatic test generation is statistical model‐based testing, where logged user behaviour is used to build a usage‐based model of web application navigation, from which abstract test cases are generated. Executable test cases are then created by adding parameter values to the abstract test cases. Several researchers have proposed variations of this approach; however, no one has empirically examined the tradeoffs and implications of the different ways to represent user behaviour in a navigation model and the characteristics of the test cases automatically generated from different models. This paper reports on our exploratory study of automatically generated abstract test cases and the underlying usage‐based navigation models constructed from over 19,000 user sessions across five publicly deployed web applications. Our results suggest how web testers can easily configure statistical model‐based automatic test case generators for web applications toward generating tests closely related to user behaviour or toward new navigations without using large additional test resources. Copyright © 2013 John Wiley & Sons, Ltd.

[1]  Mark Harman,et al.  Automated web application testing using search based software engineering , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[2]  James R. Cordy,et al.  Modelling methods for web application verification and testing: state of the art , 2009 .

[3]  Hiroshi Inamura,et al.  Dynamic test input generation for web applications , 2008, ISSTA '08.

[4]  Alessandro Orso,et al.  Improving test case generation for web applications using automated interface discovery , 2007, ESEC-FSE '07.

[5]  Mark Harman,et al.  Crawlability Metrics for Web Applications , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[6]  A. Jefferson Offutt,et al.  Bypass testing of Web applications , 2004, 15th International Symposium on Software Reliability Engineering.

[7]  Alessandro Orso,et al.  Using positive tainting and syntax-aware evaluation to counter SQL injection attacks , 2006, SIGSOFT '06/FSE-14.

[8]  David Chenho Kung,et al.  Structural testing of Web applications , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[9]  Emily Hill,et al.  Web Application Testing with Customized Test Requirements - An Experimental Comparison Study , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[10]  Jeff Tian,et al.  Measuring and Modeling Usage and Reliability for Statistical Web Testing , 2001, IEEE Trans. Software Eng..

[11]  Emily Hill,et al.  Applying Concept Analysis to User-Session-Based Testing of Web Applications , 2007, IEEE Transactions on Software Engineering.

[12]  Wenhua Wang,et al.  A combinatorial approach to building navigation graphs for dynamic web applications , 2009, 2009 IEEE International Conference on Software Maintenance.

[13]  Giuseppe A. Di Lucca,et al.  Testing Web applications , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[14]  Paolo Tonella,et al.  Analysis and testing of Web applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[15]  Tevfik Bultan,et al.  Eliminating navigation errors in web applications via model checking and runtime enforcement of navigation state machines , 2010, ASE '10.

[16]  Curtis E. Dyreson,et al.  Scalability issues with using FSMWeb to test web applications , 2010, Inf. Softw. Technol..

[17]  Alessandro Orso,et al.  Automated identification of parameter mismatches in web applications , 2008, SIGSOFT '08/FSE-16.

[18]  Emily Hill,et al.  A case study of automatically creating test suites from web application field data , 2006, TAV-WEB '06.

[19]  Curtis E. Dyreson,et al.  Building test cases and oracles to automate the testing of web database applications , 2009, Inf. Softw. Technol..

[20]  Gregg Rothermel,et al.  Leveraging user-session data to support Web application testing , 2005, IEEE Transactions on Software Engineering.

[21]  Mark Harman,et al.  Automated Session Data Repair for Web Application Regression Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[22]  Lori L. Pollock,et al.  A Study of Usage-Based Navigation Models and Generated Abstract Test Cases for Web Applications , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[23]  Paolo Tonella,et al.  Statistical testing of Web applications , 2004, J. Softw. Maintenance Res. Pract..

[24]  Lloyd Greenwald,et al.  An exploration of statistical models for automated test case generation , 2005, WODA '05.

[25]  Rupak Majumdar,et al.  Dynamic test input generation for database applications , 2007, ISSTA '07.

[26]  Jens Grabowski,et al.  A Model for Usage-Based Testing of Event-Driven Software , 2011, 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement - Companion.

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

[28]  Jiong Wang,et al.  Testing web database applications , 2004, SOEN.

[29]  James R. Cordy,et al.  Modelling methods for web application verification and testing: state of the art , 2009, Softw. Test. Verification Reliab..

[30]  Frank Tip,et al.  Finding bugs in dynamic web applications , 2008, ISSTA '08.