目录
功能自动化测试方案是为XXX系统功能测试使用自动化工具,实现以自动化测试为主的目标而编写的技术和实施方案。
文档的主要目的是提供自动化测试的技术方案、实施内容、实施步骤,以及关键的技术实现手段等。
Sahi:是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具。Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素。Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大。它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势。选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择。
功能测试:功能测试又称正确性测试,它检查软件的功能是否符合规格说明。由于正确性是软件最重要的质量因素,所以其测试也最重要。
自动化测试:使用商业提供的自动化测试工具或者自己开发的工具对目标系统进行测试。机器自动执行的测试,替代人完成重复性劳动,但不能完全取代人。自动化测试需要用到测试工具,测试工程师的参与,自动化测试技术可应用于所有的测试阶段
Web 测试背景:随着 Web 技术和互联网的发展,Web 应用产品越来越丰富,基于 Web 页面测试的需求与日俱增。在当前全球软件都在追求高效、敏捷的开发模式的大背景下,Web 自动化测试成为了新一波技术探讨和研究的热潮。因为传统的手工测试不仅效率低,并且测试质量受限于测试人员的一些情绪和心情。若当一个测试人员带着烦躁情绪来测这些繁杂的大量重复性工作,测试的质量令人担忧。更何况,当这项测试工作涉及到全球化方面的测试时,多语言版本的测试工作导致该测试工作量的成倍增加,这无疑是一项巨大的考验!
检查点:用来验证脚本执行结果是否达到预期。可以在录制的过程中建立检查点,也可以在录制完成之后再建立检查点
功能自动化测试过程中工具不可能完成所有的工作,工具仍然是测试过程中的辅助手段。对于工具主要是解决测试过程中的重复性的工作任务。另外实施自动化的测试,对被测系统也有更高的要求,总结功能自动化测试的实施原则如下:
1) 使用自动化工具测试,要求被测系统开发比较稳定,较少发生功能的变更;
2) 在自动化测试脚本录制前,被测试系统的界面相对稳定;
3) 功能测试自动化要求测试数据环境中的测试数据相对充裕,满足多次重复回归测试的要求;
4) 要求被测系统的版本运行比较稳定,较少发生测试中止的情况;
5) 分期分步骤实施,优先选择产品功能比较稳定的系统进行;
6) 完善的、可复用的数据参数、脚本库是一个长期的积累过程。
功能的自动化测试与手工测试虽然有很多局限,但是同样有其优势,随着自动化测试技术和工具的发展,对于比较稳定的产品的功能测试中,自动化测试占有越来越重要的地位。使用Sahi可以加快整个测试的过程,在产品的版本发布之后,可以重复使用测试脚本进行测试,具体来说:
自动化测试的优点:
提高测试效率,降低测试成本;
重复性强的手工劳动可以独立用自动化实现;
快速地回归测试,提高新版本发布的速度和质量;
避免人工测试容易犯的错误,如:错误测试,漏测试,多测试等;
很容易就实现并发性测试;
测试可重用,采用脚本和数据可以很容易实现重用。
自动化测试的缺点:
规范的测试管理,测试需求,测试用例;
不能创造性发现测试脚本没有设计的缺陷;
高质量的测试用例;
高素质的自动化测试工程师;
对测试环境要求比较严格;
测试需求变化可能引起大量的测试用例,自动测试脚本的修改、维护。
1) 工具范围:目前考虑Sahi、Excel等工具的使用和集成;持续集成工具暂时先不考虑;
2) 系统范围:定位在测试中心基础测试环境中的系统;
3) 测试阶段的范围:局限在回归测试后期、以及上线后的功能回归测试,目前暂不包括LT、内部测试中的功能测试部分。
1. 功能自动化测试系统应该能完成集成测试、以及上线后功能的回归测试;
2. 方案目标对有界面和无界面的交易测试都能完成,有界面的交易支持如下方式:
a) 支持字符终端界面;
b) 支持B/S的Web界面;
c) 支持C/S的Windows应用程序界面;
3. 功能自动化测试方案对目前大部分应用系统都可以进行测试;
4. 实现自动化脚本录制、自动化脚本执行、自动化缺陷报告和管理。
1. 先从目前系统中选择适合自动化测试的项目和系统;
2. 其次确定实施功能自动化测试的阶段和时机;
3. 第三是从适合的项目中选择适合自动化测试实施的功能和交易。
具体实施策略参见第6节的实施管理建议。