版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c_first/article/details/82319642
为什么要做自动化测试?
- 有限时间测试大量的东西,测不完
- 重复的劳动,浪费人力财力
- 测试要求的条件苛刻,人工达不到
自动化帮我们解决重复性的劳动,帮我们实现人工无法实现的事情
自动化测试的定义
自动化测试是借助测试工具、软件,从局部或者全部代替人工进行测试,提高测试效率
自动化测试能完全替代手工测试?
- 手工测试要比自动化发现的BUG多
- 自动化是在手工测试稳定的基础上实行的
- 自动化是在软件版本较稳定、软件迭代频繁、软件周期长的这些情况下才开展的
什么场合适合做自动化
- 回归测试
- 频繁的版本迭代测试
- 手工无法实现的测试
- 跨平台的测试
- 重复性很强的测试
什么场合不适合做自动化
- 设计到与物理设备交互的测试
- 结果很容易通过人为来验证的测试
- 软件版本不稳定
适合自动化的项目
- 测试任务明确,不频繁变动
- 每日构建的测试验证
- 频繁的回归测试
- 系统界面稳定,变动少
- 需要在多个平台上运行相同的测试
- 大量的重复劳动
- 软件维护周期长
- 项目进度压力小
- 被测软件开发规范,能够保证可测性
- 测试人员编程能力较强
分层测试
UI层:页面测试,黑盒测试,是常见的自动化场景之一,最接近用户使用场景,最容易发现问题,但是实现成本最高,容易受外部依赖影响,从而影响脚本的成功率
Service层:接口测试,黑盒测试,清楚系统的结构和系统、模块之间的调度,结构的逻辑关系,相对于单元测试,会多一些外部的依赖条件,导致问题定位没有单元测试的准确,所以投入相对单元测试要多
Unit层:单元测试,白盒测试,外部依赖最少啊,模拟各种场景,可以做到测试粒度最细的一种测试方法,是一切测试的地基