自动化测试
什么是自动化测
什么是自动化测试?
随着软件产业的不断发展,市场对软件周期的要求越来越高,于是催生了各种开发模式,如大家熟知的敏捷开发,从而对测试提出了更高的要求。此时,产生了自动化测试,即利用工具或者脚本来达到软件测试的目的,没有人工或极少人工参与的软件测试活动称为自动化测试。
自动化测试
为什么进行自动化测试
为什么要进行自动化测试?
例如:我现在要模拟5000人来一起订火车票,你不可能找5000人约好3点一起订火车票,你不可能找5000人一起约好3点来订票,而是通过一些工具,来写一些程序代码,代码运行模拟出5000人一起订票的场景,这就是自动化测试。
还有很多自动化测试场景:例如:你正在使用的软件过程中,经常会遇到两个下拉列表框,12306系统的,出发地和目的地就是两个标准的下拉列表框,组合情况可能有上万种,要是派一个人在那点点点(手工测试),估计需要点两天时间,而使用自动化,写一段代码,然后反复执行,5分钟就可以搞定。
自动化测试
自动化测试的优势
从上面可以看出,自动化测试的好处显而易见,它能够帮助测试人员从重复、枯燥的手工测试中解放出来,增加测试的广度和深度,从而提高测试的质量;缩短回归测试时间,提高测试效率,从而缩短项目的交付周期。
自动化测试在提升软件测试团队效率方面有很多优势:
1.快速的进行回归测试
2.快速反馈测试结果
3.可以支持几乎无限制的测试用例迭代执行
4.可以有效的支持敏捷、极限编程思想
5.自定义的缺陷报告
自动化测试
哪些项目适合自动化测试
哪些项目适合自动化测试?
1. 需求变动不频繁
2. 需要在多平台上重复运行相同测试的场景
3. 自动化测试脚本可重复使用
4. 系统可测性强,被测软件的开发较为规范
可测性强主要出于这几点考虑:被测试系统的架构差异、测试技术和工具的适应性、测试人员的能力能否设计开发出适应差异的自动化测试框架。如地图导航,视频播放,这个软件的可测性,与系统使用的架构有关,是否实现自动化,要看测试人员的能力能否开发出适用与此类系统的框架。
被测软件的开发必须规范,是指前端的UI元素是否容易定位,接口的设计是否符合规划,并且有相应的接口文档。
5. 手工测试无法完成的测试
接口测试、性能测试、配置测试、大量数据输入测试,这些就是需要投入大量时间与人力也可以引入自动化测试。
6. 敏捷开发,频繁的版本迭代
敏捷开发,增量式开发,持续集成项目由于这种开发模式是频繁的发布新版本,需要频繁的回归测试,自动化能把能从回归测试中解脱出来测试新的功能。
自动化测试
不适合自动化测试的项目
不适合做自动化测试的项目的特点:
被测系统或需求不稳定,你永远会奔波在自动化测试用例的更新、维护、调试和测试报告的分析中,得不偿失。
项目时间非常紧张。建自动化测试框架,开发测试脚本非常需要时间,对时间比较紧张的项目可以先不考虑自动化。
定制型项目或一次型项目,为客户定制的产品,维护期由客户方自行承担的,甚至采用的开发语言、运行环境都是客户特别要求的,这样的项目不适合作自动化测试。
项目周期很短,不值得花精力去进行自动化测试,好不容易编写好的测试脚本,不能得到重复的利用是一种资源的乱费。
业务规则非常复杂的项目。业务规则很复杂,有很多的逻辑关系、运算关系,工具就很难判断得到的结果是异常还是正常。
易用性测试,美观,声音等人的感观方面测试。
自动化测试成效不高,自动化测试就是让它不厌其烦的、反反复复的运行才有效率。
涉及物理交互,如打印,需要刷卡等。工具很难完成与物理设备的交互。
自动化测试
总结
自动化测试是,把人工对软件的测试转换为由机器执行测试行为的一种实践,可以把测试工程师从哪个机械重复的测试工作中解脱出来,讲更多的精力放在新功能的测试和更全面的测试用例设计上。但自动化测试不是万能的,它是测试人员工具箱里的一件工具,它无法取代测试工程师的地位。不管项目适不适合自动化测试,只要用对地方,就能使我们获益匪浅。
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
自动化测试相关教程推荐:
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!