文档介绍:上海交通大学
硕士学位论文
Web应用的自动化回归测试平台的研究与实现
姓名:唐宁
申请学位级别:硕士
专业:软件工程
指导教师:沈备军;葛培明
20091101
Web 应用的自动化回归测试平台的研究与实现
Web 应用的自动化回归测试平台的研究与实现
摘要
随着互联网的快速发展、市场需求的不断变化,Web 应用开发呈现出周期短、更新
频的特点,这给 Web 应用回归测试带来新的挑战。当前存在的 Web 应用自动化回归测
试工具,一般都是基于录制回放机制。这种方式的缺点是数据与脚本不分离、脚本维护
量大、重用率低、通用性差,而且工具价格昂贵。在此背景下,本文研究并开发了一个
界面直观、运行成本低廉、具有较高重用性的 Web mon Service Layer
(简称 CSL)。
本文首先研究了回归测试、自动化测试、Web 应用测试相关理论,分析了国内外自
动化测试的现状,结合 Web 应用的特点,定义了 CSL 的需求规范。然后遵照高内聚、
低耦合的设计原则,采用了分层风格设计了 CSL 架构,并利用测试用例文件和反射技
术实现依赖注入达到层层之间解耦的目的,使得测试逻辑可抽取和可替换,同时测试数
据与测试逻辑实现了分离。接着,基于 Java Selenium Remote Control 模式,完成了 CSL
平台的实现,并对外提供接口,支持快速的二次开发,可扩展性与可移植性良好。
根据 Web 应用的回归测试的行为分析,CSL 平台将所有操作和验证归到不同的类别
中,如浏览器请求、页面交互、W3C 规范性类、外观测试等等,本文逐一做了详细阐
述。其中为顺应互联网市场的要求,CSL 平台在 W3C 规范性测试方面适当做出一些扩
展,使得它得以支持搜索引擎优化的验证,引入了目前几大主流搜索引擎(Google,Yahoo,
Live Search)的搜索引擎优化规则作为独立的测试用例。此外,与其它同类测试平台相
比,CSL 平台在外观测试中使用了定框截屏、然后再位图逐像素比较的独特方法,使原
本较繁琐的外观回归测试完全脱离了人工干预,避免了手工测试可能忽略的错误。
CSL 平台较同类产品的另外一大优势是开源,并且完全支持功能和浏览器的扩展。
同时,由于融合了 FitNesse 架构的优点,因此能直接运行文本形式的测试用例,自动寻
找与后台测试方法的关联,执行测试并完成结果报告,从而提高了测试用例的易读性,
又便于后台测试代码的维护和重用。
目前,CSL 平台已在 Windows MSN Live 系统中进行了应用。实践表明,CSL 平台
能显著降低迭代版本的回归测试人力成本,提高测试效率,从而保证了软件产品的质量。
当测试行为类库由相关自动化测试人员设计完成后,普通的产品测试人员只需准备测试
数据完成测试用例文件生成即可使用或扩充该平台,这一特性降低了自动化的维护和再
I
Web 应用的自动化回归测试平台的研究与实现
开发成本,提高了 CSL 平台的工程应用价值。
关键词:自动化测试,Web 应用,回归测试,测试平台
II
Web 应用的自动化回归测试平台的研究与实现
RESEARCH AND IMPLEMENTATION OF
AUTOMATION REGRESSION TESTING PLATFORM FOR
WEB APPLICATIONS
ABSTRACT
With the high speed developing of , and market requirements' ongoing change,
Web application development circle es much shorter, and upgrades frequently. This
brings new challenges to Web regression testing. Most of the existing Web automation tools
depend on the recording mechanism. Their shortages are hard to depart code and data, heavy
maintenance, difficulty of reuse, and high cost. This dissertation’s goal is to investigate and
build a Web automation platform, which is mo