Model-based Testing of Web Applications

Nowadays many organizations are using web applications for e-business/e-commerce purpose. Hence, it is important to ensure the required quality of web applications before distributing them. In contrasts to traditional software, there are many aspects of web applications that are different. First, web applications typically implement a 3-tier-architecture comprising web browser, web server and database tier which are communicating by stateless protocols such as HTTP request and HTTP response. Second, each tier is implemented using a diversity of programming languages (e.g. HTML, JavaScript, JSP, PHP, ASP). Third, web pages are often generated from prior dynamic web pages which depend on their previous inputs and server’s states.

There are many published approaches to test Web application. However, none of these approaches reflects the complete behavior of web applications. This project aims to develop a new model-based testing approach using structural analysis methods, called white–box testing. The basic idea is to transform the source code into an intermediate model which is used to generate test cases, test setup information and test oracle information. In addition, our proposed approach introduces a novel coverage metric called “Content Coverage”. The generation procedure ensures that there are no duplicated and no un-executable test cases as well as 100% content coverage. The approach should guide testers to setup the test environment before running the test cases (e.g. selecting input data and parameters needed to run the tests) and aims to produce expected results which can be automatically compared to the actual program execution.