测试开发中的虫剂悖论

news2024/9/23 7:28:38

  测试开发中的虫剂悖论

  1 初识虫剂悖论

  提到 虫剂悖论(pesticide paradox),我相信很多人都没听说的,除非是生物学专业的同学或者老师。

  虫剂悖论描述的是重复使用某种农药杀灭害虫,时间越久,杀虫的效果就越差。

  之所以这样,是因为出现抗药性,也就是说害虫发生了进化,对这种杀虫药免疫了。

  为了保证农药的杀虫效果,我们必须不断的研究新农药。

  这个理论,运用到软件测试中:

  bug类似于害虫,用例类似于农药,重复使用固定的一批测试用例,能发现的bug就越来越少,遗漏的bug就会越来越多。

  也就是说,测试的有效性会随着时间不断衰减。

  之所以存在这种现象,是因为软件在不断进化,新的bug在不断产生。同样一批用例,只能发现会引起已覆盖功能衰退的regression bug。很多新bug对这批用例是有免疫力的。

  那么,我们如何保持和长期保持测试的有效性呢?

  就像杀虫需要不断更新农药一样,发现bug需要不断更新测试策略和测试用例。

  

  2 应对虫剂悖论

  2.1 更新测试策略

  测试策略是高度依赖测试上下文的。

  当测试上下文发生变化时,测试策略应该随之动态调整。

  例如,在采用基于风险的测试策略时,哪个模块,哪个环节风险大,我们就应该将测试资源朝这个模块,这个环节倾斜。

  软件测试的类型,方法和工具是丰富多彩的。据不完全统计,存在有100种以上的测试类型。在制定测试策略时,可以考虑多样化,组合型的测试策略,例如自动化测试+探索测试,确定性测试+随机Fuzzing,从而实现优势互补和效益最大化。

  2.2 更新测试用例

  对于软件来说,三分开发,七分维护。对于测试用例,其实也类似。测试用例是需要长期维护的。我们需要密切跟踪遗漏出去的bug,及时校准用例,打上补丁。

  同时,我们需要密切跟踪被测软件的变化,评估变化对用户场景的影响。对于产生新用户场景的变化,要及时新增测试用例进行覆盖。

  “测试免疫"是一种客观存在的规律,不以人的意志为转移。对于"测试免疫”,我们不能无动于衷,而要有所作为。

  只有经常主动去更新测试策略和用例,堵住漏洞,提升覆盖,我们才能弥补用例有效性衰减的损失,让测试整体有效性保持在一定的水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

压阻式(压)力传感器-个人笔记

这是个人笔记 最终要求,单个的压阻式压力传感器、阵列之后的压力传感器、三维力传感器 关键词:力传感器,压力传感器,多轴力传感器,应变式传感器,应变式力传感器,电阻应变式传感器,f…

除 svn、Testlink 外,还有哪些不错的测试用例管理工具?

类似TestLink的 9 大测试用例管理平台:1、PingCode;2、TestRail;3、Xray;4、Jira;5、PractiTest;6、PractiTest;7. Zephyr Enterprise;8、MeterSphere;9、Bugzilla。一、…

【Flink】浅谈Flink架构和调度

【Flink】浅谈Flink架构和调度 Flink架构 Flink 是一个分布式系统,需要有效分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,例如【Hadoop YARN】、【Apache Mesos】和【Kubernetes】,但也可以设置作为独立集群甚…

Ethercat系列(2)PDO动态映射设置过程

过程数据对象PDOPDO一般用于实时数据更新;其分为接收PDO(RxPDO)和发送PDO(TxPDO),前者的数据流方向是主站到从站,TxPDO是从站到主站。PDO功能支持同步周期的刷新方式,也支持非周期性…

解决nacos2.1版本连接mysql8.x版本异常的问题

在测试环境部署nacos集群的时候使用的是mysql5.7版本,部署没有什么异常。但是在生产环境中我们使用的是mysql8.x版本,在启动nacos的时候各种报错。在网上看了很多解决办法花了挺长时间去排错也没有处理好问题网上最常见的两种方式修改pom文件&#xff1a…

代码随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费

动态规划 一、309.最佳买卖股票时机含冷冻期 题目: 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票&#x…

前端经典面试500题【上】

一阶段面试题集锦 1、 rem em vw vw 百分比区别 相同点: rem,em,vw,vh,vw属于前端开发除了px单位之外的另外几种单位取值;但是具体含义存在区别 不同点: px:是像素单位&#xff0c…

Databend 开源周报 第 78 期

Databend 是一款强大的云数仓。专为弹性和高效设计。自由且开源。 即刻体验云服务:https://app.databend.com 。 What’s New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 Features & Improvements SQL 消除多余的 group by 标量 …

Docker查看正在运行的容器目录

起因 为了方便操作服务器,大部分都是使用宝塔面板操作的,在宝塔中我发现面板中用来管理Docker的工具使用起来非常方便,如下图: 可以看到宝塔的面板可以直接查看和从操作容器、Compose 、Compose 模板、镜像、网络、存储卷、仓库等…

2022年度总结:拒绝无效努力,实现破圈成长。

在从毕业一直到现在,我都会写一篇关于自己的从技术、商业、人情世故以及未来展望的博文,以至于归纳每个时期的自己, 走在互联网开发的边缘,不得不抽出时间鞭策自己学习新知识,未知的知识是 充满好奇的, 就好…

Centos 7 内核升级

参考 https://www.cnblogs.com/zengkefu/p/5667145.html 一、ELRepo 关于内核种类: kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。 kernel-lt 中的lt是英文【 long term support 】的缩写,elre…

分布式理论之体系结构

写在前面 分布式的体系结构目前有两种,第一种是集中式架构,也就是我们最常见到的master-slave架构,第二种是非集中式架构,也就是我们经常听到的去中心化架构,本文我们就一起来看下吧! 1:集中式…

Android开发技术——车机技术之WMS学习

/ 窗口管理 / 窗口管理核心类介绍 窗口管理使用到的 DisplayContent,WindowToken 和 WindowState。 DisplayContent 用来管理一个逻辑屏上的所有窗口,有几个屏幕就会有几个 DisplayContent。使用 displayId 来区分。 处于不同 DisplayContent 的两个…

免费好用的IPv6之远程管理路由器-OpenWrt上uhttpd的TLS(HTTPS)部署流程介绍

在免费好用的IPv6之远程管理路由器-OpenWrt上uhttpd的使用介绍_123-wqy的博客-CSDN博客_openwrt uhttpd这篇文章的最后,我们已经可以使用80、443端口从路由器内外网的IPv6地址对路由器的WEB界面进行访问。但是,考虑外网访问场景下的安全性问题&#xff0…

初级软件测试面试会问什么 这些问题你都知道吗?

在现如今这竞争十分激烈的软件测试职场中,求职者们想获得一份让自己满意且高薪的工作是十分不易的,因此,只有事先做好充分准备才能让自己通关筹码加倍。在这里,我给各位即将踏入面试征程的初级软件测试小伙伴们准备了一些关于初级…

车载网络测试 - BootLoader刷写 - 总纲

随着车载以太网技术的快速发展,智能汽车也已经走进了千家万户,OTA无线解决方案也逐渐走进了大众的视野;实际上在车载以太网未出现之前,我们车上大多数使用的升级一般都是adb、U盘等不太方便的刷写方式,并且在车上是一种…

字节青训营——架构初探学习笔记

1. 规则引擎 规则引擎是一种嵌入在应用服务中的组件,可以将灵活多变的业务决策从服务代码中分离出来。通过使用预定义的语义模块来编写业务逻辑规则。在执行时接受数据输入、解释业务规则,并做出决策。规则引擎能大大提高系统的灵活性和扩展性。 在字节…

小波神经网络的时间序列预测模型

一、小波变换 波变换主要通过伸缩和平移实现多尺度细化,突出所要处理的问题细节,有效提取局部信息。 将傅里叶变换中无限长的三角函数基换成了有限长的会衰减的小波基。 小波变换不仅可以知道信号的频率成分,还能知道各频率成分出现的时刻…

Win10蓝屏问题:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

最近一段时间,我一直出现蓝屏的情况, 以为是CPU散热不行导致的重启, 因为比较频繁所以在此记录解决这个问题, 还是一贯的风格:图文并茂。终止代码:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED失败的操作&#xff…

关于灰度发布基本问题的解答及轻量化落地方案

由于工作需要,近期又恶补了一下“灰度发布”的相关知识,也和身边小伙伴探讨了轻量化实现灰度发布的落地方案。借此机会,正好将相关内容跟大家整理分享一下。 什么是灰度? 要想了解这个问题就要先明白什么是灰度。灰度从字面意思…