Advertisement

A case study-based comparison of web testing techniques applied to AJAX web applications

  • Alessandro MarchettoEmail author
  • Filippo Ricca
  • Paolo Tonella
Special Section on WQVV 07

Abstract

Asynchronous Javascript And XML (AJAX) is a recent technology used to develop rich and dynamic Web applications. Different from traditional Web applications, AJAX applications consist of a single page whose elements are updated dynamically in response to callbacks activated asynchronously by the user or by a server message. On the one hand, AJAX improves the responsiveness and usability of a Web application, but on the other hand, it makes the testing phase more difficult. In this paper, our state-based testing technique, developed to test AJAX-based applications, is compared to existing Web testing techniques, such as white-box and black-box ones. To this aim, an experiment based on two case studies has been conducted to evaluate effectiveness and test effort involved in the compared Web testing techniques. In particular, the capability of each technique to reveal injected faults of different fault categories is analyzed in detail. The associated effort was also measured. The results show that state-based testing is complementary to the existing Web testing techniques and can reveal faults otherwise unnoticed or hard to reveal with the other techniques.

Keywords

Software testing State-based testing Web applications AJAX 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andrews, A., Offutt, J., Alexander, R.: Testing web applications by modeling with FSMs. Softw. Syst. Model. 4(3) (2005)Google Scholar
  2. 2.
    Ball T., Hoffman D., Ruskey F., Webber R., White L.: State generation and automated class testing. Softw. Test. Verif. Reliab. (STVR) 10(3), 149–170 (2000)CrossRefGoogle Scholar
  3. 3.
    Basili V.R., Selby R.W.: Comparing the effectiveness of software testing strategies. IEEE Trans. Softw. Eng. 13(12), 1278–1296 (1987)CrossRefGoogle Scholar
  4. 4.
    Bellettini, C., Marchetto, A., Trentini, A.: Testuml: User-metric driver web applications testing. In: ACM Symposium on Applied Computing (SAC), New Mexico, USA (2005)Google Scholar
  5. 5.
    Binder, R.: State-based testing. Object Magazine (1995)Google Scholar
  6. 6.
    Bogdanov K., Holcombe M.: Statechart testing method for aircraft control systems. Softw. Test. Verif. Reliab. (STVR) 11(1), 39–54 (2001)CrossRefGoogle Scholar
  7. 7.
    Di Lucca, G.A., Fasolino, A.R., Faralli, F., Carlini, U.D.: Testing Web applications. International Conference on Software Maintenance (ICSM), October (2002)Google Scholar
  8. 8.
    Document object model (dom). http://www.w3.org/DOM
  9. 9.
    Di Paola, S., Fedon, G.: Subverting ajax. 23rd Chaos Communication Congress (CCC) December (2006)Google Scholar
  10. 10.
    Elbaum, S., Karre, S., Rothermel, G.: Improving Web application testing with user session data. International Conference on Software Engineering (ICSE), pp. 49–59, May (2003)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Eldh, S., Hansson, H., Punnekka, S., Pettersson, A., Sundmark, D.: A framework for comparing efficiency, effectiveness and applicability of software testing techniques. Testing: Academic & Industrial Conference—Practice And Research Techniques (TAIC PART) (2006)Google Scholar
  13. 13.
    Heumann, J.: Generating test cases from use cases. Technical report, Rational Software, June (2001)Google Scholar
  14. 14.
    Hieatt E., Mee R., Faster G.: Testing the web application engineering internet. IEEE Softw. 19(2), 60–65 (2002)CrossRefGoogle Scholar
  15. 15.
    Larson, J.: Testing ajax applications with selenium. InfoQ magazine (2006)Google Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Lucca, G.A.D., Penta, M.D.: Considering browser interaction in web application testing. In: Proceedings of the International Workshop on Web Site Evolution (WSE), IEEE Computer Society, p. 74 (2003)Google Scholar
  18. 18.
    Marchetto, A., Tonella, P., Ricca, F.: Empirical validation of a web fault taxonomy and its usage for fault seeding. In: IEEE International Symposium on Web Site Evolution (WSE), Paris, France, October 2007. IEEE Computer Society (2007)Google Scholar
  19. 19.
    Marchetto, A., Tonella, P., Ricca, F.: Traditional testing techniques applied to ajax-based web applications. In: International Workshop on Web Quality, Validation and Verification (WQVV), Como, Italy, july (2007)Google Scholar
  20. 20.
    Marchetto, A., Tonella, P., Ricca, F.: State-based testing of ajax web applications. In: International Conference on Software Testing Verification and Validation (ICST), Lillehammer, Norway, April 2008. IEEE Computer Society (2008)Google Scholar
  21. 21.
    Mesbah, A., van Deursen, A.: Migrating multi-page web applications to single-page ajax interfaces. Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR) (2007)Google Scholar
  22. 22.
    Ricca, F., Tonella, P.: Analysis and testing of Web applications. In: Proceedings of ICSE 2001, International Conference on Software Engineering, Toronto, Ontario, Canada, May 12–19, pp. 25–34 (2001)Google Scholar
  23. 23.
    Tonella, P., Ricca, F.: A 2-layer model for the white-box testing of web applications. In: Kaner, C., (ed), Proc. of the 6th IEEE Int. Workshop on Web Site Evolution, pages 11–19, Chicago, Illinois, USA, September 2004. IEEE Computer Society (2004)Google Scholar
  24. 24.
    Turner, C.D., Robson, D.J.: The state-based testing of object-oriented programs. IEEE Conference on Software Maintenance (ICSM) September (1993)Google Scholar
  25. 25.
    Wohlin C., Runeson P., Höst M., Ohlsson M., Regnell B., Wesslén A.: Experimentation in Software Engineering - An Introduction. Kluwer, Dordrecht (2000)zbMATHGoogle Scholar
  26. 26.
    Woychowsky, E.: AJAX: Creating Web Pages with Asynchronous JavaScript and XML. Bruce Perens’ Open Source Series (2006)Google Scholar
  27. 27.
    Zammetti, F.: Practical Ajax Projects with Java Technology. ApressCorporate (2006)Google Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • Alessandro Marchetto
    • 1
    Email author
  • Filippo Ricca
    • 2
  • Paolo Tonella
    • 1
  1. 1.Fondazione Bruno Kessler, IRSTPovoItaly
  2. 2.Laboratorio Iniziativa Software FINMECCANICA/ELSAG spa - CINIUnità CINI at DISIGenoaItaly

Personalised recommendations