目前说到测试提效,基本上想到的都是自动化测试。然而,不管是手工测试还是自动化测试,都存在下面的问题,即每一次版本更新时,我们不确定这些更新到底影响范围有多大,无法精准地评估出测试范围,所以不得不执行完整的全回归测试,就算是自动化测试,执行用例花费的时间也不少,严重影响效率。除此之外,当执行用例时,由于是黑盒测试,我们无法确定被测代码的覆盖率,很容易忽略了一些业务场景,导致漏测和线上问题频发。
之前笔者所在团队就有这样的瓶颈,每一次版本更新,测试内容受QA主观人为因素影响较大,QA全凭个人经验来确定改动对系统的影响范围,要么测试范围定小了,造成漏测,引起线上故障,使用体验差,严重时甚至造成巨大的经济损失;要么测试范围过大,造成项目不能如期交付,另外一方面,也导致测试资源紧张。
作为测试的你,是不是也正在经历上面的痛点呢?本文要分享的【精准测试】就是为了解决上面的痛点而生的,接下来笔者将与你分享关于精准测试的知识,以及如何在实际工作中使用。
一、什么是精准测试?
精准测试是基于源代码变更分析,结合分析算法,从而确定改动代码影响的范围,从而进行针对性测试,进一步提升测试效率,不仅如此,精准测试还可以将测试用例与程序代码之间的逻辑映射关系建立起来, 而这个过程则是通过工具去采集测试过程执行的代码逻辑及测试数据。这两个点也正是精准测试的核心:正向追溯和逆向追溯。
所以,精准测试的核心目标可以总结为以下两点:
1、质量的评估不再完全靠个人经验和业务熟悉度,而是通过精准的数据来判定。在测试资源有限的前提下,将用例精简到更加有针对性,提高测试效率,有效的减少漏测风险。
2、代码覆盖率的可衡量性,提升测试质量,同时帮助开发定位缺陷对应的代码执行逻辑,提升缺陷修复效率。
二、什么是正向追溯?
1、【正向追溯】:解决了开发解决bug的盲目性、QA测试覆盖率的可衡量性。
可以分析出哪些代码被覆盖到,哪些代码没有被覆盖,从而统计测试覆盖率,通过代码覆盖率,找出漏测的地方,可以更精准的进行验证,减少重复工作,从经验型的主观判断向精准的数据可视化转变。
在用例执行过程中,开发可以看到QA执行用例的代码细节。从而追溯到调用具体方法与实现类,可直接在代码级定位测试执行的代码缺陷逻辑,并提供最后运行的时序数据;可以更快地定位缺陷对应的代码执行逻辑,帮助开发人员快速修复缺陷,可追踪难复现缺陷。
2、正向追溯的流程:
三、什么是逆向追溯?
1、【逆向追溯】:解决了QA要测什么的问题,实现了代码变更的影响面评估,分析识别增量与变更代码;
QA通过对影响的代码做准确的针对性测试,回归的范围更准确,避免了全量回归造成测试资源的浪费,既保证了质量又缩短了版本的迭代周期;
极大减少回归测试的盲目性和工作量,释放人力成本,将更多的时间和成本投入到更深,更底层的测试工作中;
2、逆向追溯流程:
四、精准测试如何落地?
上面讲的是精致测试的概念和目标以及双向追溯的工作流程,那作为测试,如何进行落定呢?笔者所在的测开团队就基于上述流程实现了公司的精准测试平台,前期使用效果明显。为了让你有个直观的感受,我截取了我们正向和逆向的结果图:
不同公司在实现精准测试平台可能需要结合公司的测试场景而定,但是主要流程还是大同小异。所以如果你具备代码实现能力,可以尝试着实现,我司目前精准测试平台所用的技术栈方面没有设计得很复杂,主要就是后端springboot以及构建和编译的API工具,前端vue。如果你没有代码实现能力,那么你可以作为需求的提出者,推送公司的技术团队去实现,当然有精力的话,也应该学习些开发技术,积累开发经验,然后实现。
五、总结
作为测试,你需要知道精准测试解决的问题和两个核心:正向追溯和逆向追溯。更进一步,你可以作为实现者或者提出者推动精准测试的落地。
希望我的分享可以帮助到你,如果测试、或者实现过程中有什么问题也欢迎给我留言
【爱测试·爱分享】
更多内容可关注公众号:测试专享
专注于性能、自动化、接口测试、中间件等技术,与您分享测试技术点滴,内容涵盖:Jmeter、PTS、Python、Selenium、小程序自动化、Linux等热门测试技术,让您在实战中提升自我。在手机上阅读所有文章,随时随地都能学习。
今天的文章精准测试工具_软件测试基础知识整理分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74712.html