悖论软件测试农药

在软件測试中有一种称为杀虫剂悖论(pesticide paradox)的现象,即对软件进行越多的測试,那么该软件对软件測试人员的測试就越具有免疫力。

首先,我们先来看下什么是杀虫剂悖论,每年各种各样的害处突击田野和农作物,农业专家们要找到正确的对抗方法,用改良的配方设计出杀虫剂。

可是害虫适应了新的杀虫剂,产生了免疫力。使新杀虫剂失效。随后的几年里,老的杀虫剂仅仅能用来杀死没有免疫力的害虫,同一时候还必须引入一些新的改良配方,同更顽强的新编译害虫作斗争。新旧杀虫剂的结合有时阻碍了旧杀虫剂效能的发挥。

随着时间的流逝,旧的杀虫剂变得毫无用处。于是,害虫和杀虫剂不停的战斗,看终于谁占上风。有时杀虫剂赢,可是,有时害虫又能够成功的战胜最新的杀虫剂。这场斗争的结果是大自然和杀虫剂的不断发展变化。

在软件測试中,为了克服“杀虫剂悖论”,測试用例须要常常的评审和改动,不断添加新的不同的測试用例来測试软件或系统的不同部分,保证測试用例永远是最新的。即包括着最后一次程序代码或说明文档的更新信息。这样软件中未被測试过的部分或者先前没有被使用过的输入组合就会又一次运行,从而发现很多其它的缺陷。软件測试人员必须不断地编写新的不同的測试来检验程序的不同部分从而找出很多其它的bug。让其它的人来測试你的程序将有助于打破”杀虫剂悖论”。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-12 21:59:12

悖论软件测试农药的相关文章

软件测试中的杀虫剂悖论

在软件测试中有一种称为杀虫剂悖论(pesticide paradox)的现象,即对软件进行越多的测试,那么该软件对软件测试人员的测试就越具有免疫力. 首先,我们先来看下什么是杀虫剂悖论,每年各种各样的害处袭击田野和农作物,农业专家们要找到正确的对抗方法,用改良的配方设计出杀虫剂.但是害虫适应了新的杀虫剂,产生了免疫力,使新杀虫剂失效.随后的几年里,老的杀虫剂只能用来杀死没有免疫力的害虫,同时还必须引入一些新的改良配方,同更顽强的新编译害虫作斗争.新旧杀虫剂的结合有时阻碍了旧杀虫剂效能的发挥.随着

论测试用例的有效更新及杀虫剂悖论

论测试用例的有效更新及杀虫剂悖论 在2014年,我们团队试图推动一件事情--把产品后端(客户.客服.生产制造等等)出现的问题,反向增补为测试用例,扩充到测试用例库中,避免后续重复的出现问题--早些年柳传志在创业类的节目问一个选手,作为老板,你每天第一件要处理什么事情.选手按照自己的优先级和重要性说了一堆.柳传志说:你应该优先处理反复出现的问题. 复盘论是联想的看家本领,这也仅借用一下这个意思. 尝试这么做了一段时间,把已经形成的反向增补测试用例,推广到相关测试用例库,然后在实际中执行和检查,一段

软件测试基础(一)

一.测试的定义:是指通过人工或自动的手段,对被测对象进行检测的活动,其目的在于发现被测对象与客户需求之间的差异,或者说弄清楚实际结果与预期结果之间的差异. 二.软件:源代码.用户手册.配置数据. 三.测试对象:软件源代码.与软件源代码匹配的文档.支撑软件源代码运行的配置数据(系统设计阶段:概要设计文档.详细设计文档.是否有设计或逻辑上的错误:编码阶段:测试源代码(发现编程上的错误):系统测试阶段:被测对象是否满足用户需求). 四.软件测试的目的(软件测试工程师存在的价值): 1.发现被测对象与用

软件测试基本原则

软件测试经过几十年的发展,测试界提出了很多软件测试的基本原则,为测试管理人员和测试人员提供了测试指南.软件测试原则非常重要,测试人员应该在测试原则指导下进行测试活动. 软件测试的基本原则有助于测试人员进行高质量的测试,尽早尽可能多的发现缺陷,并负责跟踪和分析软件中的问题,对存在的问题和不足提出质疑和改进,从而持续改进测试过程. 原则1: 测试显示缺陷的存在 测试可以显示缺陷的存在,但不能证明系统不存在缺陷.测试可以减少软件中存在缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全

学习软件测试:软件测试是对程序能够按预期运行建立起一种信心。

法门扫地僧原创作品:转载请注明出处测试:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异. 软件测试=程序测试??       不对.软件测试.(软件概要设计,软件详细设计,软件运行环境,软件测试都行,软件需求,软件源代码,可运行程序.) 软件测试的五大要求和两个目标.质量,人员,测试覆盖率,测试效率,资源,流程,技术. 软件测试所遵循的原则;1.测试显示缺陷的存在,但不能证明系统不存在缺陷.2.穷尽测试是不可能的,应设置终止条件.3.

软件测试基础(1)

目录 l 软件测试基础 l 掌握软件测试相关的概念 l 掌握软件生命周期以及各阶段相关的工作 l 掌握测试的对象和原则 l 了解软件开发模型 l 掌握软件测试模型及各模型的特点 l 掌握软件测试的方法和类型 l  了解软件测试质量及测试与QA的关系.区别 测试相关概念 IT( information technology )信息科技和产业的意思 软件:一系列按照特定顺序组织的计算机数据和指令的集合程序+数据+文件 产品:能够供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物

软件测试基础(第一阶段)

系统测试模块 一,测试基础 1,什么是软件测试(定义) 使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异, 这里的软件指:软件的源代码,用户手册,配置数据 这些都是软件的构成,都是我们的测试对象 2.软件测试的目的 发现被测对象和用户需求之间的差异(俗称,找bug) 通过测试活动发现并解决的缺陷,增加人民对被测对象的信心 通过测试,获取被测对象的质量信息,为决策提供数据依据 通过测试活动,预防缺陷,从而降低产品的风险 3.测试原则 测试

软件测试面试题汇总

软件测试面试题汇总 测试技术面试题    4 1.什么是兼容性测试?兼容性测试侧重哪些方面?    4 2.我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?   5 3.测试的策略有哪些?    5 4.正交表测试用例设计方法的特点是什么?   5 5.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?    5 6.描述测试用例设计的完整过程?   5 8.单元测试的策略有哪些?    5 什么是并发?在lordrunne

软件测试的理解

IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异. 测试对象:软件需求.软件概要设计.软件详细设计.软件源代码.可运行程序.软件运行环境.覆盖到软件研发过程中的方方面面 五大要素:质量.人员.资源(硬件设备.网络环境.时间).流程(规范要求).技术? 目标:保证软件质量:(1)提高测试覆盖率 (2)提升测试效率? 遵循原则?:1.测试显示缺陷的存在,但不能保证系统不存在缺陷 2.穷尽测试时不可能的,应及时设定测试终止条件