Applying Agent into Web Testing and Evolution - CiteSeerX

3 downloads 218 Views 115KB Size Report
method; then, we apply Agent into the Web performance testing, Web regression ... Since there are numerous of contents to be tested in the Web application, ... the whole process because the tools have no intelligent and cannot deal with the.
Applying Agent into Web Testing and Evolution



Baowen Xu1,2,3, Lei Xu1,2, Jixiang Jiang1,2 1

Department of Computer Sci. & Eng., Southeast University, Nanjing 210096, China 2 Jiangsu Institute of Software Quality, Nanjing 210096, China 3 Computer School, National University of Defense Technology, Changsha 410073, China [email protected] Abstract Automatic Web testing and evolution is an effective method to ensure the quality of Web applications. In this paper, we apply Agent into this area, i.e. firstly, we explain the necessity and feasibility, and also give the general description of our method; then, we apply Agent into the Web performance testing, Web regression testing and Web usability evolution; conclusion remarks are given at last.

1

Introduction

With the prevalence of the Internet and the WWW, Web quality assurance becomes increasingly important [1,2,3]. This makes the testing and evolution especially important. Automatic and intelligent testing is needed so as to improve the testing efficiency. Intelligent Agent [4,5,6] is a self-contained, autonomous software module in the distributed systems that could perform certain tasks on behalf of its users. These characters make Agent rather fit for the Internet and WWW platform, and Agent has made effective progress in Information Retrieval (IR), user personalize services, and etc [7]. Based on the previous work [3,8], the rest of this paper is organized as follows: Section 2 analyzes the necessity and the feasibility, and gives the general description of our method; in Section 3, we apply Agent into the Web performance testing, Web regression testing and Web usability evolution; conclusion remarks and future work are given in Section 4.

2

General Description

Since there are numerous of contents to be tested in the Web application, it is hard to finish these tasks without the assistant tools. Furthermore, testers are also needed in the whole process because the tools have no intelligent and cannot deal with the abnormity. If there are a certain of intelligent entities to assist the test case generation, selection, and execution, the testing efficiency will be greatly improved. ∗ This work was supported in part by the National Natural Science Foundation of China (NSFC) (60073012), National Grand Fundamental Research 973 Program of China (2002CB312000), National Research Foundation for the Doctoral Program of Higher Education of China, the Opening Foundation of State Key Laboratory of Software Engineering in Wuhan University, Opening Foundation of Jiangsu Key Laboratory of Computer Information Processing Technology in Soochow University, and SEU–NARI Foundation.

Agent has such primary behavioral attributes as autonomy, cooperation and learning. Thus we find it is possible to apply Agent into Web testing so as to improve the degree of automatization and intelligence of testing. For example, we need to obtain the accurate and effective user visiting scenes in Web performance testing and regression testing, and the main aspect of Agent application is information retrieval, so it is natural to obtain users’ visiting actions through Agent and determine virtual users’ actions and testing steps by multi-Agents’ associations. In addition, Agents have the learning ability, and they can adjust and improve their functions due to users’ feedback, so we can obtain objective and exact results in Web usability evolution. As far as we know, we haven’t seen people applying Agent into Web application testing and evolution. In order to implement the automatic retrieval of users’ visiting actions and feedback information, we add the testing Agent and user Agent on the base of the general Web application architecture. We set the user Agent in every client-side and let the testing Agent do the detailed testing work. And the user Agent consists of three portions: recorder, analyzer and repository. The information obtaining process can be described as follows: (1) While the users browse the pages, the user Agent recorder “learns” the actions taken [9]: which links were clicked, what was typed in a form, which scrollbar was dragged, and so on. Thus the Agent can distinctly record the total actions. (2) After a period of time, the Analyzer in the Agent disposes the contents of the recorder, classifies users’ actions according to the different page characters. (3) After obtain the different visiting situations of different users in certain types of pages, save them in the repository in a certain sequence. This information can be used as important guidance to users’ visiting scenes. (4) Update this information due to the changes of the users’ visiting. So we can ensure the contents in the repository consist with the facts of user visiting.

3

Detailed Application Scenes

Now we apply Agent into the Web testing and evolution in three scenes, i.e. obtain users’ visiting actions through Agent automatically so as to provide the authentic and accurate user’s visiting scenes; implement the capture-replay based on Agent so as to test the often-changed Web functions; adjust the layout and information of the page based on users’ feedbacks in time so as to improve the usability of Web applications. 3.1

Web Performance Testing Based on Agents

The most widely used method in Web performance testing is simulation, i.e. firstly record the real users’ visiting actions, and then automatically replay these actions to the system under testing with a certain control. So the virtual users with high quality are the preconditions to ensure the effect of performance testing, and we must try our best to guarantee that the visiting effect of virtual users is consistent with the reality. In order to gain the user visiting scenes, traditional method is using the Web mining technology to analyze the Log files, but when only the preparation for mining [10] is considered, we must do lots of work. Thus we need a more effective method. Before we begin a performance testing to a new Web application, we should determine the virtual users’ actions. The detailed method is described as follows:

(1) The testing Agent integrates and cooperates the information in the several related client-side Agents’ repositories, thus we can obtain the user visiting actions in the general situations, which are adapt to most of the common users. (2) Based on this knowledge, we determine the virtual users’ visiting actions, classified by the different pages, which are distinguished by their characters. (3) The testing Agent monitors the execution of the virtual users, making the effect of the visiting be consistent with the realities. (4) We gain the authentic and accurate testing results of the Web performance. 3.2

Web Regression Testing Based on Agents

Users often change their requirements to the Web applications. Once the changes take place, we must retest all the existing functions to ensure the changes reach the prospective aims and not damage the previous normal functions; at the same time, new test cases are needed to test the new or modified functions. As we know, the regression testing is hard and tedious, so the assistant tools are needed. We adapt the object-oriented recording technology to capture the testing actions for the system’s functions, denoted as the testing Scripts; and when we enter the next repeated cycle, we can automatically validate the software functions by replaying these Scripts. With the help of Agents, we can carry out the regression testing more efficiently and intelligently. The detailed method is described as follows: (1) Obtain users’ visiting actions automatically in every client-side by the Agent, and the method is shown in Section 2. This step is the “capture” process. (2) Combine the information in the repository of each user Agent, and generate the test Scripts by the testing Agent, denoted as: {| t∈{Time}, u∈{URL}, d∈{Mouse, Keyboard, etc}, a∈{Click, Move, Press, etc}, dt∈{During Time}} (3) Set parameters in the Scripts based on the detailed demands, and each testing case has each value. Thus we can cover all the possible situations. (4) Under the supervision of its monitor, the testing Agent executes the test cases automatically by its executor. This is corresponding to the “replay” process. 3.3

Web Usability Evolution Based on Agents

The criterion of page’s usability is not very explicit because it is a subjective concept. Paper [9] presented the usability testing method and steps. However, this method not only need testers do numerous and tedious work but also reach the usability in a general way, which cannot satisfy users’ personalizing requirements. So we consider adjusting the layout and information of the page based on users’ feedback information. And the detailed process is shown in the below: (1) Set the Agents in the relevant client-sides. These Agents are used to obtain these users’ visiting actions and their usage feedback information so as to improve the Web application’s usability more conveniently. (2) Obtain the users’ visiting actions by the recorder in the Agent. This step is the same with the step (1) of the method shown in Section 2.

(3) Compare and analyze the users’ real actions with their general habits through the analyzer, and the main method is determining the user’s fancy degree with the page due to the visiting counts and staying time. (4) Obtain the influences to the usages due to the page changes by the Agent. (5) Store the feedback information and consider it as the judging criterion. Since the client-side Agent collects and analyzes the usage information of users automatically, we can determine the page’s usability in the view of users and adjust the pages’ contents in time based on the feedback information in the repository, thus we can provide the personalizing services to the users and improve the usability.

4

Conclusion Remarks

In order to carry through Web testing intelligently and effectively, this paper applies Agent into the Web testing and evolution. Firstly, we give the general description of the Web application testing and evolution based on Agent, which focuses on the capture-replay technology combined with Agent; then, we apply Agent into the Web performance testing, regression testing and Web usability evolution so as to improve the automatic and intelligent degree of Web testing and obtain better testing effect. We have presented the architecture of the Web application testing and evolution based on Agent and the relevant application situations. Next, we will research on the detailed methods and steps for the Web testing and realize the system of the Web application testing and evolution based on Agent. Finally, we can put the automatic and intelligent Web testing and evolution into practice and gain ideal results.

References 1 Ricca, F. and Tonella, P.: Web Site Analysis: Structure and Evolution. Proc. of Int. Conf. on Software Maintenance (ICSM) (2000): 76-86. 2 Warren, P., Boldyreff, C., and Munro, M.: The Evolution of Websites. Proc. of the Int. Workshop on Program Comprehension (1999): 178-185. 3 Xu, L., Xu, B.W., Chen, Z.Q., and Chen, H.W.: Website Evolution Based on Statistic Data. Proc. of the 9th IEEE Int. Workshop on Future Trends of Distributed Computing Systems (FTDCS) (2003): 301-306. 4 Zhang, W.F., Xu, B.W., Xu, L., Chen, Z.Q., and Zhao, K.H.: Personalizing Search Result Using Agent. Mini-Micro System (in Chinese), 2001, 22(6): 724-727. 5 Murugesan, S.: Intelligent Agents on the Internet and Web. IEEE Region 10 Int. Conf. on Global Connectivity in Energy, Computer, Communication and Control, 1998, 1(1): 97-102. 6 Green, S., Hurst, L., Nangle, B., Cunningham, P., Somers, F., and Evans, R.: Software Agents: A Review. Technical report. Trinity Collega, Dublin, Ireland, May 1997. 7 Gao, X., and Sterling, L.: Knowledge-Based Information Agents, In the Proc. of the Pacific Rim Conf. on Intelligent Information Agents (PRIIA) (2000): 48-58. 8 Xu, L., Xu, B.W., Chen, H.W., Chu, W., Lin, J.M., and Yang, H.J.: Test Web applications based on Agent. Journal of Software, 2003,14(Suppl.): 9-16. 9 Krulwich, B.: Automating the Internet: Agents as User Surrogates. IEEE Internet Computing, 1997, 1(4): 34-38. 10 Cooley, R., Mobasher, B., and Srivastava J.: Data Preparation for Mining World Wide Web Browsing Patterns. Knowledge and Information Systems, 1999, 1(1): 5-32.

Suggest Documents