|
|
|
|
移动端

3.5 概率论

《软件测试:一个软件工艺师的方法(原书第4版)》第3章面向测试人员的离散数学,本章和下一章将给出测试人员所需的数学知识。还是把测试人员类比成技艺师,此处介绍的各种数学方法就是工具,测试技师应该是知道如何用好这些工具的。本节为概率论。

作者:马琳/李海峰 译来源:机械工业出版社|2017-11-15 17:51

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


3.5 概率论

在研究软件测试的过程中有两个地方会用到概率论:一个是在研究语句的某个具体执行路径的可能性时,二是在将其推广为业界流行的性能分析的概念时(见第14章)。由于使用不多,这里仅介绍一些基础知识。

与讨论集合论和命题逻辑一样,这里也从基本概念(事件的概率)入手。下面是经典教科书所给出的概率定义(Rosen,1991):

事件E是有限样本空间S的子集,S由发生的可能性相同的结果构成,则事件E的概率为p(E) = |E| / |S|。

这个概率定义基于这样的思想:每次实验只产生一个结果,样本空间是所有可能结果的集合,事件是结果的集合。这是个循环的定义:什么叫可能性相等的结果?这里假设所有结果具有相等的概率,那么概率这个概念就由它自身来定义了。

两个世纪之前,法国数学家拉普拉斯曾给出一个合理而实用的概率定义。值得强调的是,事件发生的概率是事件期望的发生方式数量除以全部可能的发生方式数量(期望和不期望发生方式的总和)。拉普拉斯的概率定义在研究从袋子中取各色彩球的概率时非常有效(概率论学者通常研究彩球问题,可能其中有些特殊的教益),但却很难推广到无法枚举所有可能性的情况。

这里我们试图运用在集合论和命题逻辑中“练就的本领”来给出一个更好的概率定义。作为测试人员,关心的是要发生的事情。把这些事情称为事件,把所有事件的集合作为论域。然后给出事件的命题,使命题指向论域中的元素。给定论域U和某个U中元素的命题p,给出如下定义。

定义

给定命题p,p的真集T是论域U中所有使p为真的元素的集合,记为T(p)。

命题或者为真或者为假,所以p将论域划分为两个集合,即T(p) 和 (T(p))’,有T(p) ∪ (T(p))’ = U。注意:(T(p))’和T(~p)是相同的。利用真集的概念,可以很容易地在集合论、命题逻辑和概率论之间建立起明确的对应关系。

定义

命题p为真的概率记作Pr(p),有:Pr(p) = |T( p )| / |U|。

有了这个定义,拉普拉斯概率定义中“期望的发生方式数量”就是真集T(p) 的势,发生方式的总量就是论域的势。这样会产生另一个推论:鉴于重言式的真集是论域,矛盾式的真集是空集,因此?和U的概率就分别为0和1。

在NextDate问题中可以找到许多很好的例子。比如,考察月份变量m和命题p(m):

p(m):m是一个有30天的月份

论域是集合U = { 1月,2月,…,12月 },则p(m)的真集是集合

T ( p(m)) = { 4月,6月,9月,11月 }

那么给定月份m有30天的概率就是

Pr( p(m) ) = |T( p( m ))| / |U| = 4/12

论域的作用相当微妙,这也是在软件测试中使用概率论的一个技巧——要选择正确的论域。假设要问月份是2月的概率。答案很简单是1/12。但是,如果要知道恰好有29天的月份的概率,那就不那么容易了。首先需要定义一个论域,包括闰年和平年。利用同余算术,建立一个连续4年中所有月份的论域,比如取1991年、1992年、1993年和1994年。在这个论域中共有48个月份,所以29天月份的概率是1/48。另一种可能的计算方法是使用NextDate函数全部取值范围的两个世纪作为论域,其中1900年不是闰年。这样就会得到一个稍微小一点的概率。可见,选择正确的论域非常重要。结论是:避免“转变论域”,这甚至比选择论域还要重要。

下面给出一些概率的性质,这里不加证明就直接拿来使用了。对于给定的论域,命题p和q,以及真集T(p)和T(q),有:

Pr(~p) = 1 - Pr(p)

Pr(p ∧ q) = Pr(p)×Pr(q)

Pr(p ∨ q) = Pr(p) + Pr(q) - Pr(p ∧ q)

上述性质同集合恒等和命题逻辑等价的各个公式结合在一起,提供了概率表达式的强大计算能力。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Cisco CCNA 640-802题库

Cisco 640-802 Cisco Certified Network Associate (CCNA) Testinside CCNA 640-802 V14 最新题库与Testinside CCNA 640-802 Q&A 192 ...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊