一、测试的本源/目的;
直接目的:找出项目中的缺陷
商业目的:规避发布后项目出现bug
投入产生比要求:人力,时间,物力
二、自动化测试的概念:
以人工测试行为转换为机器执行的一种过程,用脚本测试程序
三、手工测试的局限性:
1、覆盖性:无法测试所有代码
2、时限性:无法在短时间完成所有测试
3、重复性:回归测试具有一定机械性,重复性,工作量较大
四、自动化演变过程:
萌芽期:把重复工作交给代码执行
发展期:线性测试----模块化驱动测试----数据驱动测试----关键字驱动测试
爆发期:CI/CD(持续集成/持续开发)闭环成为趋势
终结:al测试
五、自动化测试划分:
web端自动化测试
app端自动化测试
接口自动化测试
六、自动化测试的优点
对回归测试更方便
测试具有一致性和重复性,自动化测试可以在短时间内运行完成
有效利用人力物力资源,提高测试效率
将重复的任务自动化,提高准确性和测试人员的积极性,可以人测试人员手工测试部分,提高手工测试效率
自动化测试的缺点:
无法主观的判断界面,布局,系统崩溃
无法跨平台操作有可能报错,从而影响测试数据
项目更新频繁,测试脚步需要不断从写写
不容易发现错误,需要通过手工测试才可以发现更多bug
自动化测试需要写脚本,测试场景,对测试人员要求高,测试设计会影响测试结果
七、自动化的核心目的:
保证软件的稳定性,做繁重的重复性工作,提高测试效率!
八、测试人员什么时候介入项目
等第一轮功能测试完成后,并进行了一轮回归测试之后,在没有bug的情况下,开始介入项目
九、不适于自动化测试情况:
软件更新频繁
测试频率低
结果很容易通过人验证测试
设计物理硬件设备交互的测试
十、自动化工具的划分:
框架分类:
B/S和C/S:utf自动化测试工具(用于商业)
B/S:selenuim自动测试工具(开源)
收费划分:
开源工具
商业自动化测试工具
自主开发测试工具
十一、自动化测试流程
测试需求分析及计划
1、自动化测试什么时候介入项目
2、脚本是否可用(先写20%-30%的脚本,防止后期需要修改)
3、从功能测试中提取需求
4、编写测试计划(类似于5w1h:why(为什么要干这样事情),when(什么时间执行,什么时间完成),where(谁来执行),what(怎么回事),who(由谁来执行), how(怎样执行,采取有效措施))
测试设计及脚本开发
1、框架设计与搭建:选取自动化工具,提前搭建被测系统
2、编写测试计划用例:根据功能中提取所需要的需求
3、由python语言写脚本
4、python语言与被测系统版本需要保持一致
5、脚本合并与关联:把多个脚本组合在一起,进行验证
测试执行
1、脚本运行与环境搭建
2、无人值守测试(自动运行,只查看响应数据)
3、异常处理最大化
测试总结
1、写的测试报告整理成html格式
2、代码修改与优化
3、迭代更新
4、自动化脚本进行维护
流程图:
十二、自动化测试的原理
动态测试:通过特定的软件进行操作行为或操作过程,对响应数据进行查看
静态测试:按照代码规范,进行扫描代码,查看是否有问题