AN EMPIRICAL VALIDATION OF A WEB FAULT TAXONOMY AND ITS USAGE FOR WEB TESTING

Authors

  • ALESSANDRO MARCHETTO Fondazione Bruno Kessler—IRST, Trento, Italy
  • FILIPPO RICCA Unit`a CINI at DISI Laboratorio Iniziativa Software FINMECCANICA/ELSAG spa - CINI, Universit`a di Genova, Italy
  • PAOLO TONELLA Fondazione Bruno Kessler—IRST, Trento, Italy

Keywords:

Web applications testing, Web Fault taxonomy and Empirical Validation

Abstract

Web testing is assuming an increasingly important role in Web engineering, as a result of the quality demands put onto modern Web-based systems and of the complexity of the involved technologies. Most of the existing works in Web testing are focused on the definition of novel testing techniques, while only limited effort was devoted to understanding the specific nature of Web faults. However, the performance of a new Web testing technique is strictly dependent on the classes of Web faults it addresses. In this paper, we describe the process followed in the construction of aWeb fault taxonomy. We used an iterative, mixed top-down and bottom-up approach. An initial taxonomy was defined by analyzing the high level characteristics of Web applications. Then the taxonomy was subjected to several iterations of empirical validation. During each iteration the taxonomy was refined by analyzing real faults and mapping them onto the appropriate categories. Metrics collected during this process were used to ensure that in the final taxonomy bugs distribute quite evenly among fault categories; fault categories are not-too-big, not-too-small and not ambiguous. Testers can use our taxonomy to define test cases that target specific classes of Web faults, while researchers can use it to build fault seeding tools, to inject artificial Web faults into benchmark applications. The final taxonomy is publicly available for consultation: since it is organized as aWiki page, it is also open to external contributions. We conducted a case study in which test cases have been derived from the taxonomy for a sample Web application. The case study indicates that the proposed taxonomy is very effective in directing the testing effort toward those test scenarios that have higher chances of revealing Web specific faults.

 

Downloads

Download data is not yet available.

References

Joakim Aidemark, Jonny Vinter, Peter Folkesson, and Johan Karlsson. Goofi: Generic object-oriented fault

injection tool. International Conference on Dependable Systems and Networks (DSN), July 2001.

A. Andrews, J. Offutt, and R. Alexander. Testing Web Applications by Modeling with FSMs. Software and

System Modeling, Vol 4, n. 3, July 2005.

Cyrille Artho, A. Biere, and S. Honiden. Enforcer-efficient failure injection. Formal Methods (FM), 2006.

Victor R. Basili and R. W. Selby. Comparing the effectiveness of software testing strategies. IEEE

Transactions on Software Engineering, 13(12):1278–1296, December 1987.

Boris Beizer. Software Testing Techniques. Van Nostrand Reinhold, New York, USA, 1990.

James M. Bieman, D. Dreilinger, and Lijun Lin. Using fault injection to increase software test coverage.

International Symposium on Software Reliability Engineering (ISSRE), October 1996.

Dragan Bojic and Dusan Velasevic. A method for reverse engineering of use case realisations in uml.

Australasian Journal of Information Systems, 8(2), 2001.

R. Chillarege, S. I. Bhandari, J. K. Chaar, M. J. Halliday, D. S. Moebus, K. Ray Bonnie, and MY. Wong.

Orthogonal defect classification - a concept for in-processmeasurement. Transaction of Software Engineering,

(11):943–957, 1992.

Giuseppe A. Di Lucca, Anna Rita Fasolino, Francesco Faralli, and Ugo De Carlini. TestingWeb applications.

International Conference on Software Maintenance (ICSM), October 2002.

Stacey Ecott, Sara Sprenkle, and Lori Pollock. Fault seeding vs. mutation operators: An empirical comparison

of testing techniques for web applications. In Grace Hopper Celebration of Women in Computing 2006,

October 2006.

S. Elbaum, S. Karre, and G. Rothermel. Improving Web application testing with user session data.

International Conference on Software Engineering (ICSE), pages 49–59, May 2003.

Sigrid Eldh, Hans Hansson, Sasikumar Punnekka, Anders Pettersson, and Daniel Sundmark. A framework

for comparing efficiency, effectiveness and applicability of software testing techniques. Testing: Academic &

Industrial Conference - Practice And Research Techniques (TAIC PART), 2006.

Norman E. Fenton and Niclas Ohlsson. Quantitative analysis of faults and failures in a complex software

system. IEEE Transactions on Software Engineering, 26(8):797–814, December 2000.

Mary Jean Harrold, A. Jefferson Offutt, and Kanupriya Tewary. An approach to fault modeling and fault

seeding using the program dependence graph. Journal of Systems and Software, March 1997.

Jane Huffman Hayes, Inies C. M. Raphael, Vinod Kumar Surisetty, and Anneliese Amschler Andrews.

Fault links: Exploring the relationship between module and fault types. European Dependable Computing

Conference (EDCC), April 2005.

Mats P. E. Heimdahl and Devaraj George. Test-suite reduction for model based testing: Effects on test quality

and implications for testing. IEEE international conference on Automated software engineering (ASE), 2004.

Kennet Henningsson and Claes Wohlin. Assuring fault classification agreement - an empirical evaluation.

In IEEE International Symposium on Empirical Software Engineering (ISESE), pages 95–104, USA, August

IEEE Computer Society.

Jim Heumann. Generating test cases from use cases. Technical report, Rational Software, June 2001.

IEEE. 1044-1993. standard classification for software anomalies. Transaction of Software Engineering, 1993.

Cem Kaner. An introduction to scenario testing. Technical report, Florida Tech, University, June 2003.

Srikanth Karre, Sebastian Elbaum, Gregg Rothermel, and Marc Fisher II. Leveraging user session data to

support web application testing. IEEE Transactions on Software Engineering, March 2005.

C-H Liu, D. C. Kung, P. Hsia, and C-T Hsu. An object-based data flow testing approach for web applications.

International Journal of Software Engineering and Knowledge Engineering, 11(2):157–179, April 2001.

Nik Looker, Malcolm Munro, and Jie Xu. Simulating errors in web services. Journal of Simulation: Systems,

Science & Technologny, 2005.

Daniel L. Lough. A Taxonomy of Computer Attacks with Applications to Wireless Network. PhD Thesis,

Virginia, USA, 2001.

Giuseppe Antonio Di Lucca, Massimiliano Di Penta, Giulio Antoniol, and G. Casazza. An approach for

reverse engineering of web-based applications. In 8thWorking Conference on Reverse Engineering (WCRE),

USA, October 2001.

Yu-Seung Ma, Jeff Offutt, and Yong-Rae Kwon. Mujava : An automated class mutation system. Journal of

Software Testing, Verification and Reliability, 15(2):97–133, June 2005.

Atchara Mahaweerawat, Peraphon Sophatsathit, Chidchanok Lursinsap, and Petr Musilek. Masp - an enhanced

model of fault type identification in object-oriented software engineering. Journal of Advanced

Computational Intelligence and Intelligent Informatics, 10(3), December 2006.

Alessandro Marchetto, Paolo Tonella, and Filippo Ricca. 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.

Leonardo Mariani. A fault taxonomy for component-based software. International Workshop on Test and

Analysis of Component Based Systems (TACOS), April 2003.

Rational Software Corporation. Unified Modeling Language, Version 1.0. 1997.

F. Ricca and P. Tonella. Analysis and testing of Web applications. In Proc. of ICSE 2001, International

Conference on Software Engineering, Toronto, Ontario, Canada, May 12-19, pages 25–34, 2001.

Filippo Ricca and Paolo Tonella. Web testing: a roadmap for the empirical research. IEEE International

Symposium on Web Site Evolution (WSE), 2005.

Johannes Ryser and Martin Glinz. A scenario-based approach to validating and testing software systems

using statecharts. In International Conference on Software and Systems Engineering and their Applications

(ICSSEA), Paris, France., April 1999.

Sara Sprenkle, Emily Gibson, Sreedevi Sampath, and Lori Pollock. Automated replay and failure detection

for web applications. IEEE international conference on Automated software engineering (ASE), 2005.

Stephan Weißleder Stefan Bruning and Miroslaw Malek. A fault taxonomy for service-oriented architecture.

In IEEE High Assurance Systems Engineering Symposium (HASE). IEEE Computer Society, November

Mark Utting, Alexander Pretschner, and Bruno Legeard. A taxonomy of model-based testing. Working paper

series. University of Waikato, April 2006.

Giri Vijayaraghavan and Cen Kramer. Bug taxonomies: Use them to generate better test. Software Testing

Analysis and Review (STAR EAST), May 2003.

Jeffrey Voas, Gary McGraw, Lora Kassab, and Larry Voas. A crystal ball for software liability. IEEE

Computer, 1997.

C. Wohlin, P. Runeson, M. H¨ost, M.C. Ohlsson, B. Regnell, and A. Wessl´en. Experimentation in Software

Engineering - An Introduction. Kluwer Academic Publishers, 2000.

Peter Zielczynski. Traceability from use cases to test cases. Technical report, Rational Software, Febraury

Downloads

Published

2009-09-25

How to Cite

MARCHETTO, A. ., RICCA, F. ., & TONELLA, P. . (2009). AN EMPIRICAL VALIDATION OF A WEB FAULT TAXONOMY AND ITS USAGE FOR WEB TESTING. Journal of Web Engineering, 8(4), 316–345. Retrieved from https://journals.riverpublishers.com/index.php/JWE/article/view/4045

Issue

Section

Articles