一、 自动化定义
借助测试工具,依照测试规范,局部或全部代替人工测试,提高测试有效性。
备注:测试不需要对软件所有功能进行测试,比如很多软件的帮助。
二、特征
模拟人工操作:软件替代人工操作、对界面进行操作。
三、自动化测试特点
- 优化成本
- 可靠
- 快速
- 可重用
四、自动化优势
- 可重复性
- 可程序化:可以进行编程、对格式进行规范标准
- 可靠:没有情绪化、稳定
- 提高测试精确度
- 提升测试资源的利用率:人力资源、时间资源等
五、手工测试和自动化测试的区别
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)测试结果较容易通过人工判断的测试
十、测试工具选择
1)买对的、不买贵的
2)选择主流的测试工具
3)分阶段、逐步引入测试工具
4)选择技术支持完善的产品
5)如需多种工具、尽量选择一个公司产品
推荐好文:
10分钟玩转Python+Selenium自动化测试,教你快速入门!
最后: 欢迎关注小编领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!软件测试技术交流群:(313782132) 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。