自动化定义
借助测试工具,依照测试规范,局部或全部代替人工测试,提高测试有效性。
备注:测试不需要对软件所有功能进行测试,比如很多软件的帮助。
特征
模拟人工操作:软件替代人工操作、对界面进行操作。
自动化测试特点
- 优化成本
- 可靠
- 快速
- 规范化
- 可重用
自动化优势
- 可重复性
- 可程序化:可以进行编程、对格式进行规范标准
- 可靠:没有情绪化、稳定
- 提高测试精确度
- 提升测试资源的利用率:人力资源、时间资源等
手工测试和自动化测试的区别
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)如需多种工具、尽量选择一个公司产品
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。
如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加我们的软件测试交流群,里面有各种软件测试资料和技术交流。