论文部分内容阅读
在市场需求的推动下,Web应用如今已经从一般的网站发展成为大型电子商务、信息发布和提供各种服务的平台,软件规模不断扩大,软件复杂性不断增加,但是激烈的商业竞争使软件开发周期缩短,如何保证Web应用的正确性和可靠性越来越成为人们关注的问题。作为保证软件质量和可靠性的重要手段,Web应用软件的测试就成为如今开发过程中的一个重要环节。与传统的软件相比,Web应用软件具有许多自身的特点。目前,国内外研究机构已经对Web应用软件的性能测试进行了大量研究,提出了一些性能测试方法,并开发了许多测试工具。但是一些理论上较为成熟测试模型由于其实现的复杂性还没有完全被应用于性能测试工具的开发中。同时功能较好的支持Web性能测试的测试工具大多价格昂贵,一些开源代码的工具存在局限性,例如openSTA只能在Windows平台下运行。因此,自主研发具有开放的体系结构,提供扩充和升级接口的Web应用性能自动化测试工具,具有重要的现实意义和实用价值。现在存在很多Web测试的工具,通常这些工具都是采取录制、回放的方法,这样做是受局限的,因为在一个Web正式发布以前,很难找到合适的用户群来录制他们的真实操作,来辅助测试工作。本文所采取的方法是如果已经存在功能相似的Web应用,则分析其应用的Web日志,挖掘出用户浏览偏爱路径,再根据这些用户浏览偏爱路径,以及待测Web应用的相关文档来生成测试用例。如果待测Web应用是一个功能全新的网站,则需要根据相关设计文档和专家的意见设计测试用例。另外,本文结合当前流行的系统架构技术,设计和开发了一个实际的Web性能测试工具——LoadTesting。介绍了系统的总体功能结构,给出了各子系统的功能和具体实现方法。该工具有两个子系统组成:Master子系统相当于一个控制器,主要负责测试脚本的生成与分配,测试运行时各个测试主机的协调工作以及对测试结果的统计分析;Client子系统功能是接受来自Master的命令,产生负载,然后将测试数据发回给Master子系统。同时使用自主开发的性能测试工具进行了一系列的相关实验。本文旨在Web性能测试方面进行理论上的基础学术性研究,同时也在具体的实用性方面做出进一步的探索。