Skip to main content

Research Issues in the Automated Testing of Ajax Applications

  • Conference paper
SOFSEM 2010: Theory and Practice of Computer Science (SOFSEM 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5901))

Abstract

There is a growing trend to move desktop applications towards the web. This move is made possible through advances in web technologies collectively known as Asynchronous JavaScript and XML (ajax). With ajax, the classical model of browsing a series of pages is replaced by a JavaScript engine (running in the browser) taking control of user interaction, exchanging information updates with the web server instead of requesting the complete next page. The benefits of this move include no installation costs, automated upgrading for all users, increased interactivity, reduced user-perceived latency, and universal access, to name a few. ajax, however, comes at a price: the asynchronous, stateful nature and the use of Javascript make ajax applications particularly error-prone, causing serious dependability threats. In this paper, we evaluate to what extent automated testing can be used to address these ajax dependability problems. Based on an analysis of the current challenges in testing ajax, we formulate directions for future research.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: On the Accuracy of Spectrum-Based Fault Localization. In: TAICPART-MUTATION 2007: Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION, Washington, DC, USA, pp. 89–98. IEEE Computer Society, Los Alamitos (2007)

    Chapter  Google Scholar 

  2. Andrews, A., Offutt, J., Alexander, R.: Testing Web Applications by Modeling with FSMs. Software and Systems Modeling 4(3), 326–345 (2005)

    Article  Google Scholar 

  3. Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Trans. on Dependable and Secure Computing 1(1), 11–33 (2004)

    Article  Google Scholar 

  4. Beizer, B.: Software Testing Techniques, 2nd edn. Van Nostrand Reinhold Co. (1990)

    Google Scholar 

  5. Bertolino, A.: Software Testing Research: Achievements, Challenges, Dreams. In: ICSE Future of Software Engineering (FOSE 2007), pp. 85–103. IEEE Computer Society, Los Alamitos (2007)

    Chapter  Google Scholar 

  6. Bezemer, C.-P., Mesbah, A., van Deursen, A.: Automated Security Testing of Web Widget Interactions. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC-FSE 2009), pp. 81–91. ACM, New York (2009)

    Chapter  Google Scholar 

  7. Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-Line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. Clarke, L.A., Rosenblum, D.S.: A Historical Perspective on Runtime Assertion Checking in Software Development. ACM SIGSOFT Software Engineering Notes 31(3), 25–37 (2006)

    Article  Google Scholar 

  9. Cohen, D.M., Dalal, S.R., Fredman, M.L., Patton, G.C.: The AETG System: An Approach to Testing Based on Combinatiorial Design. IEEE Trans. Software Eng. 23(7), 437–444 (1997)

    Article  Google Scholar 

  10. Di Lucca, G.A., Fasolino, A.R.: Testing Web-Based Applications: The State of the Art and Future Trends. Inf. Softw. Technol. 48(12), 1172–1186 (2006)

    Article  Google Scholar 

  11. Elbaum, S., Chilakamarri, K.-R., Gopal, B., Rothermel, G.: Helping End-Users ‘Engineer’ Dependable Web Applications. In: Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering (ISSRE 2005), pp. 31–40. IEEE Computer Society, Los Alamitos (2005)

    Chapter  Google Scholar 

  12. Elbaum, S., Karre, S., Rothermel, G.: Improving Web Application Testing with User Session Data. In: Proc. 25th Int. Conf. on Software Engineering (ICSE 2003), pp. 49–59. IEEE Computer Society, Los Alamitos (2003)

    Google Scholar 

  13. Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically Discovering Likely Program Invariants to Support Program Evolution. IEEE Trans. Softw. Eng. 27(2), 99–123 (2001)

    Article  Google Scholar 

  14. Fielding, R.: Architectural Styles and the Design of Network-Based Software Architectures. PhD Thesis. UC, Irvine, Information and Computer Science (2000)

    Google Scholar 

  15. Garrett, J.: Ajax: A New Approach to Web Applications. Adaptive path (February 2005), http://www.adaptivepath.com/publications/essays/archives/000385.php

  16. Harrold, M.-J., Rothermel, G., Wu, R., Yi, L.: An Empirical Investigation of Program Spectra. In: PASTE 1998: Proceedings of the 1998 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pp. 83–90. ACM, New York (1998)

    Chapter  Google Scholar 

  17. Holzmann, G.: State Compression in SPIN: Recursive Indexing and Compression Training Runs. In: Proceedings of Third International SPIN Workshop (1997)

    Google Scholar 

  18. Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  19. IEEE. IEEE Std 610.12-1990: IEEE Standard Glossary of Software Engineering Terminology. IEEE (1990)

    Google Scholar 

  20. Kuhn, D.R., Wallace, D.R., Gallo, A.M.: Software Fault Interactions and Implications for Software Testing. IEEE Trans. Software Eng. 30(6), 418–421 (2004)

    Article  Google Scholar 

  21. Marchetto, A., Ricca, F., Tonella, P.: A Case Study-Based Comparison of Web Testing Techniques Applied to Ajax Web Applications. Int. Journal on Software Tools for Technology Transfer 10(6), 477–492 (2008)

    Article  Google Scholar 

  22. Marchetto, A., Tonella, P., Ricca, F.: State-Based Testing of Ajax Web Applications. In: Proc. 1st IEEE Int. Conference on Sw. Testing Verification and Validation (ICST 2008), pp. 121–130. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  23. McKenzie, P.: Why I’m Done Making Desktop Applications. Blog Post on, http://www.kalzumeus.com/2009/09/05/desktop-aps-versus-web-apps/ (Date consulted: 15 September 2009)

  24. Merrill, C.L.: Using Ajax to Improve the Bandwidth Performance of Web Applications (2006), http://www.webperformanceinc.com/library/reports/AjaxBandwidth/

  25. Mesbah, A., Bozdag, E., van Deursen, A.: Crawling Ajax by Inferring User Interface State Changes. In: Proceedings of the 8th International Conference on Web Engineering (ICWE 2008), pp. 122–134. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  26. Mesbah, A., van Deursen, A.: A Component- and Push-Based Architectural Style for Ajax Applications. Journal of Systems and Software 81(12), 2194–2209 (2008)

    Article  Google Scholar 

  27. Mesbah, A., van Deursen, A.: Invariant-Based Automatic Testing of Ajax User Interfaces. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), Research Papers, pp. 210–220. IEEE Computer Society, Los Alamitos (2009)

    Google Scholar 

  28. Morell, L.: Theoretical Insights into Fault-Based Testing. In: Proc. 2nd Workshop on Software Testing, Verification, and Analysis, pp. 45–62 (1988)

    Google Scholar 

  29. Offutt, J.: Quality Attributes of Web Software Applications. IEEE Softw. 19(2), 25–32 (2002)

    Article  Google Scholar 

  30. Ostrand, T.J., Balcer, M.J.: The Category-Partition Method for Specifying and Generating Functional Tests. Commun. ACM 31(6), 676–686 (1988)

    Article  Google Scholar 

  31. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  32. Pezzè, M., Young, M.: Software Testing and Analysis. Wiley, Chichester (2008)

    Google Scholar 

  33. Ricca, F., Tonella, P.: Analysis and Testing of Web Applications. In: ICSE 2001: 23rd Int. Conf. on Sw. Eng., pp. 25–34. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  34. Richardson, D., Thompson, M.: The RELAY Model of Error Detection and Its Application. In: Proc. 2nd Workshop on Software Testing, Verification, and Analysis, pp. 223–230 (1988)

    Google Scholar 

  35. Smullen III, C.V., Smullen, S.A.: An Experimental Study of Ajax Application Performance. Journal of Software 3(3), 30–37 (2008)

    Article  Google Scholar 

  36. Sprenkle, S., Gibson, E., Sampath, S., Pollock, L.: Automated Replay and Failure Detection for Web Applications. In: ASE 2005: Proc. 20th IEEE/ACM Int. Conf. on Automated Sw. Eng., pp. 253–262. ACM, New York (2005)

    Chapter  Google Scholar 

  37. Tarhini, A., Ismail, Z., Mansour, N.: Regression Testing Web Applications. In: International Conference on Advanced Computer Theory and Engineering, pp. 902–906. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  38. White, A.: Measuring the Benefits of Ajax (2006), http://www.developer.com/java/other/article.php/3554271

  39. Willemsen, J.: Improving User Workflows with Single-Page User Interfaces (November 2006), http://www.uxmatters.com/MT/archives/000149.php

  40. Yin, R.K.: Case Study Research: Design and Methods, 3rd edn. SAGE Publications Inc., Thousand Oaks (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van Deursen, A., Mesbah, A. (2010). Research Issues in the Automated Testing of Ajax Applications. In: van Leeuwen, J., Muscholl, A., Peleg, D., Pokorný, J., Rumpe, B. (eds) SOFSEM 2010: Theory and Practice of Computer Science. SOFSEM 2010. Lecture Notes in Computer Science, vol 5901. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11266-9_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11266-9_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11265-2

  • Online ISBN: 978-3-642-11266-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics