Maintaining Multi-Tier Web Applications

Large-scale multi-tier web applications are inherently dynamic, complex, heterogeneous and constantly evolving. Maintaining such applications is important yet inevitably expensive. First, the size of the test suite of an evolving system will be continuously growing. Second, to ensure that the changes will not affect the quality of the systems, regression testing is frequently performed. To effectively and efficiently maintain web applications after each change, obsolete test cases must be removed and regression testing should selectively re-test. To this end there is a need for an inter-tier change impact analysis, which requires a coherent model rendering inter-tier dependence information. We present a technique that makes use of an integrated inter-connection dependence model to analyze cross-tier change impacts. These are then used to select affected test cases for regression testing and to identify repairable test cases for reuse, or to discard obsolete non-repairable test cases. Our empirical study shows that with this technique, the maintenance cost of the target system can be significantly reduced.

[1]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[2]  Mary Jean Harrold,et al.  Slicing object-oriented software , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[3]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

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

[5]  RothermelGregg,et al.  Empirical Studies of a Safe Regression Test Selection Technique , 1998 .

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

[7]  Donglin Liang,et al.  Slicing objects using system dependence graphs , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

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

[9]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[10]  Dai Pan,et al.  Slicing component-based systems , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[11]  Mary Lou Soffa,et al.  Regression testing of GUIs , 2003, ESEC/FSE-11.

[12]  Gregg Rothermel,et al.  Regression test selection for C++ software , 2000 .

[13]  Mei-Hwa Chen,et al.  Modeling multi-tier web applications for testing and maintenance , 2006 .

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

[15]  Marion Kee,et al.  Analysis , 2004, Machine Translation.

[16]  Suzanne M. Embury,et al.  A safe regression test selection technique for database-driven applications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[17]  Ye Wu,et al.  Techniques of maintaining evolving component-based software , 2000, Proceedings 2000 International Conference on Software Maintenance.

[18]  Li Li,et al.  Algorithmic analysis of the impact of changes to object-oriented software , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[19]  Paolo Tonella,et al.  Construction of the system dependence graph for Web application slicing , 2002, Proceedings. Second IEEE International Workshop on Source Code Analysis and Manipulation.

[20]  Ye Wu,et al.  Regression testing on object-oriented programs , 1996, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[21]  Gregg Rothermel,et al.  A safe, efficient regression test selection technique , 1997, TSEM.

[22]  Mary Lou Soffa,et al.  A methodology for controlling the size of a test suite , 1993, TSEM.

[23]  Susan Horwitz,et al.  Slicing java programs that throw and catch exceptions , 2003, PPoPP 2003.

[24]  Lee J. White Regression testing of GUI event interactions , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[25]  Mary Lou Soffa,et al.  Program Slicing‐Based Regression Testing Techniques , 1996 .