Applying Concept Analysis to User-Session-Based Testing of Web Applications

The continuous use of the Web for daily operations by businesses, consumers, and the government has created a great demand for reliable Web applications. One promising approach to testing the functionality of Web applications leverages the user-session data collected by Web servers. User-session-based testing automatically generates test cases based on real user profiles. The key contribution of this paper is the application of concept analysis for clustering user sessions and a set of heuristics for test case selection. Existing incremental concept analysis algorithms are exploited to avoid collecting and maintaining large user-session data sets and to thus provide scalability. We have completely automated the process from user session collection and test suite reduction through test case replay. Our incremental test suite update algorithm, coupled with our experimental study, indicates that concept analysis provides a promising means for incrementally updating reduced test suites in response to newly captured user sessions with little loss in fault detection capability and program coverage.

[1]  David Chenho Kung,et al.  Object-based data flow testing of web applications , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[2]  Sreedevi Sampath Towards defining and exploiting similarities in Web application use cases through user session analysis , 2004 .

[3]  Tsong Yueh Chen,et al.  Dividing Strategies for the Optimization of a Test Suite , 1996, Inf. Process. Lett..

[4]  Michael Benedikt,et al.  VeriWeb: Automatically Testing Dynamic Web Sites , 2002 .

[5]  Thomas Ball,et al.  The concept of dynamic analysis , 1999, ESEC/FSE-7.

[6]  David Chenho Kung,et al.  An object-oriented Web test model for testing Web applications , 2000, Proceedings 24th Annual International Computer Software and Applications Conference. COMPSAC2000.

[7]  Mary Jean Harrold,et al.  Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage , 2003, IEEE Trans. Software Eng..

[8]  Lori Pollock,et al.  Analyzing clusters of web application user sessions , 2005, WODA '05.

[9]  Gregg Rothermel,et al.  Improving web application testing with user session data , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[10]  Spiros Mancoridis,et al.  Search based reverse engineering , 2002, SEKE '02.

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

[12]  A. Jefferson Offutt,et al.  Generating test cases for web services using data perturbation , 2004, SOEN.

[13]  Neelam Gupta,et al.  A concept analysis inspired greedy algorithm for test suite minimization , 2005, PASTE '05.

[14]  Lori Pollock,et al.  Cost-effective techniques for user-session-based testing of web applications , 2006 .

[15]  Leon Moonen,et al.  Types and concept analysis for legacy systems , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[16]  George Mason,et al.  Procedures for Reducing the Size of Coverage-based Test Sets , 1995 .

[17]  Chung-Horng Lung,et al.  Software architecture recovery and restructuring through clustering techniques , 1998, ISAW '98.

[18]  Charles Yang,et al.  Estimation of software reliability by stratified sampling , 1999, TSEM.

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

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

[21]  Chen Fu,et al.  Testing of java web services for robustness , 2004, ISSTA '04.

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

[23]  T. A. Wiggerts,et al.  Using clustering algorithms in legacy systems remodularization , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[24]  Gregor Snelting,et al.  Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[25]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[26]  Paolo Tonella,et al.  Concept Analysis for Module Restructuring , 2001, IEEE Trans. Software Eng..

[27]  Gregor Snelting,et al.  On the inference of configuration structures from source code , 1994, Proceedings of 16th International Conference on Software Engineering.

[28]  Mehdi Jazayeri,et al.  Experiences in Engineering Flexible Web Services , 2001, IEEE Multim..

[29]  Lionel C. Briand,et al.  Is mutation an appropriate tool for testing experiments? , 2005, ICSE.

[30]  David Leon,et al.  Pursuing failure: the distribution of program failures in a profile space , 2001, ESEC/FSE-9.

[31]  Chen Fu,et al.  Robustness testing of Java server applications , 2005, IEEE Transactions on Software Engineering.

[32]  Lori L. Pollock,et al.  A scalable approach to user-session based testing of Web applications through concept analysis , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[33]  Atif M. Memon,et al.  Call stack coverage for test suite reduction , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[34]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[35]  OffuttJeff,et al.  Generating test cases for web services using data perturbation , 2004 .

[36]  Ivar Jacobson,et al.  The use-case construct in object-oriented software engineering , 1995 .

[37]  W. Masri,et al.  An empirical evaluation of test case filtering techniques based on exercising complex information flows , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[38]  David Leon,et al.  A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[39]  Emily Hill,et al.  Automated replay and failure detection for web applications , 2005, ASE '05.

[40]  Lori L. Pollock,et al.  Composing a framework to automate testing of operational Web-based software , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

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

[42]  Frank Tip,et al.  Reengineering class hierarchies using concept analysis , 1998, SIGSOFT '98/FSE-6.

[43]  Michael D. Ernst,et al.  Improving test suites via operational abstraction , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[44]  Thomas W. Reps,et al.  Identifying modules via concept analysis , 1997, 1997 Proceedings International Conference on Software Maintenance.

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

[46]  Rokia Missaoui,et al.  INCREMENTAL CONCEPT FORMATION ALGORITHMS BASED ON GALOIS (CONCEPT) LATTICES , 1995, Comput. Intell..

[47]  Emily Hill,et al.  An empirical comparison of test suite reduction techniques for user-session-based testing of Web applications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[48]  James R. Larus,et al.  Debugging temporal specifications with concept analysis , 2003, PLDI '03.

[49]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.

[50]  Neelam Gupta,et al.  Test suite reduction with selective redundancy , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).