Skip to main content
Log in

Modeling presentation layers of web applications for testing

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Web software applications have become complex, sophisticated programs that are based on novel computing technologies. Their most essential characteristic is that they represent a different kind of software deployment—most of the software is never delivered to customers’ computers, but remains on servers, allowing customers to run the software across the web. Although powerful, this deployment model brings new challenges to developers and testers. Checking static HTML links is no longer sufficient; web applications must be evaluated as complex software products. This paper focuses on three aspects of web applications that are unique to this type of deployment: (1) an extremely loose form of coupling that features distributed integration, (2) the ability that users have to directly change the potential flow of execution, and (3) the dynamic creation of HTML forms. Taken together, these aspects allow the potential control flow to vary with each execution, thus the possible control flows cannot be determined statically, prohibiting several standard analysis techniques that are fundamental to many software engineering activities. This paper presents a new way to model web applications, based on software couplings that are new to web applications, dynamic flow of control, distributed integration, and partial dynamic web application development. This model is based on the notion of atomic sections, which allow analysis tools to build the analog of a control flow graph for web applications. The atomic section model has numerous applications in web applications; this paper applies the model to the problem of testing web applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alexander, R.T., Offutt, J.: Criteria for testing polymorphic relationships. In: Proceedings of the 11th International Symposium on Software Reliability Engineering, October 2000, pp. 15–23, San Jose, CA. IEEE Computer Society Press, Silver Spring (2000)

  2. Alshahwan, N., Harman, M.: Automated repair of session data to improve web application regression testing. In: 1st IEEE International Conference on Software Testing, Verification and Validation (ICST 2008 Industry Track), pp. 298–307, Lillehammer, Norway, April (2008)

  3. Alur D., Crupi J., Malks D.: Core J2EE Patterns: Best Practices and Design Strategies. Prentice-Hall, Sun Microsystems Press, Englewood Cliffs (2003)

    Google Scholar 

  4. Ammann P., Offutt J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008) ISBN 0-52188-038-1

    MATH  Google Scholar 

  5. Andrews A., Offutt J., Alexander R.: Testing web applications by modeling with FSMs. Softw. Syst. Model. 4(3), 326–345 (2005)

    Article  Google Scholar 

  6. Andrews, A., Offutt, J., Dyreson, C., Mallery, C.J., Jerath, K., Alexander, R.: Scalability issues with using FSMWeb to test web applications. Inf. Softw. Technol. (accepted) (2009)

  7. Benedikt, M., Freire, J., Godefroid, P.: VeriWeb: automatically testing dynamic web sites. In: Proceedings of 11th International World Wide Web Conference (WWW’2002)—Alternate Paper Tracks (WE-3 Web Testing and Maintenance), pp. 654–668, Honolulu, HI, May (2002)

  8. Blumenstyk, M.: Web application development—bridging the gap between QA and development. StickyMinds.com, 2006. http://www.stickyminds.com/s.asp?F=S3658_ART_2. Accessed November (2007)

  9. Ceri, S., Fraternali, P., Bongio, A.: Web modeling language (WebML): a modeling language for designing web sites. In: Ninth World Wide Web Conference, Amsterdam, Netherlands, May (2000)

  10. Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., Matera, M.: Designing Data-Intensive Web Applications. Morgan Kaufmann, Los Altos, December (2002). Information available online at: http://webml.elet.polimi.it/webml/

  11. Chen, M.-H., Kao, M.-H.: Testing object-oriented programs—an integrated approach. In: Proceedings of the 10th International Symposium on Software Reliability Engineering, pp. 73–83, Boca Raton, FL. IEEE Computer Society Press, Silver Spring, November (1999)

  12. Chow T.: Testing software designs modeled by finite-state machines. IEEE Trans. Softw. Eng. 4(3), 178–187 (1978)

    Article  Google Scholar 

  13. comscore, Inc. http://www.comscore.com. (2008)

  14. Di Lucca, G.A., Di Penta, M.: Considering browser interaction in web application testing. In: 5th International Workshop on Web Site Evolution (WSE 2003), pp. 74–84, Amsterdam, The Netherlands, September 2003. IEEE Computer Society Press, Silver Spring (2003)

  15. Elbaum S., Rothermel G., Karre S., Fisher M.: Leveraging user-session data to support web application testing. IEEE Trans. Softw. Eng. 31(3), 187–202 (2005)

    Article  Google Scholar 

  16. Frankl P.G., Weyuker E.J.: An applicable family of data flow testing criteria. IEEE Trans. Softw. Eng. 14(10), 1483–1498 (1988)

    Article  MathSciNet  Google Scholar 

  17. Fujiwara S., Bochman G., Khendek F., Amalou M., Ghedasmi A.: Test selection based on finite state models. IEEE Trans. Softw. Eng. 17(6), 591–603 (1991)

    Article  Google Scholar 

  18. Gold, R.: Httpunit home. online: SourceForge, 2003. http://httpunit.sourceforge.net/. Accessed June 2005.

  19. Halfond, W.G.J., Orso, A.: Improving test case generation for web applications using automated interface discovery. In: Proceedings of the Foundations of Software Engineering, pp. 145–154, Dubrovnik, Croatia (2007)

  20. Harrold, M.J., Rothermel, G.: Performing data flow testing on classes. In: Symposium on Foundations of Software Engineering, pp. 154–163, New Orleans, LA. ACM SIGSOFT, December (1994)

  21. Harrold M.J., Soffa M.L.: Selecting and using data for integration testing. IEEE Softw. 8(2), 58–65 (1991)

    Article  Google Scholar 

  22. Hatcher E., Loughran S.: Java Development with Ant. Manning Publications, Greenwich (2002)

    Google Scholar 

  23. Hower, R.: Web site test tools and site management tools. (2002) http://www.softwareqatest.com/qatweb1.html

  24. Jia, X., Liu, H.: Rigorous and automatic testing of web applications. In: 6th IASTED International Conference on Software Engineering and Applications (SEA 2002), pp. 280–285, Cambridge, MA, November (2002)

  25. Jin Z., Offutt J.: Coupling-based criteria for integration testing. Wiley’s Softw. Test. Verif. Reliab. 8(3), 133–154 (1998)

    Article  Google Scholar 

  26. Kung, D., Liu, C.H., Hsia, P.: An object-oriented web test model for testing web applications. In: 24th Annual International Computer Software and Applications Conference (COMPSAC2000), pp. 537–542, Taipei, Taiwan, October 2000. IEEE Computer Society Press, Silver Spring (2000)

  27. Lee, S.C., Offutt, J.: Generating test cases for XML-based web component interactions using mutation analysis. In: Proceedings of the 12th International Symposium on Software Reliability Engineering, pp. 200–209, Hong Kong, China, November 2000. IEEE Computer Society Press, Silver Spring (2001)

  28. Liu, C.H., Kung, D., Hsia, P., Hsu, C.T.: Structural testing of web applications. In: Proceedings of the 11th International Symposium on Software Reliability Engineering, pp. 84–96, San Jose CA, October 2000. IEEE Computer Society Press, Silver Spring (2000)

  29. Liu C.H., Kung D.C., Hsia P., Hsu C.T.: An object-based data flow testing approach for web applications. Int. J. Softw. Eng. Knowl. Eng. 11(2), 157–179 (2001)

    Article  Google Scholar 

  30. Marchetto, A., Tonella, P., Ricca, F.: State-based testing of ajax web applications. In: 1st IEEE International Conference on Software Testing, Verification and Validation (ICST 2008 Industry Track), pp. 121–130, Lillehammer, Norway, April (2008)

  31. Memon A.M., Soffa M.L., Pollack M.E.: Hierarchical GUI test case generation using automated planning. IEEE Trans. Softw. Eng. 27(2), 144–155 (2001)

    Article  Google Scholar 

  32. Offutt J.: Quality attributes of web software applications. IEEE Softw. Special Issue Softw. Eng. Internet Softw. 19(2), 25–32 (2002)

    Google Scholar 

  33. Offutt J., Liu S., Abdurazik A., Ammann P.: Generating test data from state-based specifications. Wiley’s Softw. Test. Verif. Reliab. 13(1), 25–53 (2003)

    Article  Google Scholar 

  34. Offutt, J., Wang, Q., Ordille, J.J.: An industrial case study of bypass testing on web applications. In: 1st IEEE International Conference on Software Testing, Verification and Validation (ICST 2008 Industry Track), pp. 465–474, Lillehammer, Norway, April (2008)

  35. Offutt, J., Wu, Y., Du, X., Huang, H.: Bypass testing of web applications. In: 15th International Symposium on Software Reliability Engineering, pp. 187–197, Saint-Malo, Bretagne, France, November 2004. IEEE Computer Society Press, Silver Spring (2004)

  36. Offutt, J., Xu, W.: Testing web services by XML perturbation. In: Proceedings of the 16th International Symposium on Software Reliability Engineering, Chicago, IL, November 2005. IEEE Computer Society Press, Silver Spring (2005)

  37. Parrish A., Zweben S.H.: Analysis and refinement of software test data adequacy properties. IEEE Trans. Softw. Eng. 17(6), 565–581 (1991)

    Article  Google Scholar 

  38. Pertet, S., Narasimhan, P.: Causes of failure in web applications. Technical report, Carnegie Mellon University Parallel Data Lab Technical Report CMU-PDL-05-109, December 2005. http://www.pdl.cmu.edu/Publications/

  39. Pimont, S., Rault, J.C.: A software reliability assessment based on a structural behavioral analysis of programs. In: Proceedings of the Second International Conference on Software Engineering, pp. 486–491, San Francisco, CA, October (1976)

  40. Ricca, F., Tonella, P.: Analysis and testing of web applications. In: 23rd International Conference on Software Engineering (ICSE ‘01), pp. 25–34, Toronto, CA, May (2001)

  41. Sampath, S., Bryce, R., Viswanath, G., Kandimalla, V., Koru, G.: Prioritizing user-session-based test cases for web application testing. In: 1st IEEE International Conference on Software Testing, Verification and Validation (ICST 2008 Industry Track), pp. 141–150, Lillehammer, Norway, April (2008)

  42. Sampath, S., Sprenkle, S., Gibson, E., Pollock, L.: Web application testing with customized test requirements—an experimental comparison study. In: 17th International Symposium on Software Reliability Engineering (ISSRE’06), pp. 266–278. IEEE Computer Society Press, Silver Spring, November (2006)

  43. Sampath S., Sprenkle S., Gibson E., Pollock L., Greenwald A.S.: Applying concept analysis to user-session-based testing of web applications. IEEE Trans. Softw. Eng. 33(10), 643–658 (2007)

    Article  Google Scholar 

  44. Singh, I., Stearns, B., Johnson, M., Enterprise Team.: Designing Enterprise Applications with the J2EE Platform, 2nd edn. Sun Microsystems (2002)

  45. Sprenkle, S., Pollock, L., Esquivel, H., Hazelwood, B., Ecott, S.: Automated oracle comparators for testing web applications. In: Proceedings of the 18th International Symposium on Software Reliability Engineering, pp. 253–262, Trollhatten, Sweden, November 2007. IEEE Computer Society Press, Silver Spring (2007)

  46. Tappenden, A., Beatty, P., Miller, J., Geras, A., Smith, M.: Agile security testing of web-based systems via HTTPUnit. In: Proceedings of the Agile Development Conference (ADC ’05), pp. 29–38, Denver, CO, July 2005. IEEE Computer Society (2005)

  47. Turner, C.D., Robson, D.J.: The state-based testing of object- oriented programs. In: Proceedings of the 1993 IEEE Conference on Software Maintenance (CSM-93), pp. 302–310, Montreal, Quebec, Canada, September 1993. IEEE Computer Society Press, Silver Spring (1993)

  48. Wu, Y., Offutt, J.: Modeling and testing web-based applications. Technical report ISE-TR-02-08, Department of Information and Software Engineering, George Mason University, Fairfax, VA, July 2002. http://www.cs.gmu.edu/~tr_admin/2002.html

  49. Yang, J.-T., Huang, J.-L., Wang, F.-J., Chu, W.C.: An object- oriented architecture supporting web application testing. In: Proceedings of the Twenty-Third Annual Computer Software and Applications Conference (COMPSAC ’00), Phoenix, Arizona, October 2000. IEEE Computer Society Press, Silver Spring (2000)

  50. Zhu H., Hall P.A.V., May J.H.R.: Software unit test coverage and adequacy. ACM Comput. Surv. 29(4), 366–427 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jeff Offutt.

Additional information

Communicated by Prof. James Bieman.

This work was sponsored in part by the National Science Foundation under grant number CCR-0097056 and CCR-0097056 (supplemental).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Offutt, J., Wu, Y. Modeling presentation layers of web applications for testing. Softw Syst Model 9, 257–280 (2010). https://doi.org/10.1007/s10270-009-0125-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-009-0125-4

Keywords

Navigation