1)手工测试发现的缺陷多:因为人是有智慧的,可以自觉判断更多的问题和现象,找出更多的缺陷。
2)手工测试的质量更高:因为手工测试可以发现更多计划外的缺陷。
3)自动化测试与开发更贴近:因为自动化测试需要编写程序代码。
4)两者各自的局限性:手工测试相比较而言工作效率低、容易情绪化导致工作内容不稳定;自动化测则不能像人一样思考。
自动化测试软件件分类
功能测试:
UFT:界面层 、 付费
selenium:免费、写代码 web自动化、安装包小
性能测试:
loadrunner:收费、功能强大、50%使用率
rational robot
jmeter
测试管理工具:
禅道& jira:成本高
接口测试工具:postman
自主研发的工具:满足业务需求、针对性强
开源测试工具:费用低、灵活、易用性差
商业工具:功能强大、易用性好、价格贵、交互界面考虑全面
自动化工作流程
自动化测试决定-->测试工具获取-->自动化测试引入-->测试计划设计与开发(脚本)(重要)-->测试执行与管理(麻烦)-->测试评审和评估
自动化测试考虑的因素
1)项目的影响:自动化测试对项目的精度、覆盖率风险有积极作用,让开发更敏捷
2)复杂度:自动化是否容易实现,包括数据和其他环境的影响
3)时间:自动化测试的实现需要多长时间
4)需求:早期需求和代码的稳定
5)工作量:代码是否相对稳定、功能特性是否会进化
6)覆盖率:能不能覆盖程序的关键特性和功能
7)资源:测试人力资源、硬件资源
8)自动化执行:是否有时间和技能去运行
自动化测试的适用
1)回归测试:在软件新版本开发时执行之前的测试
2)更多更频繁的测试
3)手工测试无法实现的工作
4)跨平台的测试:web测试的兼容性测试
5)重复性较强的操作
不适用:
1)软件版本不稳定
2)设计与物理设备交互的测试
3)测试结果较容易通过人工判断的测试