李纳斯定律:只要有足够多的眼球,可让所有bug浮现
作者:网络转载 发布时间:[ 2015/2/16 15:15:12 ] 推荐标签:缺陷管理 Bug 软件测试管理
开放源代码运动的主要、为大众所知道(并具争议性)的黑客——埃里克·雷蒙(Eric Steven Raymond)在他1999年出版的讨论软件工程方法的文集《大教堂和市集》中首次描述了这样一个精彩的观点:
只要足够多的眼球关注,可让所有软件缺陷浮现。
更正式地来说即是:
只要有足够的测试员及共同开发者,所有软件缺陷都会在很短时间内被发现,而且能够很容易被解决。
他以开源操作系统Linux之父李纳斯·托瓦兹(Linus Torvalds)的名字来命名它,以此向李纳斯致敬。
把代码呈现给多个开发人员,让大家一起判断代码是否合格,这是简单的软件代码审查形式。各种研究和试验都反复的验证了代码审查(形式不限)在发现软件bug和安全漏洞中的有效性,证明代码审查要比软件测试效果好的多。
在关于软件工程方法的《事实与谬论(Facts and Fallacies)》一书中,作者Robert Glass将这条定律描述为开源运动的”真经(mantra)”,但同时认为这条定律并不准确,因为缺乏足够的支持证据,并且有研究发现,遗漏的bug数并不跟审查的人数之间存在线性的变化。更准确的说,当审查人数在2-4个人之间时,效果佳,增加更多的审查者对消除bug比例的影响不大。一些非开源的专业开发人员,他们虽然提倡在软件开发者执行严格的、独立的代码分析,但同时用有限的人手进行深度的代码审查——而不是强调”眼球“的数量。
以的心脏出血(Heartbleed)bug为例——非常重要的开源软件中的一个很肤浅的bug——2年多的时间里没有人能够发现,要知道,全世界上百万台服务器都在使用含有这个bug的OpenSSL软件。但雷蒙对于心脏出血(Heartbleed)这个案例有不同意见,他认为虽然OpenSSL使用广泛,但事实上”没有任何的眼球“注意了它的源代码。
在2001年出版的《黑客伦理与信息时代的精神》(The Hacker Ethic And the Spirit of th Information Age)里,李纳斯在其为此书做的序言中,自己定义了另外一个李纳斯定律”黑客行为的动机是什么?——李纳斯法则(Linus’s_Law)“:人类所有的动机可分为递进的三种类型—生存(survival)、社会生活(social life)、娱乐(entertainment)。
…
“黑客”是已经超越利用计算机谋生存而进入后面两个阶段的人。计算机本身是娱乐。黑客坚信没有比这更高的动力阶段。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11