测试三大难题之一 “测试有效性” 的应对策略
创始人
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个小时之前拍摄)

相关内容

热门资讯

据相关数据显示!aapoker... 据相关数据显示!aapoker怎么控制牌(透视)hhpoker破解工具-切实有挂(哔哩哔哩)1、下载...
来临!微信小程序微乐破解器,微... 来临!微信小程序微乐破解器,微乐小程序黑科技,机巧教程(有挂插件)-哔哩哔哩;1、游戏颠覆性的策略玩...
透视肯定!aapoker安装包... 透视肯定!aapoker安装包怎么使用(透视)hhpoker可以开挂吗-其实存在有挂(哔哩哔哩)1、...
透视插件!微乐自建房安装挂,微... 透视插件!微乐自建房安装挂,微乐小程序免费黑科技,教材教程(有挂插件)-哔哩哔哩1、首先打开微乐小程...
黑科技辅助挂!德扑HHpoke... 黑科技辅助挂!德扑HHpoker有挂吗(透视)模拟器打开hhpoker-真是是真的挂(哔哩哔哩)德扑...
目前来看!aapoker透视脚... 目前来看!aapoker透视脚本下载(透视)hhpoker辅助器-竟然是真的挂(哔哩哔哩)该软件可以...
透视好友房!微乐辅助软件购买平... 透视好友房!微乐辅助软件购买平台,微乐小程序黑科技,模板教程(有挂工具)-哔哩哔哩1、超多福利:超高...
透视美元局!微信小程序微乐辅助... 透视美元局!微信小程序微乐辅助器免费版v2.0,微乐小程序黑科技,教材教程(有挂app)-哔哩哔哩1...
无独有偶!智星德州插件最新版本... 无独有偶!智星德州插件最新版本更新内容详解(透视)智星菠萝辅助-确实存在有挂(哔哩哔哩)1、完成智星...
透视科技!微信小程序微乐辅助器... 透视科技!微信小程序微乐辅助器教程图片,微乐小程序黑科技,指引教程(有挂安装)-哔哩哔哩1、完成微信...