Journal of Software Engineering and Applications, 2011, 4, 86-94 doi:10.4236/jsea.2011.42010 Published Online February 2011 (http://www.SciRP.org/journal/jsea) Copyright © 2011 SciRes. JSEA An Agent-Based Framework for Automated Testing of Web-Based Systems Samad Paydar, Mohsen Kahani Computer Engineering Department, Ferdowsi University of Mashhad, Mashhad, Iran. Email: samad.paydar@stu-mail.um.ac.ir, kahani@um.ac.ir Received November 15 th , 2010; revised January 18 th , 2011; accepted January 22 nd , 2011. ABSTRACT Parallel to the considerable growth in applications of web-based systems, there are increasing demands for methods and tools to assure their quality. Testing these systems, due to their inherent complexities and special characteristics, is complex, time-consuming and challenging. In this paper a novel multi-agent framework for automated testing of web- based systems is presented. The main design goals have been to develop an effective and flexible framework that sup- ports different types of tests and utilize different sources of information about the system under test to automate the test process. A prototype of the proposed framework has been implemented and is used to perform some experiments. The results are promising and prove the overall design of the framework. Keywords: Web Application, Web Service, Agent, Framework, Test, Test Script 1. Introduction In the last few years, web-based systems 1 as a new genre of software systems have found their way into many dif- ferent domains like education, entertainment, business, communication, and marketing. Parallel to this interest in development of web-based systems, many needs arise due to the importance of assessing the quality of these systems. Software testing is the traditional mechanism for this purpose and it has long been used in the software his- tory. Web-based systems, due to their special characteris- tics and inherent complexities are more difficult to test, compared to traditional software [1-4]. These complexi- ties increase the cost of testing web-based systems. Test automation is the main solution for reducing these costs. Considerable effort has been dedicated to the develop- ment of tools, techniques and methods that automate dif- ferent tasks in the testing process [1,5], but they are usually limited to one part or activity of the test process (e.g. test case generation, test execution). In addition to these limited solutions, some works have focused on presenting an integrated test framework that can be used to perform the whole test process with as much automa- tion as possible. The complexity of web-based systems dictates that a systematic test framework, which is suita- ble for their architecture, is needed rather than a set of in- dependent tools [1]. In this paper, an agent-based framework is presented for testing web-based systems and a prototype of this framework is developed. The main design goals have been to develop an effective and flexible system that un- like most of the existing test frameworks is capable of supporting different types of test with as much test auto- mation as possible. The framework is designed to be ca- pable of utilizing different sources of information about the System Under Test (SUT) in order to automate the test process. To meet these goals, the proposed framework is a mul- ti-agent system consisting of a set of agents. Different agents, collaborating with each other, perform the activi- ties involved in the test process. Therefore, one of the main issues in the design of the framework is the identi- fication and separation of different parties and roles that are involved in the test process. From this point of view, a reasonable design helps to improve the extendibility and flexibility of the framework. As will be discussed in Section 0, these goals are met in the design of the pro- posed framework. The paper is organized as follows: Section 2 briefly re- views the most related works. In Section 3, the design of the proposed framework is discussed in detail and its components are introduced. Section 4 briefly discusses the implementation of the prototype system. Section 5 1 By web-based systems, we mean traditional web applications and also web-service based systems.