1.什么是自动化测试
以程序测试程序,以代码代替思维,以脚本的运行代替手工测试。自动化的测试涵盖了:功能(黑盒)自动化测试,功能(白盒)自动化测试,性能测试,压力测试,GUI(Graphical User Interface)测试,安全性测试等
自动化测试是测试思想的一个延伸,为测试工程师提供了一个“触须”,其行为可以看成一个工具,但是本质上自动化测试还是一种思想。
顺便提一句,狭义上的自动化测试指的就是基于GUI的自动化测试,而单元测试跟API测试,你有想过怎么用手工不借助任何工具去做吗?所以它们天生就属于测试自动化的范畴。
2.自动化测试的优势
回归测试更方便可靠 ;可运行更多,更繁琐的测试,且快速高效;可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;提升了软件的可信度;多环境下测试等。
自动化最实在的优势在于——工作好找:有一个测试工程师(并不是本人)发现一个有趣的现象,她申请过的几乎所有测试职位,在招聘时都需要自动化测试经验。但当她开始工作后,就发现这些公司都试图做自动化测试,但是结果大多不怎么地。不过,尽管她参与的都是一些杯具的项目,不过她总能把这些杯具包装成洗具以应对下一次面试。
所以呢,既然自动化测试有那么多优势,为什么还有那么多项目做失败了呢?
我个人有个推论:自动化测试的优势都是自动化测试成功完成得到的结论,而自动化测试的劣势才是自动化项目立项的基础。
还有个优势:自动化测试可以将产品的知识固化到脚本中,以降低测试人员流动对项目造成的影响。但是这个优势的前提是,这些脚本易于维护,这就需要一些必要的文档,这又是另一个议题了。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036
3.自动化测试无法做到的事以及劣势
永远不可能完全替代手工测试,自动化测试无法做到手工测试的覆盖率,不是每个测试用例都适合做成自动化,如建议一个页面的布局是否正确、安装测试、文档测试、兼容性测试、恢复性测试。
手工测试发现的缺陷远比自动化多。自动化测试是几乎无法发现新缺陷的,最大的用途是用来回归,确保曾经的bug没有在新的版本上重新出现。
自动化测试工具是死的,它不具备任何想象力。自动化测试的好坏,完全取决于测试工程师。
成本投入高,风险大。对测试人员的技术要求高,对测试工具同样有要求。
关于成本,包括了资金预算,人力资源,人员培训,硬件资源等。下图显示了自动化测试的投入成本与时间的关系,很显然,前面多数时间,成本是很高的。
基于以上劣势,所以虽然“贵为”自动化测试工程师,我有一大半的时间在劝老板,“亲,能不能不做自动化”。这真是个悲伤的故事。
4.合适引入自动化
项目周期长,系统版本不断,并且需求不会频繁变更,此时是适合引入自动化测试的。
系统的测试对象基本可以正常识别,以及对无法识别的控件能否提供一个解决方案。
系统中不存在大量的不可识别第三方控件。
需要反复测试,如可靠性测试、回归测试等需要进行上千次的系统测试
5.不适合自动化
项目周期短,需求频繁变更。即使是周期长的项目,如果经常需求变更,也不适合做自动化。
软件版本还没有稳定的情况下,主功能或大量功能有被重新更改的可能话,也不适合做自动化。
没有明确的项目测试自动化计划,措施和管理。
多数对象无法识别,以及脚本维护频繁与艰难,二者有其一,自动化必定失败。
6.自动化测试的流程
合理的自动化切入点: 通常,项目只有经历了完整的系统测试之后才算具备了基本的引入测试自动化的条件。
个人观点:无论什么测试,越早介入则越有利于降低成本,降低风险。而随着新型的开发模式兴起,自动化测试也具备了尽早介入的条件。比如敏捷开发中,某核心模块核心功能完成后,则可针对该模块的该功能开始实施自动化测试化
7测试脚本设计与开发
测试脚本大致可划分为:
(1)线性脚本:通过录制直接产生的线性可执行的脚本
(2)结构化脚本:具有顺序,循环,分支等结构的脚本
(3)可共享脚本:可以被多个测试用例使用,被其他脚本调用的脚本(即模块化的脚本)
(4)数据驱动脚本:测试数据跟业务流程控制分离的脚本,通过读入数据文件来驱动流程进行的脚本
(5)关键字驱动脚本:脚本,数据,业务分离,数据和关键字在不同的数据表中,通过关键字来驱动测试业务逻辑。关键字驱动的特点是,它更像是描述一个测试用例在做什么,而不是如何做。
(6)混合型脚本:以上任意两种及以上
(7)敏捷自动化测试脚本/框架
感谢每一个认真阅读我文章的人!!!
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。