前言
随着软件测试技术的发展,人们已经从最初的纯粹的手工测试转变为手工与自动化测试技术相结合的测试方法。近年来,自动化测试越来越受到人们的重视,对于自动化测试的研究也越来越多。
小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。
目录
背景
项目版本功能日趋增加,系统模块越来越多,功能趋于完善,此外系统经常更新,测试人员无法满足多模块的测试需求,测试压力日渐增大,尤其在做回归测试时,无法确保每次更新后系统都得到完整的回归测试。
一、自动化测试基础知识
什么是自动化测试
1、把人为驱动的测试行为改成机器执行,通过设计的测试用例,由机器按照测试用例的执行步骤对其进行自动操作,输出结果,由测试人员进行比较。
2、自动化测试往往通过一些测试工具或框架,编写自动化测试用例,来模拟手工测试。
3、自动化测试能极大的节省人力、时间和硬件资源,提高测试效率。
自动化测试的优势
1、自动化测试工具可以根据需要,准备大量的测试数据。
2、可以使用相关脚本技术准备大量的测试用例。
3、测试结果有时需要再进行相应的数据处理。
4、可以对大量数据或数据格式进行快速比对。
自动化测试的劣势
1、相比手工测试,自动化测试对测试人员的能力要求相对较高。
2、自动化测试用例需要根据版本迭代进行更新,有一定维护成本。
3、不能指望自动化测试去发现更多新的BUG,自动化测试能发现的缺陷远远比手工测试的少。
4、自动化测试的产出价值往往在于长期的回归测试,短期内发挥的作用可能不明显。
5、自动化测试不能提高测试的有效性,只能用于提高测试的效率。
对于自动化测试的误解
1、有了自动化测试不再需要手工测试。
2、自动化测试对有些测试比如:本地化测试、用户体验测试、探索性测试,测试环境搭建方面并不能完全代替手工测试。
3、自动化测试是对产品的运行,对测试点要有一定的手工测试基础,自动化测试和手动测试相辅相成。
4、自动化测试并不仅指自动化运行测试产品,数据处理也是非常重要的一个环节。
自动化测试前提条件及原则
1、项目周期长,需求稳定近期未变动。
2、前端开发无需多次修改的页面,无缺陷遗留的模块。
3、自动化测试脚本可重复使用,比较频繁的回归测试(由于模块较多,暂时回归测试范围限定为模块主流程)。
4、手工测试难以实现,需要在多平台上运行相同的测试案例及大量重复任务。
5、前期自动化实施应避开复杂度极高的模块
如何实施自动化测试
1、获取信息和测试需求分析:总体把握系统架构和设计,分析出系统的测试需求。
2、设计:设计测试用例,并且挑选出需要自动化实现的测试用例。
3、实现:编写、调试和实现测试脚本。
4、执行:执行脚本的过程,需要不断分析执行过程中的异常。
5、测试结果分析:分析哪些是Bug,哪些是测试框架本身的问题。
6、维护