测试三大难题之一 “测试有效性” 的应对策略
创始人
2024-07-09 09:20:46
0

在《软件测试三大难题:我们必须面对和解决 》文章中提到三大难题,前面已经讨论了两大难题:

  • 测试三大难题之一“Test Oracle”的应对策略

  • 《测试三大难题之一 “测试充分性” 的应对策略》

下面则讨论最后一道难题:“测试有效性”。

测试有效性,如前面所说,它更关注如何测的问题、更关注测试过程的效率,即如何在有限的资源和时间内,最大化测试的价值。就这一点,其实三年前发表过一篇文章:如何最大化软件测试效能?(附分享的PPT),把这问题说得比较透测。

如果更准确说,测试有效性更关注每一项测试、每一次测试都是有效的,没有做无用功。之前,有同学分享过在单元测试的有效性,即用变异测试来检验测试的有效性。简单说,代码中某个被测试的条件做了改变,原先测试这项条件的测试用例能够发现这个Bug,即能够杀死所发生的变异。否则,原先测试这项条件的测试用例不能发现这个Bug,说明这项测试用例是无效的。

那么对接口测试、系统测试,也可以引入类似的概念来检验测试的有效性。只是在单元测试的代码中注入缺陷比较容易,在系统级注入测试会复杂,甚至引起一连串的问题。看看能否将常规的测试和混沌工程联系起来?你可以试着回答这样的问题。

测试有效性,除了通过变异测试来检验之外,其实就是要:

  1. 消除重复测试

  2. 消除测试中的等待时间

  3. 消除没必要的测试

  4. 消除没有价值的测试

第一项比较简单,第二项比较明确,做起来还是需要功力,包括如何构建虚拟的测试环境,并和CI/CD集成,做到持续测试。

第3项和第4项看似接近,其实含义是不同的。根据测试目标或基于风险的测试策略,我们不需要做到非常接近100%的测试,例如我们根据80/20原则,只要覆盖80%的风险,那么再做覆盖额外20%的测试是不必要的。

没有价值的测试,是指测试没有从用户的角度出发、没有服务于产品愿景。例如,虽然我们做了某些功能的测试,但这项功能设计就是错误,这项功能就已经偏离用户需求、偏离产品愿景方向,做这类功能的测试,就是没有意义的。

测试有效性,也存在着和测试充分性的博弈,片面追求某一项目标,可能都会带来新的问题,达到平衡,才是最重要的。要想达到平衡,这又涉及测试策略,可以参考软件测试三大难题:我们必须面对和解决》。

测试有效性,也可以参考我和两位朋友联合翻译的一本书《Effective in 软件测试》。

这周在英国剑桥大学,就先写这么多。每一位读者可以有更多的科学、哲学的思考,把测试引向更有价值、更高效的测试之路上。

(剑桥的数学桥,2个小时之前拍摄)

相关内容

热门资讯

教学辅助挂!德普之星私人局透视... 教学辅助挂!德普之星私人局透视,德扑之星私人局辅助,窍门教程(有挂透视)1、实时德扑之星私人局辅助透...
第三分钟辅助!小程序微乐陕西挖... 第三分钟辅助!小程序微乐陕西挖坑辅助(辅助挂)总是是有辅助攻略(有挂功能)1、上手简单,内置详细流程...
反观!hhpoker是真的假的... 反观!hhpoker是真的假的,好友赣南新版本辅助,法门教程(有挂技术)1、好友赣南新版本辅助免费辅...
第二分钟辅助!边锋小程序透视器... 您好,边锋小程序透视器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩...
推出新举措!wepoker安装... 推出新举措!wepoker安装教程,微乐小程序脚本,操作教程(有挂规律)运微乐小程序脚本辅助工具,进...
第1分钟辅助!新九九辅助(辅助... 您好,新九九辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这...
2026版规律!wepoker... 2026版规律!wepoker透视有没有,九九联盟解码器,指引教程(有挂辅助)1、完成九九联盟解码器...
第十分钟辅助!甘肃胡乐白银辅助... 第十分钟辅助!甘肃胡乐白银辅助(辅助挂)切实真的是有辅助工具(证实有挂)1、甘肃胡乐白银辅助模拟器是...
受玩家影响!agpoker辅助... 受玩家影响!agpoker辅助,创思维透视辅助器,手筋教程(有挂方法)1、完成创思维透视辅助器辅助器...
第7分钟辅助!大唐麻将辅助软件... 第7分钟辅助!大唐麻将辅助软件(辅助挂)确实存在有辅助脚本(有挂细节)大唐麻将辅助软件脚本下载中分为...