An Automated Model Based Approach to Test Web Application Using Ontology Hamideh Hajiabadi, Mohsen Kahani hajiabadi.hamideh@stu-mail.um.ac.ir, kahani@um.ac.ir Computer Engineering Department, Ferdowsi University of Mashhad Abstract— Nowadays the growth of web application development is great; every day a variety of new web applications are raised on the Internet for public use. Web applications have n-tier architecture, so the server side programs could change without client interference and this process could be done more times. Consequently the testing is the important issue in the web application development. This paper proposed an automated model based testing technique to test web application from its structural model. Firstly using reengineering approaches the structural model is constructed to demonstrate static aspects of the web application. Then using several ontologies and mapping tools, test cases for filling forms are automatically generated to model and evaluate dynamic features of the web application. The technique implemented as MBTester tool and applied to a few web applications. The results presented in this paper indicate the dynamic attained by MBTester is great. Keywords—boundary coverage criterion, evaluate partitioning, test case, ontology, mapping I. INTRODUCTION Web application developing has become a significant area, which has a great progress among other fields of software engineering. Web application has essential characteristics which have made it different from other ones. Web applications consist of some modules and interactive components in which various technologies could be used independently. It is important to note that in addition to the growth of web applications, the techniques used in web application developing have also great growth. So this fact makes web application testing more difficult. Some kinds of complexity are involved in web application testing. One of these is its heterogeneous nature. Web application consists of several components implemented by different technologies and programming languages. Dynamism existence is the other complexity essence in testing of web applications. Web applications consist of static and dynamic components. Static components can be automatically tested; Spider like tools could do it automatically. Users submit their inputs by using form components through crawling and the output page sent back in response to a submitted form is always dynamic. The content of dynamic pages varies according to user inputs. No tool exists for testing the dynamic aspects of web applications automatically. The only sets of tools which are able to test the dynamic aspects of web applications are some sorts of record and replay tools. They initially record a testing scenario, and then generate test script for testing assumed scenario, the recorded test scripts are used for automatically regression testing. But a negligible change in GUIs could make many test scripts useless. The other drawback of this set of tools is their huge cost due to the manual recording of test scripts. As a result, automation and proper coverage are the key issues in the testing of web applications. In this paper, an automated technique is proposed that extracts a structural model of web applications based on client side requests and responses that are automatically generated by the programs run on the server. The difficult part of testing processes is producing values to fill forms. Any sort of values covers some contents of web applications. In that case to cover all aspects of web application, a lot of values should be generated sagaciously. These values are obtained using ontology. The boundary coverage and equivalent partitioning criteria are used in generating test data. The web application deals with the information that user enters in a different way. Some parts of information which are more important than the other parts are kept in the system database but the other parts which are less important need not be kept there in general. The degree of dynamism and coverage in this scenario is higher in comparison with related works. Section 2 presents and discusses the works which exist in the model based web application testing. The techniques used in the reverse engineering process are explained in section 3. Section 4 illustrates the analysis model in detail. The testing skills used in the proposed model are specified in section 5 .In the conclusion section, a summary of the paper and future works are presented. II. RELATED WORK A model based test generation technique was proposed by Kung, Liu, and Hsia [1, 2]. The models used in their technique are Object Relation Diagrams, Object State Diagrams, a Script Cluster Diagram, and a Page Navigation Diagram. The technique proposed by them uses source code in the model generating and testing process. The techniques which use source code in their processes are not always such general ones to be applied to the whole sort of the web applications, whereas our technique does not make any use of source code. Lee and Offutt [3] proposed an approach in which test cases are generated based on mutation analysis. Their approach is based on XML based interactions and only tests the interactions among modules, whereas our approach tests the whole system. The automation degree provided by their technique is not considerable. Liu et al. [4] observed each component of web application as an object. He exploited the data flow between these objects and generated test cases based on them. He called his tool WebTestModel. Ricca and Tonella [5] have developed ReWeb and TestWeb tools. They used source code analysis of processes and