首页 > 其他分享 >测试自动化的 10 个最佳实践

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

时间:2023-05-05 09:15:22浏览次数:40  
标签:脚本 10 需要 测试 自动化 bug 应用环境

虽然大家都知道坚果是非常健康和有营养的,但是,当你尝试吃它的时候,我猜测过程都不会很顺利。

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

为了避免这种情况,我尝试收集了 10 个测试自动化的最佳实践建议以供大家参考。

计划先行

无规矩不成方圆,做测试也是如此。自动化测试需要策略,策略需要详细的规划。计划在开发阶段将需要哪些测试和测试次数,目的是修复遇到的bug,还有发生错误的根本原因。开发完成之后,任然需要计划回顾,也就是常说的复盘会议,目的是减少重复错误的发生。

必工欲善其事必先利其器

自动化测试的本意是利用工具帮助测试工程师脱离繁杂而重复的细节,并加快测试过程。说到测试自动化的工具,包含了编写测试脚本、运行测试过程、汇总报告、分析问题、跟踪问题、修复bug和方便内部团队沟通的工具。

关于开发人员使用的测试框架,我曾经在其它的推文里介绍过一款 Google 开源的 C++ 测试框架,有兴趣可以点击下方链接了解一下。

C++ 测试框架 GoogleTest 初学者入门篇 丙

可见需要的工具名目众多,而且分阶段配合,也非常需要集成到统一的平台并便于成员理解各个阶段的作用和相互协调。

那么有哪些平台已经在做这些事情呢?

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

在项目早期就开始

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

bug发现越早,留给工程师修复的时间也就越多,严重的问题更适合在项目早期就发现,后续跟进的同事也能对此类问题了解更全面。否则,等到工程代码堆积如屎山,待到何时休?唯有项目难产了。

合理利用虚拟环境和真实应用环境

软件的运行在发布到用户手里之前,可以在虚拟的环境里测试,虽然仅可以对功能测试,但是费用是非常廉价的,任何规模的企业都可以使用。

如果还需要测试产品的性能,获取实时数据,比如传感器、部件、网络信号强弱、电量等,必须要使用到真实的应用环境才可以达到目标。真实的应用环境往往需要购买特定的设备配合测试,这些设备还要考虑定期维护保养,所以成本也是一个很重要的因素了。

为了平衡测试目标和成本因素,虚拟环境和真实应用环境测试需要合理安排,做到平衡。

手动自动相互配合

凡是求个度,适度就是好,包括测试自动化。现时情况下,很多因素的作用,测试只能手动执行,所以将它们自动化是没有意义的,否则就是画蛇添足了。

首先,脚本无法模仿人类的所有行为和反应。其次,如果计划的测试只需只执行一次,那么没有必要为此写个自动化脚本,等写完脚本,花都谢了。

那么哪些测试非常适合实施自动化呢?下面做了个列表:

需要实施自动化的测试场景:
大量重复动作
操作大量数据
需要注意力比较集中的操作
需要兼顾各种运行平台的功能,比如不同操作系统、浏览器、硬件等
比较常用的功能

回归测试

在添加新功能后需要执行一轮测试用以检查功能是否正常工作,这样的测试就叫回归测试。

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

端到端(E2E)测试

端到端 (E2E) 测试是从终端用户的角度出发,模拟他们在实际环境下使用应用程序的交互过程,可以确保应用程序按照产品要求运行和正确处理各种用户任务。E2E 测试自动化了用户的关键操作,使得软件的错误可以被快速发现和立刻修复,所以对软件发布时间的加快有很好的推动作用。

切忌独揽所有环节

试想下,你的团队里如果创建脚本、运行测试和维护它们的都是一个人,那么你的团队工作速度必然难以快速响应,改代码的速度也会受到影响,更可怕的是如果这人请病假或者离职了会导致所有的测试流程完全暂停,风险是很高的。所以提倡测试流程共享所有权。

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

预期和结果对比,效率最大化

上面提到测试需要计划,比如目标是什么类型的测试,预估编写测试脚本的工时,运行测试时长,重新发布测试版本软件要多久,再次启动测试过程,测试过程的覆盖率是多少等等,最终会有个总体的时间预估。

在测试工作结束后,对比一下预期的计划和实际的花费,为下一阶段的工作做好调整,目标是实现效率的最大化。

保持更新

测试的目的是为了筛选出问题,如果过时的测试导致假阳性或者假阴性的结果,会增加工程师分析和修复错误的时间,减低工作效率,最终还可能误导工程师发布带病的版本软件。虽然通过自动化测试提高了测试的覆盖率,但这是以测试结果准确为前提的。

所以在回归测试中,要及时删除过时的测试例程,更新对应的功能测试。

标签:脚本,10,需要,测试,自动化,bug,应用环境
From: https://www.cnblogs.com/gongyic/p/17373082.html

相关文章

  • SMU Spring 2023 Trial Contest Round 10
    A.RemoveDuplicates#include<bits/stdc++.h>//#defineinf0x3f3f3f3f#defineendl'\n'#defineintlonglongusingnamespacestd;constintN=2e3+10,mod=1e9+7;//typedeflonglongll;typedefpair<int,int>PII;//queue......
  • 日本「AI 鱼脸识别」项目,每分钟识别 100 条
    By超神经内容提要:近日,日本的一个AI分拣鱼类项目进入实验阶段。这将有望改善日本渔业劳动力老龄化及短缺的社会现状。关键词:AI分拣鱼类计算机视觉日本作为岛国,其独特的地理位置,让国民自古以来就跟鱼结下了不解之缘,甚至形成了其独特的「鱼文化」。因此,日本无论是在养鱼、捕鱼还......
  • win10家庭版没有Hyper-v的解决方法
    pushd"%~dp0"dir/b%SystemRoot%\servicing\Packages\*Hyper-V*.mum>hyper-v.txtfor/f%%iin('findstr/i.hyper-v.txt2^>nul')dodism/online/norestart/add-package:"%SystemRoot%\servicing\Packages\%%i"delh......
  • 2106. 摘水果
    题目链接:2106.摘水果方法:滑动窗口解题思路从\(startPos\)所能到达的最左端\((>=startPos-k)\)的位置\(left\)开始,初始化右指针\(right=left\),\(right\)右移至\(startPos\),因为不知道继续右移能不能到达;当右移超过\(startPos\)时,可能有两种情况:\(startPos......
  • 数学期中测试卷错题总结
    1.概念不清,涉及概念:如果一个数的立方等于a,那么这个数叫做a的立方根,用“”表示,读作“三次根号a”2.概念不清,涉及概念:    1)经过直线外的一点,有且只有一条直线与已知直线与已知直线平行    2)两直线平行,同位角相等    3)垂线段的长度,叫做两条直线的距离......
  • 从功能测试转型测试开发,薪资涨了20K,1000字讲述转型必经之路...
    身处职场之中,犹如逆水行舟不进则退,想要不被后浪拍死在沙滩上,就要不断学习新知识,接受新事物。要得到更好的发展,就要紧跟发展趋势,不断转型才能保持竞争力,在职场中占有一席之地。转型不是一件容易的事,涉及到转型、革新,就要突破现有的框架,必然会经历阵痛。我刚工作时就是一名月薪40......
  • 类的虚函数测试
    #include<iostream>usingnamespacestd;classBaseClass{public:voidfn2(){cout<<"我是base的fn2"<<endl;}voidfn1(){cout<<"我是base的fn1"<<endl;}};classDerivedClass:......
  • GYM 101147K Touristic Trip
    首先可以看出这是一个条件概率\(P(A/B)=\frac{P(AB)}{P(B)}\),其中\(A\)事件为“满足在\(Z\)城市时寄出第\(Q\)张明信片”,\(B\)事件为“满足得到的明信片序列与给出的明信片序列相同”那只需要求出\(P(AB)\)和\(P(B)\)就能得到最终答案了首先考虑\(B\)事件发现......
  • 《花雕学AI》ChatGPT的工作效率神器:110个适应各种情境的高效技巧
    实用技巧分类目录一、最佳ChatGPT4提示二、最佳写作和内容创作ChatGPT提示三、最佳趣味性ChatGPT提示四、最佳网络开发的ChatGPT提示五、最佳音乐主题ChatGPT提示六、最佳职业主题ChatGPT提示七、最佳用于教育的ChatGPT提示八、最佳用于市场营销的ChatGPT提示九、最佳游戏主题Cha......
  • ios app真机测试到上架App Store详细教程-必看
    >​转载:https://blog.csdn.net/p312011150/article/details/89374401iosapp真机测试到上架AppStore详细教程-必看Appuploader常见问题![在这里插入图片描述](https://img-blog.csdnimg.cn/29b86096fa504cd082572f1f8e6b2b53.jpeg#pic_center)转存失败重新上传取消上架基本需......