自动化测试基础知识,你知道的不知道的都在这里
01 自动化定义
借助测试工具,依照测试规范,局部或全部代替人工测试,提高测试有效性。
备注:测试不需要对软件所有功能进行测试,比如很多软件的帮助。
02 特征
模拟人工操作:软件替代人工操作、对界面进行操作。
03 自动化测试特点
·优化成本
·可靠
·快速
·规范化
·可重用
04 自动化优势
·可重复性
·可程序化:可以进行编程、对格式进行规范标准
·可靠:没有情绪化、稳定
·提高测试精确度
·提升测试资源的利用率:人力资源、时间资源等
05 手工测试和自动化测试的区别
1)手工测试发现的缺陷多:因为人是有智慧的,可以自觉判断更多的问题和现象,找出更多的缺陷。
2)手工测试的质量更高:因为手工测试可以发现更多计划外的缺陷。
3)自动化测试与开发更贴近:因为自动化测试需要编写程序代码。
4)两者各自的局限性:手工测试相比较而言工作效率低、容易情绪化导致工作内容不稳定;自动化测则不能像人一样思考。
06 自动化测试软件件分类
功能测试:
·UFT:界面层 、 付费
·selenium:免费、写代码 web自动化、安装包小
性能测试:
·loadrunner:收费、功能强大、50%使用率
·rational robot
·jmeter
测试管理工具:
·禅道& jira:成本高
·接口测试工具:postman
·自主研发的工具:满足业务需求、针对性强
·开源测试工具:费用低、灵活、易用性差
·商业工具:功能强大、易用性好、价格贵、交互界面考虑全面
07 自动化工作流程
自动化测试决定-->测试工具获取-->自动化测试引入-->测试计划设计与开发(脚本)(最重要)-->测试执行与管理(最麻烦)-->测试评审和评估
08 自动化测试考虑的因素
1)项目的影响:自动化测试对项目的精度、覆盖率风险有积极作用,让开发更敏捷
2)复杂度:自动化是否容易实现,包括数据和其他环境的影响
3)时间:自动化测试的实现需要多长时间
4)需求:早期需求和代码的稳定
5)工作量:代码是否相对稳定、功能特性是否会进化
6)覆盖率:能不能覆盖程序的关键特性和功能
7)资源:测试人力资源、硬件资源
8)自动化执行:是否有时间和技能去运行
09 自动化测试的适用
1)回归测试:在软件新版本开发时执行之前的测试
2)更多更频繁的测试
3)手工测试无法实现的工作
4)跨平台的测试:web测试的兼容性测试
5)重复性较强的操作
不适用:
1)软件版本不稳定
2)设计与物理设备交互的测试
3)测试结果较容易通过人工判断的测试
10 测试工具选择
1)买对的、不买贵的
2)选择主流的测试工具
3)分阶段、逐步引入测试工具
4)选择技术支持完善的产品
5)如需多种工具、尽量选择一个公司产品
最后:这里有我建立的一个专门交流软件测试方面问题的学习群,里面也有很多大公司的技术大牛。很多时候,技术大牛的几句话就会让我们醍醐灌顶,少浪费时间,如果想要多跟有经验的人学习,就找我加入我的软件测试交流群,以后有工作的内推机会都相互推荐一下,毕竟我们是关系社会。
软件测试技术交流群社:786229024 等待你的加入... 大家可以一起探讨交流,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。