世界通讯!测试自动化的 10 个最佳实践
我们都知道测试自动化对软件开发有好处(就像坚果对我们的身体一样!),很遗憾很多公司在不考虑细微差别的
*以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/qavI7z8IAy8qaiQvuQgURQ
(资料图)
虽然大家都知道坚果是非常健康和有营养的,但是,当你尝试吃它的时候,我猜测过程都不会很顺利。
现实就是那么相似,我们都知道测试自动化对软件开发有好处(就像坚果对我们的身体一样!),很遗憾很多公司在不考虑细微差别的情况下就赶着上线测试自动化。如果您不遵循一些规则,您可能会弄巧反拙。
为了避免这种情况,我尝试收集了 10 个测试自动化的最佳实践建议以供大家参考。
计划先行无规矩不成方圆,做测试也是如此。自动化测试需要策略,策略需要详细的规划。计划在开发阶段将需要哪些测试和测试次数,目的是修复遇到的bug,还有发生错误的根本原因。开发完成之后,任然需要计划回顾,也就是常说的复盘会议,目的是减少重复错误的发生。
必工欲善其事必先利其器自动化测试的本意是利用工具帮助测试工程师脱离繁杂而重复的细节,并加快测试过程。说到测试自动化的工具,包含了编写测试脚本、运行测试过程、汇总报告、分析问题、跟踪问题、修复bug和方便内部团队沟通的工具。
关于开发人员使用的测试框架,我曾经在其它的推文里介绍过一款 Google 开源的 C++ 测试框架,有兴趣可以点击下方链接了解一下。
《C++ 测试框架 GoogleTest 初学者入门篇 丙》
可见需要的工具名目众多,而且分阶段配合,也非常需要集成到统一的平台并便于成员理解各个阶段的作用和相互协调。
那么有哪些平台已经在做这些事情呢?
比如,Katalon、LambdaTest、Perfecto、Zebrunner等。
在项目早期就开始团队首要任务其实是为了获取成果和企业赚取收益,团队产出的项目成果越早推向市场,越有机会为团队创造效益,毕竟剩下来的都是成本,软件行业最大的成本就在于劳动力的开销了。如果项目bug发现得越早并且修复完整,那么成果就容易得到主管层的认可,产品上市的门槛算是迈过了。
bug发现越早,留给工程师修复的时间也就越多,严重的问题更适合在项目早期就发现,后续跟进的同事也能对此类问题了解更全面。否则,等到工程代码堆积如屎山,待到何时休?唯有项目难产了。
合理利用虚拟环境和真实应用环境软件的运行在发布到用户手里之前,可以在虚拟的环境里测试,虽然仅可以对功能测试,但是费用是非常廉价的,任何规模的企业都可以使用。
如果还需要测试产品的性能,获取实时数据,比如传感器、部件、网络信号强弱、电量等,必须要使用到真实的应用环境才可以达到目标。真实的应用环境往往需要购买特定的设备配合测试,这些设备还要考虑定期维护保养,所以成本也是一个很重要的因素了。
为了平衡测试目标和成本因素,虚拟环境和真实应用环境测试需要合理安排,做到平衡。
手动自动相互配合凡是求个度,适度就是好,包括测试自动化。现时情况下,很多因素的作用,测试只能手动执行,所以将它们自动化是没有意义的,否则就是画蛇添足了。
首先,脚本无法模仿人类的所有行为和反应。其次,如果计划的测试只需只执行一次,那么没有必要为此写个自动化脚本,等写完脚本,花都谢了。
那么哪些测试非常适合实施自动化呢?下面做了个列表:
需要实施自动化的测试场景: |
---|
大量重复动作 |
操作大量数据 |
需要注意力比较集中的操作 |
需要兼顾各种运行平台的功能,比如不同操作系统、浏览器、硬件等 |
比较常用的功能 |
在添加新功能后需要执行一轮测试用以检查功能是否正常工作,这样的测试就叫回归测试。
回归测试是需要重复执行的,所以自动化地执行并一遍又一遍地运行就显得很必要了。一般建议在回归测试套件种添加冒烟测试、完整性测试和测试用例,方便在测试周期中发现更多的bug。
端到端(E2E)测试端到端 (E2E) 测试是从终端用户的角度出发,模拟他们在实际环境下使用应用程序的交互过程,可以确保应用程序按照产品要求运行和正确处理各种用户任务。E2E 测试自动化了用户的关键操作,使得软件的错误可以被快速发现和立刻修复,所以对软件发布时间的加快有很好的推动作用。
切忌独揽所有环节试想下,你的团队里如果创建脚本、运行测试和维护它们的都是一个人,那么你的团队工作速度必然难以快速响应,改代码的速度也会受到影响,更可怕的是如果这人请病假或者离职了会导致所有的测试流程完全暂停,风险是很高的。所以提倡测试流程共享所有权。
如果每个成员都充分了解项目的测试阶段,他们或许可以为流程做出更多贡献。测试工程师如果都能共享测试脚本,那么其中优秀的知识和技能也能被传播到其他成员。还有,共享测试会使到测试过程更加透明。
预期和结果对比,效率最大化上面提到测试需要计划,比如目标是什么类型的测试,预估编写测试脚本的工时,运行测试时长,重新发布测试版本软件要多久,再次启动测试过程,测试过程的覆盖率是多少等等,最终会有个总体的时间预估。
在测试工作结束后,对比一下预期的计划和实际的花费,为下一阶段的工作做好调整,目标是实现效率的最大化。
保持更新测试的目的是为了筛选出问题,如果过时的测试导致假阳性或者假阴性的结果,会增加工程师分析和修复错误的时间,减低工作效率,最终还可能误导工程师发布带病的版本软件。虽然通过自动化测试提高了测试的覆盖率,但这是以测试结果准确为前提的。
所以在回归测试中,要及时删除过时的测试例程,更新对应的功能测试。
关键词:
[ 相关文章 ]
我们都知道测试自动化对软件开发有好处(就像坚果对我们的身体一样!),很遗憾很多公司在不考虑细微差别的
1、武汉专科学校排名是:武汉职业技术学院、武汉船舶职业技术学院、襄阳职业技术学院、黄冈职业技术学院、
格隆汇5月4日丨浙商银行公布,由于年度股东大会第5项有关2022年度利润分配方案之普通决议案已获批准通过,
5月4日,南溪区委统战部在机关会议室组织集中收看由国家民族事务委员会与中央广播电视总台联合摄制的《团结
5月4日晚,随着音乐声响起,海淀区西北旺镇西北旺村首届“五四青歌会”拉开帷幕。在妙儿山乡村大舞台上,来
兴登堡开怼“华尔街狼王”但这次做空收益或许有限?
1、1,打开国家新闻出版广电总局官方网站,网站中间处有:“办事查询”输入框。2、2,依然是在国家新闻出版
全文共1927字,阅读大约需要6分钟精准控制库存、不断提升性价比、会员制锁定消费者,预制菜向C端迈进。记者
直播吧5月4日讯去年11月13日,NFL(美国职业橄榄球大联盟)在慕尼黑市的安联球场进行了一场比赛,NFL近期公
5月1日,美国第一共和银行确定被出售给摩根大通,该银行也成为继硅谷银行、签名银行之后,两个月来被关闭和
近日,浙江省市场监督管理局发布2022年度浙江省热轧光圆钢筋、学生用品、儿童及婴幼儿服装等130种流通领域
5月4日,联邦快递宣布提升其国际快递服务,以满足亚太地区客户在可靠、多样化服务方面日益增长的需求。客户
“五一”小长假期间,衡水市民或外出旅游,或近郊赏景、或聚餐团圆、或健身娱乐、或休闲购物,从容品味轻松
近日,根据微软在ChromiumGerrit提交的变更列表,通过“少量代码调整”,能够让基于Chromium的浏览器在Win11Version22H
自江金华一对母女因为在景区插队引发关注后,最近有一女子以带娃上厕所为由插回队伍引发轩然大波。带着孩子
不用进等待名单了!微软开放BingChat聊天机器人功能,微软,插件,机器人,bing,chat
1、主要写一下主要的工作内容,取得的成绩,以及不足,最后提出合理化的建议或者新的努力方向。2、工作总结
【文化评析】作者:陈之琪(媒体评论员)日前,2023年传统村落集中连片保护利用示范名单公布,北京市密云区
1、孙达尔瑟拉是挪威的城镇。2、由默勒-鲁姆斯达尔郡负责管辖。3、位于该国西南部 。文章到此就分享结束,
当“五一”假期遇上五五购物节,消费持续回暖,假日经济再现新活力。恰逢百联集团20周年庆,百联股份旗下百
[ 相关新闻 ]
Copyright 2015-2022 全球医院网 版权所有 备案号:豫ICP备20009784号-11 联系邮箱:85 18 07 48 3@qq.com