Abstract
Researchers and practitioners are still trying to find effective ways to model and test Web applications. This paper proposes a system-level testing technique that combines test generation based on finite state machines with constraints. We use a hierarchical approach to model potentially large Web applications. The approach builds hierarchies of Finite State Machines (FSMs) that model subsystems of the Web applications, and then generates test requirements as subsequences of states in the FSMs. These subsequences are then combined and refined to form complete executable tests. The constraints are used to select a reduced set of inputs with the goal of reducing the state space explosion otherwise inherent in using FSMs. The paper illustrates the technique with a running example of a Web-based course student information system and introduces a prototype implementation to support the technique.
Similar content being viewed by others
References
Ammann P, Offutt AJ (1994) Using formal methods to derive test frames in category-partition testing. In: Proceedings of the Ninth Annual Conference on Computer Assurance (COMPASS 94), Gaithersburg MD. IEEE Computer Society Press, pp 69–80, June
Benedikt M, Freire J, Godefroid P (2002) VeriWeb: Automatically testing dynamic Web sites. In: Proceedings of 11th International World Wide Web Conference (WWW’2002), Honolulu, HI, May
Chilenski JJ, Miller SP (1994) Applicability of modified condition/decision coverage to software testing. Software Engineering Journal, pp 193–200, September
Chow T (1978) Testing software designs modeled by finite-state machines. IEEE Transactions on Software Engineering SE-4(3):178–187, May
Derrick J, Boiten E (1999) Testing refinements of state-based formal specifications. Software Testing, Verification, and Reliability 9(1):27–50, December
Dick J, Faivre A (1993) Automating the generation and sequencing of test cases from model-based specifications. In: Proceedings of FME ’93: Industrial-Strength Formal Methods, Odense, Denmark, Lecture Notes in Computer Science, vol 670. Springer-Verlag, pp 268–284
Fujiwara S, Bochmann G, Khendek F, Amalou M, Ghedasmi A (1991) Test selection based on finite state models. IEEE Transactions on Software Engineering 17(6):591–603, June
Gao JZ, Kung D, Hsia P, Toyoshima Y, Chen C (1995) Object state testing for object-oriented programs. In: 19th Computer Software and Applications Conference (COMPSAC 95), Dallas, TX, pp 232–238, August
Gonenc G (1970) A method for the design of fault-detection experiments. IEEE Transactions on Computers C-19:155–558, June
Grindal M, Offutt J, Andler SF (2004) Combination testing strategies: A survey. Technical report ISE-TR-04-05, Department of Information and Software Engineering, George Mason University, Fairfax VA, July. http://www.ise.gmu.edu/techrep/
The Object Management Group (1999) OMG unified modeling language specification. Version 1.3, OMG, 1999
Howden WE (1975) Methodology for the generation of program test data. IEEE Transactions on Software Engineering SE-24:208–215, May
Hower R (2002) Web site test tools and site management tools. Software QA and Testing Resource Center. www.softwareqatest.com/qatweb1.html (accessed November 2003)
Huang JC (1975) An approach to program testing. ACM Computing Surveys 7(3):113–128, September
Jia X, Liu H (2002) Rigorous and automatic testing of Web applications. In: 6th IASTED International Conference on Software Engineering and Applications (SEA 2002), Cambridge, MA, pp 280–285, November
Kung D, Liu CH, Hsia P (2000) A model-based approach for testing Web applications. In: Proc. of Twelfth International Conference on Software Engineering and Knowledge Engineering, Chicago, IL, July
Kung D, Liu CH, Hsia P (2000) An object-oriented Web test model for testing Web applications. In: Proc. of IEEE 24th Annual International Computer Software and Applications Conference (COMPSAC2000), Taipei, Taiwan, pp 537–542, October
Kung D, Suchak N, Gao J, Hsia P, Toyoshima Y, Chen C (1993) On object state testing. In: Eighteenth Annual International Computer Software & Applications Conference, Los Alamitos, CA. IEEE Computer Society Press, pp 222–227
Lee SC, Offutt J (2001) Generating test cases for XML-based Web component interactions using mutation analysis. In: Proceedings of the 12th International Symposium on Software Reliability Engineering, Hong Kong, China, November. IEEE Computer Society Press, pp 200–209
Luo G, von Bochmann, G, Petrenko A (1994) Test selection based on communicating nondeterministic finite-state machines using a generalized Wp-method. IEEE Transactions on Software Engineering 20(2):149–162, February
Miller E (2003) Evalid. Software Research Associates, San Francisco, CA
Naito S, Tsunoyama M (1981) Fault detection for sequential machines by transition tours. In: Proceedings Fault Tolerant Computing Systems. IEEE Computer Society Press, pp 238–243
Nielsen J (2000) Designing Web Usability. New Riders Publishing
Offutt J, Abdurazik A (1999) Generating tests from UML specifications. In: Proceedings of the Second IEEE International Conference on the Unified Modeling Language (UML99), Fort Collins, CO, Lecture Notes in Computer Science, vol 1723. Springer-Verlag, pp 416–429, October
Offutt J, Liu S, Abdurazik A, Ammann P (2003) Generating test data from state-based specifications. The Journal of Software Testing, Verification, and Reliability 13(1):25–53, March
Offutt J, Xiong Y, Liu S (1999) Criteria for generating specification-based tests. In: Proceedings of the Fifth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS ’99), Las Vegas, NV. IEEE Computer Society Press, pp 119–131, October
Pimont S, Rault JC (1979) An approach towards reliable software. In: Proceedings of the 4th International Conference on Software Engineering, Munich, Germany, pp 220–230
Ran L, Dyreson C, Andrews A (2004) AutoDBT: A framework for database-driven testing of Web applications. Master’s thesis, Department of EE and CS, Washington State University, Pullman WA
Ricca F, Tonella P (2001) Analysis and testing of Web applications. In: 23rd International Conference on Software Engineering (ICSE ‘01), Toronto, CA, pp 25–34, May
Sabnani K, Dahbura A (1988) A protocol testing procedure. Computer Networks and ISDN Systems 14(4):285–297
Turner CD, Robson DJ (1993) The state-based testing of object-oriented programs. In: Proceedings of the 1993 IEEE Conference on Software Maintenance (CSM-93), Montreal, Quebec, Canada, pp 302–310, September
von Mayrhauser A, Mraz R (1999) Using domain models for system testing. In: Advances in Computers, vol 49. Academic Press, pp 143–190
Wu Y, Offutt J, Du X (2004) Modeling and testing of dynamic aspects of Web applications. Technical report ISE-TR-04-01, Department of Information and Software Engineering, George Mason University, Fairfax, VA, July. http://www.ise.gmu.edu/techrep/
Yang J, Huang J, Wang F, Chu W (1999) An object-oriented architecture supporting Web application testing. In: First Asian-Pacific Conference on Quality Software (APAQS ’99), Japan, pp 122–129, December
Yang J-T, Huang J-L, Wang F-J, Chu WC (2002) Constructing an object-oriented architecture for Web application testing. Journal of Information Science and Engineering 18(1):59–84, January
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Andrews, A., Offutt, J. & Alexander, R. Testing Web applications by modeling with FSMs. Softw Syst Model 4, 326–345 (2005). https://doi.org/10.1007/s10270-004-0077-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-004-0077-7