自动化测试:
指功能测试,所做的程序或系统,包括正常情况和异常情况,利用机器来执行的过程
常用的自动化测试工具:
QTP, selenium, Rational Robot ,jmeter, appium, soapui, Loadrunner
selenium基于Web的自动化测试工具
特点:
免费
小巧
支持多平台
支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器执行,相当于分发机的功能。
自动化测试框架包含自动化测试工具
自动化测试框架一般分为:两个层次:上层是管理整个自动化测试的开发,执行以及维护,在比较大的项目中,它体现重要的 作用。下层主要是测试脚本的开发,充分的使用相关的测试工具,构建测试驱动,并完成测试业务逻辑
自动化测试的演变:测试工具---数据驱动--关键字驱动--测试框架--测试平台
自动化测试方法:
测试对象:UI,接口,代码
测试过程:单元测试,集成测试,系统测试
执行人员:测试人员,开发人员
注意:
自动化测试可以在整个测试过程中任何一个阶段实施,前提是功能相对稳定
测试人员一般在系统测试时进行自动化测试
集成测试阶段多进行自动构建,部署,以及冒烟测试的自动化
Ui自动化:
用例维护量大
页面相关性强,必须后期介入
UI测试适合与界面变动较小的项目
接口自动化测试:
可在产品前期介入
用例维护量小
页面相关性小
适合接口变动较小,界面变动频繁的项目
自动化测试的优势:
1.减少大型项目的人力投入
2.减少重复测试的时间,减少人为错误
3.可以运行更多更繁琐的测试
4.可以执行一些手工测试困难或不可能进行的测试
5.更好的利用资源
6.测试具有一致性和重复性
7.测试脚本的重用性
不适合做自动化测试的项目:
- 需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
- 项目周期短,自动化脚本编制完成后使用次数不多。
- 交互性较强的项目,需要人工干预的项目,自动化无法实施
适合做自动化的项目:
- 产品型项目:功能变动不大
- 机械比较频繁的测试,周期长
自动化测试的过程:
- 分析:总体把握系统逻辑,分析出系统的核心体系架构。
- 设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
- 实现:实现脚本,有两个要求一是断言,二是合理的运用参数化
- 执行:执行脚本远远没有我们想象中的那么简单,脚本执行过程中的异常需要我们仔细的分析原因
- 总结:测试结果的分析,和测试过程的总结是自动化测试的关键
- 维护:自动化测试脚本的维护是一个难以解决但必须解决的问题
- 分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本
自动化测试实施失败的因素:
- 期望值过高
- 对收益和成本认识不清楚
发展方向:
- 自动化脚本的执行,维护和结果分析
- 自动化脚本的编写
- 自动化测试方案的设计,框架的选型
- 自动化测试框架的编码实现
- 自动化测试框架的设计
自动化测试需要了解的技能:
- 基本业务
- 业务的技术框架
- 懂得功能测试
- 懂得一种编程语言
- 数据库,操作系统
- 了解测试框架