*以下内容为本人的学习笔记,如需求转载,请声明原文链接 微信大众号「ENG八戒」mp.weixin.qq.com/s/qavI7z8IA…

测试自动化的 10 个最佳实践

尽管大家都知道坚果是十分健康和有营养的,可是,当你尝试吃它的时候,我猜想进程都不会很顺利。

现实便是那么相似,我们都知道测验自动化对软件开发有优点(就像坚果对我们的身体一样!),很遗憾很多公司在不考虑细微差别的状况下就赶着上线测验自动化。假如您不遵循一些规则,您可能会弄巧反拙。

为了防止这种状况,我尝试收集了 10 个测验自动化的最佳实践主张以供大家参考。

方案先行

测试自动化的 10 个最佳实践

无规则不成方圆,做测验也是如此。自动化测验需求策略,策略需求具体的规划。方案在开发阶段将需求哪些测验和测验次数,目的是修正遇到的bug,还有产生过错的根本原因。开发完结之后,任然需求方案回忆,也便是常说的复盘会议,目的是减少重复过错的产生。

必工欲善其事必先利其器

测试自动化的 10 个最佳实践

自动化测验的原意是利用东西协助测验工程师脱离繁杂而重复的细节,并加速测验进程。提到测验自动化的东西,包含了编写测验脚本、运转测验进程、汇总陈述、分析问题、跟踪问题、修正bug和方便内部团队交流的东西。

关于开发人员运用的测验结构,我曾经在其它的推文里介绍过一款 Google 开源的 C++ 测验结构,有兴趣能够点击下方链接了解一下。

《C++ 测验结构 GoogleTest 初学者入门篇 丙》

可见需求的东西名目众多,而且分阶段合作,也十分需求集成到统一的渠道并便于成员理解各个阶段的作用和彼此和谐。

那么有哪些渠道现已在做这些事情呢?

比方,Katalon、LambdaTest、Perfecto、Zebrunner等。

在项目前期就开端

测试自动化的 10 个最佳实践

团队首要使命其实是为了获取效果和企业赚取收益,团队产出的项目效果越早推向市场,越有机会为团队创造效益,究竟剩下来的都是本钱,软件职业最大的本钱就在于劳动力的开销了。假如项目bug发现得越早并且修正完整,那么效果就容易得到主管层的认可,产品上市的门槛算是迈过了。

bug发现越早,留给工程师修正的时刻也就越多,严重的问题更合适在项目前期就发现,后续跟进的搭档也能对此类问题了解更全面。不然,比及工程代码堆积如屎山,待到何时休?唯有项目难产了。

合理利用虚拟环境和实在运用环境

测试自动化的 10 个最佳实践

软件的运转在发布到用户手里之前,能够在虚拟的环境里测验,尽管仅能够对功用测验,可是费用是十分廉价的,任何规划的企业都能够运用。

假如还需求测验产品的功用,获取实时数据,比方传感器、部件、网络信号强弱、电量等,有必要要运用到实在的运用环境才能够达到方针。实在的运用环境往往需求购买特定的设备合作测验,这些设备还要考虑定时保护保养,所以本钱也是一个很重要的要素了。

为了平衡测验方针和本钱要素,虚拟环境和实在运用环境测验需求合理安排,做到平衡。

手动自动彼此合作

测试自动化的 10 个最佳实践

凡是求个度,适度便是好,包括测验自动化。现时状况下,很多要素的作用,测验只能手动履行,所以将它们自动化是没有意义的,不然便是画蛇添足了。

首先,脚本无法模仿人类的一切行为和反响。其次,假如方案的测验只需只履行一次,那么没有必要为此写个自动化脚本,等写完脚本,花都谢了。

那么哪些测验十分合适施行自动化呢?下面做了个列表:

需求施行自动化的测验场景:
很多重复动作
操作很多数据
需求注意力比较会集的操作
需求兼顾各种运转渠道的功用,比方不同操作系统、浏览器、硬件等
比较常用的功用

回归测验

测试自动化的 10 个最佳实践

在添加新功用后需求履行一轮测验用以检查功用是否正常作业,这样的测验就叫回归测验。

回归测验是需求重复履行的,所以自动化地履行并一遍又一遍地运转就显得很必要了。一般主张在回归测验套件种添加冒烟测验、完整性测验和测验用例,方便在测验周期中发现更多的bug。

端到端(E2E)测验

测试自动化的 10 个最佳实践

端到端 (E2E) 测验是从终端用户的角度动身,模拟他们在实践环境下运用运用程序的交互进程,能够确保运用程序按照产品要求运转和正确处理各种用户使命。E2E 测验自动化了用户的关键操作,使得软件的过错能够被快速发现和马上修正,所以对软件发布时刻的加速有很好的推进作用。

切忌独揽一切环节

测试自动化的 10 个最佳实践

试想下,你的团队里假如创立脚本、运转测验和保护它们的都是一个人,那么你的团队作业速度必然难以快速呼应,改代码的速度也会受到影响,更可怕的是假如这人请病假或许离任了会导致一切的测验流程彻底暂停,危险是很高的。所以发起测验流程同享一切权。

假如每个成员都充分了解项目的测验阶段,他们或许能够为流程做出更多贡献。测验工程师假如都能同享测验脚本,那么其中优秀的知识和技术也能被传播到其他成员。还有,同享测验会使到测验进程更加透明。

预期和成果比照,功率最大化

测试自动化的 10 个最佳实践

上面提到测验需求方案,比方方针是什么类型的测验,预估编写测验脚本的工时,运转测验时长,重新发布测验版本软件要多久,再次发动测验进程,测验进程的覆盖率是多少等等,终究会有个总体的时刻预估。

在测验作业完毕后,比照一下预期的方案和实践的花费,为下一阶段的作业做好调整,方针是完成功率的最大化。

坚持更新

测试自动化的 10 个最佳实践

测验的目的是为了筛选出问题,假如过期的测验导致假阳性或许假阴性的成果,会增加工程师分析和修正过错的时刻,减低作业功率,终究还可能误导工程师发布带病的版本软件。尽管通过自动化测验提高了测验的覆盖率,但这是以测验成果准确为前提的。

所以在回归测验中,要及时删去过期的测验例程,更新对应的功用测验。