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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Andrews, A., Offutt, J., Alexander, R.: Testing Web Applications by Modeling with FSMs. Software and Systems Modeling 4(3), 326–345 (2005)
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)
Beizer, B.: Software Testing Techniques, 2nd edn. Van Nostrand Reinhold Co. (1990)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Fielding, R.: Architectural Styles and the Design of Network-Based Software Architectures. PhD Thesis. UC, Irvine, Information and Computer Science (2000)
Garrett, J.: Ajax: A New Approach to Web Applications. Adaptive path (February 2005), http://www.adaptivepath.com/publications/essays/archives/000385.php
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)
Holzmann, G.: State Compression in SPIN: Recursive Indexing and Compression Training Runs. In: Proceedings of Third International SPIN Workshop (1997)
Holzmann, G.J.: The Model Checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)
IEEE. IEEE Std 610.12-1990: IEEE Standard Glossary of Software Engineering Terminology. IEEE (1990)
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)
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)
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)
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)
Merrill, C.L.: Using Ajax to Improve the Bandwidth Performance of Web Applications (2006), http://www.webperformanceinc.com/library/reports/AjaxBandwidth/
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)
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)
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)
Morell, L.: Theoretical Insights into Fault-Based Testing. In: Proc. 2nd Workshop on Software Testing, Verification, and Analysis, pp. 45–62 (1988)
Offutt, J.: Quality Attributes of Web Software Applications. IEEE Softw. 19(2), 25–32 (2002)
Ostrand, T.J., Balcer, M.J.: The Category-Partition Method for Specifying and Generating Functional Tests. Commun. ACM 31(6), 676–686 (1988)
Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)
Pezzè, M., Young, M.: Software Testing and Analysis. Wiley, Chichester (2008)
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)
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)
Smullen III, C.V., Smullen, S.A.: An Experimental Study of Ajax Application Performance. Journal of Software 3(3), 30–37 (2008)
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)
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)
White, A.: Measuring the Benefits of Ajax (2006), http://www.developer.com/java/other/article.php/3554271
Willemsen, J.: Improving User Workflows with Single-Page User Interfaces (November 2006), http://www.uxmatters.com/MT/archives/000149.php
Yin, R.K.: Case Study Research: Design and Methods, 3rd edn. SAGE Publications Inc., Thousand Oaks (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)