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.
Similar content being viewed by others
References
Andrews, A., Offutt, J., Alexander, R.: Testing web applications by modeling with FSMs. Softw. Syst. Model. 4(3) (2005)
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)
Basili V.R., Selby R.W.: Comparing the effectiveness of software testing strategies. IEEE Trans. Softw. Eng. 13(12), 1278–1296 (1987)
Bellettini, C., Marchetto, A., Trentini, A.: Testuml: User-metric driver web applications testing. In: ACM Symposium on Applied Computing (SAC), New Mexico, USA (2005)
Binder, R.: State-based testing. Object Magazine (1995)
Bogdanov K., Holcombe M.: Statechart testing method for aircraft control systems. Softw. Test. Verif. Reliab. (STVR) 11(1), 39–54 (2001)
Di Lucca, G.A., Fasolino, A.R., Faralli, F., Carlini, U.D.: Testing Web applications. International Conference on Software Maintenance (ICSM), October (2002)
Document object model (dom). http://www.w3.org/DOM
Di Paola, S., Fedon, G.: Subverting ajax. 23rd Chaos Communication Congress (CCC) December (2006)
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)
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)
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)
Heumann, J.: Generating test cases from use cases. Technical report, Rational Software, June (2001)
Hieatt E., Mee R., Faster G.: Testing the web application engineering internet. IEEE Softw. 19(2), 60–65 (2002)
Larson, J.: Testing ajax applications with selenium. InfoQ magazine (2006)
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)
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)
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)
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)
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)
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)
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)
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)
Turner, C.D., Robson, D.J.: The state-based testing of object-oriented programs. IEEE Conference on Software Maintenance (ICSM) September (1993)
Wohlin C., Runeson P., Höst M., Ohlsson M., Regnell B., Wesslén A.: Experimentation in Software Engineering - An Introduction. Kluwer, Dordrecht (2000)
Woychowsky, E.: AJAX: Creating Web Pages with Asynchronous JavaScript and XML. Bruce Perens’ Open Source Series (2006)
Zammetti, F.: Practical Ajax Projects with Java Technology. ApressCorporate (2006)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Marchetto, A., Ricca, F. & Tonella, P. A case study-based comparison of web testing techniques applied to AJAX web applications. Int J Softw Tools Technol Transfer 10, 477–492 (2008). https://doi.org/10.1007/s10009-008-0086-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-008-0086-x