论文部分内容阅读
随着网络技术飞速发展和互联网的广泛普及,基于Web的应用遍布互联网的各个角落。特别是在当前市场需求的推动下,Web 应用软件已经从一般的网站发展成为大型电子商务、信息发布和提供各种应用服务的平台,软件规模不断扩大,软件复杂性也不断增加。同时激烈的商业竞争使软件开发周期大大缩短,如何保证Web 应用的正确性和可靠性越来越成为人们关注的焦点。作为保证软件质量和可靠性的重要手段,Web 应用软件的测试就成为如今开发过程中的一个重要环节,Web 性能自动化测试工具的应用也越来越普遍。
由于当前商业性测试软件价格比较昂贵,一些开源代码的工具存在局限性,因此,自主研发具有开放的体系结构,提供扩充和升级接口的Web应用性能自动化测试工具,具有重要的现实意义和实用价值。
Web 软件性能测试的主要手段是通过产生模拟真实业务的负载对被测系统施加压力,研究被测系统在不同负载情况下的表现,找出其潜在的瓶颈。测试工作主要包括以下方面的内容。
1、产生负载,对Web 软件系统加压。
2、对Web 软件服务器进行监控,并收集相关性能数据。
3、对测试结果数据进行统计分析,快速找出被测系统的瓶颈。
现在存在很多Web 软件测试的工具都是采取录制、回放的方法,这样做有很大的局限性,因为在一个Web 软件正式发布以前,很难找到合适的用户群来录制他们的真实操作,辅助测试工作。本文采取的方法是分析已经存在的功能相似的Web 应用的日志文件,并且提出了利用用户有向树集得到用户浏览偏爱路径的方法,再根据这些用户浏览偏爱路径,以及待测Web 应用的相关文档生成测试用例。如果待测Web 应用是一个功能全新的网站,则需要根据相关设计文档和专家的意见设计测试用例。
我们根据现有测试工具模型、测试方法以及实际测试需求设计了一个基于Web日志生成测试用例的自动化性能测试工具AutTesting。本文介绍了AutTesting的总体功能结构,给出了各组成单元和子系统的功能和具体实现方法。该工具有三个单元组成:MCU(Master Control Unit)、CCU(ClientControl Unit)、SCU(Server Control Unit)。MCU相当于一个控制器,主要负责测试脚本的生成与分配,测试运行时各个测试主机的协调工作以及对测试结果的统计分析;CCU的功能是接受来自MCU的命令,产生负载,然后将测试数据发回给MCU;SCU的功能是接受来自MCU的命令,对Web 服务器进行监测,然后将测试数据发回给MCU。最后使用性能测试工具AutTesting 进行了一系列的相关实验,并对实验结果进行了分析总结。
本文旨在Web 性能测试方面进行理论上的基础学术性研究,同时也在具体的实用性方面做出进一步的探索。