Automated complete test case coverage for web based applications

Exhaustive testing is said to be impossible due to the various combinations of test cases possible on a specific page, not considering the whole system. In this paper, the automated testing of all possible combinations for a given page is attempted using a system which was named CRaTCP-'Control Ripper and Test Case Player'. The technique involves: the extraction of all the controls from a given page; the assessment of the validations for those controls; the automatic generation of all possible test scenarios in an excel sheet; and finally executing those test cases on the given page. CRaTCP analyses the page source of a dynamic page and hence is not dependent on the programming language that creates the dynamic page. The system has been tested on custom pages and then has been evaluated against random web pages. The results obtained on the custom pages are promising. All controls were retrieved, with the proper insertion of the various combinations of scenarios into the excel sheet, hence achieving a complete test coverage automatically. This was due to the fact that proper coding standards have been used to implement the custom pages. CRaTCP was also evaluated against some online web pages and the results were satisfactory. Though pages created are very developers' dependent, the script was able to extract the controls and list them in the excel sheet. The results however showed some limitations of the prototype which will be taken up in the next version. With CRaTCP, neither do testers need tomaually create test cases and nor execute them. This does not imply that automation will completely replace manual testing, but will provide adequate support to the testing life cycle.

[1]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[2]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[3]  Gerard J. Holzmann,et al.  A practical method for verifying event-driven software , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Atif M. Memon GUI Testing: Pitfalls and Process , 2002, Computer.

[5]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[6]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[7]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[8]  Atif M. Memon,et al.  An event‐flow model of GUI‐based applications for testing , 2007, Softw. Test. Verification Reliab..

[9]  Jyotsna Sengupta,et al.  Automatic Generation of Regression Test Cases for Web Components using Domain Analysis and Modeling , 2010 .

[10]  Atif M. Memon,et al.  Test suite prioritization by interaction coverage , 2007, DOSTA '07.

[11]  Giuseppe A. Di Lucca,et al.  Testing Web applications , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[12]  Atif M. Memon,et al.  Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software , 2005, IEEE Transactions on Software Engineering.

[13]  Paolo Tonella,et al.  Analysis and testing of Web applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[14]  Porfirio Tramontana,et al.  Using GUI ripping for automated testing of Android applications , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[15]  Mukul R. Prasad,et al.  Automated testing with targeted event sequence generation , 2013, ISSTA.

[16]  Hongseok Yang,et al.  Automated concolic testing of smartphone apps , 2012, SIGSOFT FSE.