测试悖论

“你在测什么”,我现在耳边总是回响着那句话。因为无论我们现在做得多么深入,总是无法摆脱我们实际面临的问题,我们到底要测些什么,才能保证软件的质量。想想小时候我们做数学考卷,我们是如何保证答案的正确性的,无非是要么每一步再算一遍,要么是换种方法再求证一遍。如果换到软件开发的话,似乎开发只要做好足够的单元测试便能控制质量了。其实事实也正是如此,随着敏捷开发,测试驱动等等的这么一大堆新颖概念的出现,单纯的系统手工测试将越来越少了。你甚至能看到很多关于测试将死的文章。
  于是开始引出测试的一个悖论,即测试就是要消灭自己。
  因为随着我自己的经验不断的积累,越发深入之后,我会发觉,一般正常的程序员总是能满足需求实现功能的,然而很多问题则出在异常处理,条件出错等等。所以很多时候,我会直接看代码,需求部分的逻辑判断只要写对就不再会有问题,剩下的就是看对可能的异常情况是否做判断和处理 。如果这部分欠缺,那直接给个用例便能验证。可是,对于我这种金牛座的人来说,问题来了,如果我知道该怎么写,为什么我不去写代码,我完全可以替代掉开发写出高质量的代码,因为我能有测试的思维,我知道该处理哪些异常情况。想到这里,你便能明白,开发是能够做得更好的,他们拥有技术,缺的只是一种质疑的态度。如果他们有测试的思维,代码既能满足需求又能控制异常,那测试做什么。
  测试开始专注业务吗,找到业务隐藏的缺陷?那我觉得请几个业务专家或者产品更合适,他们才是业务的开发者,他们真正了解业务背后的盈利模式和整个市场的动向,你只不过知道那简单的业务流程而已,有时你还甚至为此高兴觉得好像知道很多似的。好了,其实对于公司而言,你的角色是有点尴尬的,你不创造价值,反而你还消耗资源。于是你发现,完全可以不需要测试这个角色啊。这时我又想起过去老大招人的一个条件,认可测试这份工作。
  认可测试,多么简单的一句话,却道出了所有事情的真相。我们的存在便是要消灭自己,在控制成本的前提下,越来愈多的公司都没有单纯的手工测试了,随着人力成本的提高,这是一个必然趋势。但目前来说还是会有很大需求,因为中国人便宜嘛,花点小钱请人来点点控制一下风险,产品也就能上线赚钱了,多好,你说呢? 
  但是如果文章写到这里就结束,似乎话还只说了一半。因为我否定掉了大部分人的工作却没有指明一条路,未免有点刻薄。
  不过我也不想告诉你去搞自动化,去搞性能才是正道。正如还是那句话,你在测什么,同样的问法,你在做什么,你为何选择测试,你就会知道你的方向了。 这个真得要扪心自问了。

时间: 2024-10-09 20:07:54

测试悖论的相关文章

人性的洪流

 人性的洪流 —— 读蒋方舟<天才的出走>有感 正因标准的建立,才产生了期望与失望,进而产生多样的人性和心理. 人性不能简单地划分为善与恶.善与恶只是深层人性的表现形式,正如编程与写作是语言与逻辑的表现形式.   善不至大善,恶不至极恶.人真正的敌手是自己的欲望. 绝大多数人希冀和追求幸福安宁的人生:然而,在追求幸福的过程中,常常也会受到人性野兽的侵扰和役使.唯有正视人性中的复杂成分,解析它,驾驭它,才能不被人性之”恶“所役使. 人性中的复杂成分主要有恐惧与斗争.互惠与互斥(排斥与吸引).优越

浅谈A/B测试里常见的辛普森悖论,企业决策者必看

A/B测试背后有着高深的统计学知识,今天我们就来讲讲常见的辛普森悖论. 辛普森悖论 (Simpson's Paradox) 是英国统计学家 E.H.辛普森 (E.H.Simpson) 于1951年提出的悖论,即在某个条件下的两组数据,在分别讨论时都会满足某种性质,可是一旦合并起来进行考虑,却可能导致相反的结论. 举一个辛普森悖论的简单小例子:一个大学里有商学院和法学院两个学院.这两个学院的女生都抱怨"男生录取率比女生录取率高",有性别歧视.但是学校做总录取率统计,却发现总体来说女生录取

科学家的哲学悖论

原文链接 1.奇怪的理发师 罗素悖论(Russell's paradox)也称为“理发师悖论”.这里的罗素,就是大名鼎鼎的伯特兰·罗素,曾获诺贝尔文学奖的英国哲学家.数学家和政治活动家.1920年,罗素来中国讲学,maozedong曾任记录员.罗素反战.反宗教的思想也为中国人熟知. “罗素悖论”是罗素在数学上的重要成果,它直接造成了第三次数学危机. “罗素悖论”说有一个理发师,他只帮“所有不自己刮脸的人刮脸”.那理发师该给自己刮脸吗?如果刮,那就违反了承诺.如果不刮,按照承诺他又该刮.矛盾出现了

测试浅谈(原则、简单流程)

1.测试的原则:·测试证明软件存在缺陷·不可能执行穷尽测试.·测试应尽早启动.尽早介入·缺陷存在群集现象(二八定律)·杀虫剂悖论·不同的测试活动依赖不同的测试背景·不存在缺陷的谬论 2.测试的流程·1.需求分析·2.测试计划[一般测试组长]·3.用例设计·4.执行用例(基础.基本)·5.缺陷跟踪·6.测试总结[一般测试组长] 测什么?·软件源代码·与软件源代码匹配的文档·支撑软件源代码运行的配置数据·需求阶段-----需求规格说明书·系统设计阶段-----概要设计说明书.详细设计说明书·系统测试

为Google每年带来100亿美元增长的A/B测试是什么?

最近,前Facebook工程师覃超一篇关于2010年到2015年Facebook改版网站首页历程的文章受到极大关注.按照他的记录,2012年,当时的Facebook产品副总裁带领一支公司内部顶尖高手组成的团队,历时大半年开发了新的网站首页,进行了重大的改版与更新.随后,Facebook对该首页进行了A/B测试:当测试到5%用户群的时候,各项数据指标都在下滑:当测试到12%用户群的时候,下滑趋势依旧明显.于是,Facebook不得不放弃了这支30余人团队近一年努力的结果. A/B测试是个什么鬼?

软件测试中的杀虫剂悖论

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

测试工作近三年有感

不知不觉快三年了,三年只是相当于读了一次研,不过我读研的时候是实现了从不会写代码到会写一点代码的0-1式飞跃,而这工作这三年,虽然收获了一些,但也没有好好进行梳理,年后工作稍闲,整理了下思路 第一年 熟悉业务,熟悉流程,熟悉工具,什么都是新的,充满了新鲜感,感觉各种高大上,干活充满激情,双休日也喜欢去公司加班,边加班边调环境,对服务和部署理解飙升,感觉基本已是无敌状态.当然我也知道部门很穷,但是日子过得很开心.只不过我认认真真测彩票,没啥漏测也基本不延期,为什么没人表扬我,后来想了想,要跟对项目

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

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

Miller-Rabin 素性测试 与 Pollard Rho 大整数分解

\(\\\) Miller-Rabin 素性测试 考虑如何检验一个数字是否为素数. 经典的试除法复杂度 \(O(\sqrt N)\) 适用于询问 \(N\le 10^{16}\) 的时候. 如果我们要把询问范围加到 \(10^{18}\) ,再多组询问呢? Miller 和 Rabin 建立了Miller-Rabin 质数测试算法. \(\\\) Fermat 测试 首先我们知道费马小定理: \[ a^{p-1}\equiv 1\pmod p \] 当且仅当 \(p\) 为素数时成立. 逆命题是