原代码下载 TestRun0512.exe (120KB)
悖论很奇妙。在本月的专栏里,我将向你们展示你们进行软件测试时可能遇到的三个有趣的案例。他们本质上是数学问题,而且他们对你们的问题库是一个很好的补充。 Simpson 悖论 假设你有两个不同的软件系统原型:原型 A 和原型 B 。你想知道从用户的反馈来看,哪个原型更好。假设对于易用性,原型 A 从 200 个用户当中获得了 50 个用户的优秀评价,而原型 B 从 100 个用户中获得了 15 个用户的优秀评价(见图 1 )。从这个数据来看,原型 A 的易用性显然要比原型 B 要好,因为原型 A 获得了 25% 的优秀评价,而原型 B 只得到了 15% 。
图1 比较原型A和原型B 现在,假设对于安全性,原型 A 从 100 个用户当中获得了 85 个用户的优秀评价,而原型 B 从 400 个用户中获得了 300 个用户的优秀评价。对于这个数据,你能看到原型 A ( 85% 的优秀率)再次比原型B( 75% 的优秀率)要好。因此,你认为哪个原型要好回答之前,让我们把图 1 中的数据整合到一个单独的表格当中(图 2 )。
图2 安全性、易用性整合数据
图3 整合后的研究生院录取数据
图4 原始的研究生院录取数据 Simpson 悖论从数学上来说确实不是一种真正的悖论。一个数学悖论产生一个逻辑上不一致的答案,而 Simpson 悖论的结论是奇怪的、意料之外的,但是却是能够得到解释的。如果你想深入研究, 上有很多关于 Simpson 悖论的资料。给我们的启示是,当你检查测试结果数据的时候,你要先怀疑这些数据是不是从其他原始资料整合而来的。如果是,那么你应该看看原始未经整合的数据。另外,如果你在产生一个测试数据 告,当你尝试要整合数据以便简化你的阐述时要相当仔细。有人说“统计能用来说明任何你想要的”,这种情况正是它们说提及的。 Braess 悖论 现在汽车 2 准备离开了。他看到汽车 1 在路径 A-B-D 上,因此知道了现在 A-B-D 上的成本是 [4(2) + 1] + [2 + 16] = 27 ,所以他选择了成本只有 22 的路径 A-C-D 。汽车 3 看到每条路径上都有一辆车,所以选择了成本是 27 的路径 A-B-D 。汽车 4 选择了成本是 27 的路径 A-C-D 。汽车 5 看到四辆车是均匀分布的,他选择了路径 A-B-C ,成本是 [4(3) + 1] + [3 + 16] = 32 。最后,汽车 6 选择了成本是 32 的路径 A-C-D 。现在所有六辆车都在从城镇 A 到城镇 D 的某一条路径上。因为每一条路径上有三辆车,而两条路径是对称的,每辆车的成本是 32 。 这是很有希望的。汽车 1 选择了路径 A-B-C-D ,通过快捷路径来显著降低他的交通成本——至少暂时如此。汽车 2 准备离开了。他看到汽车 1 选择了路径 A-B-C-D ,于是分析他的可能成本: 经过快速数学计算之后,汽车2页选择了路径 A-B-C-D 。尽管汽车 1 已经在这条路径上了,快捷路径的有效性仍然使得它是汽车 2 的最好选择。 现在汽车 3 准备离开了,他的选择是: 再次,这个快捷路径 A-B-C-D 是最好的选择。汽车 4 准备离开城镇 A ,观察了钱三个司机的决定,算出了他自己的成本: 快捷路径上目前的交通使得 A-B-C-D 比路径 A-B-D 和 A-C-D 的成本要高。假设汽车 4 选择了路径 A-B-C (如果汽车 4 选择了 A-C-D ,细节会有一点不同,但是总的结果是一样的)。 汽车 5 现在准备离开了,他分析了他的选择: 因此汽车 5 决定选择路径 A-C-D 。最后一辆车,汽车 6 ,现在准备离开了,他观察了前面 5 个司机的决定,做出了他自己的分析: 汽车 6 选择了路径 A-C-B-D ,因为这是成本最低的。现在 6 辆车都在路上了,你可以算出每辆车的成本。 回忆一下,如果没有这条快速路,每辆车的成本是 32 。现在增加了额外公路容量,我们却增加每个司机的成本! 这个例子提供了一个对 Braess 悖论的实际接触。因为这和 络系统上所传输的数据包有明显的关系, Braess 悖论受到了研究人员的深入研究。你能非正式的总结这个悖论:有时候增加节点之间的路径数反而会增加 络拥塞。从软件测试角度来说, Braess 悖论会在进行 络性能测试的时候出现。老实说,你碰到 Braess 悖论的机会很少。但是这个现象确实存在。启示是,你不应该假设增加 络容量就会提高性能。如果你增加了容量但是没有看到你所期望的性能提高, Braess 悖论就是应该去调查的。 Parrondo 悖论 本质上, Parrondo 悖论陈述的是两个要输的赌博游戏(我们称他们为游戏 A 和游戏 B ),它们可以被设计好,这样如果一个接一个地玩,它们可以成为赢得游戏。有很多方法可以构造 Parrondo 悖论的例子,最简单的事使用三个有偏差的硬币。 这个游戏是由西班牙心理学家 Parrondo 创造的。 1999 年, G.P.Harmer 和 D.Abbott 发表了文献“ Losing Strategies Can Win by Parrondo”s Paradox ”,以 Parrondo 给这个悖论命名。从那以后,在这个游戏和它的变种上出现了很多的研究,包括改变三个硬币的概率影响和改变玩游戏 A 和 B 的模式。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.yeeyan.com/articles/view/20618/10894g_related http://hi.baidu.com/laladu/blog/item/c2abe6dd2f1411ea76c638cd.html |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!