|
|
|
|
移动端

3.3.2 单个集合上的关系

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

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

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


3.3.2 单个集合上的关系

排序关系和等价关系这两种重要的数学关系非常有用,它们都定义在单个集合上,分别侧重关系的某些具体属性。

给定集合A,R ? A×A是定义在A上的关系,有 < a,a >、< a,b >、< b,a >、< b,c >、< a,c > ∈ R。关系R具有4种特殊性质。

定义

关系R ? A×A是:

当且仅当对所有a ∈ A,均有< a,a > ∈ R,关系R是自反关系。

当且仅当 < a,b > ∈ R ? < b,a > ∈ R,关系R是对称关系。

当且仅当< a,b >、< b,a > ∈ R ? a = b,关系R是反对称关系。

当且仅当< a,b >、< b,c > ∈ R ? < a,c > ∈ R,关系R是传递关系。

家庭关系可以很好地说明这些性质。思考以下这些关系,确定哪些性质适用于各个关系:兄弟关系、同胞关系、祖先关系。下面来定义排序关系和等价关系这两个重要关系。

定义

如果关系R ? A×A是自反、反对称和传递的,则R是排序关系。

排序关系具有一定的方向性,一些常见的排序关系有:年长于、≥、?和祖先。(自反性常常会产生一些不合常理的话,比如说“不比……年轻”和“不是……的后代”。)排序关系在软件中是很常见的:在数据访问技术、散列码、树型结构和数组中都广泛使用了排序关系。

集会的幂集是这个集合所有子集的集合。集合A的幂集记作P(A)。子集关系?是P(A)上排序关系,因为它具有自反性(任何集合都是它本身的子集),反对称性(见集合相等的定义)和传递性。

定义

如果关系R ? A×A是自反、对称和可传递的,则R是等价关系。

在数学中存在着大量的等价关系,相等和同余就是两个例子。等价关系和集合划分密切相关。比如,给定集合B的某个划分B1,B2,…,Bn,如果两个元素b1和b2出现在同一划分中,则称b1和b2是相关的(即b1 R b2)。这个关系具有自反性(任何元素都会出现在自己的划分中)、对称性(如果b1和b2出现在某个划分中,那么b2和b1也在这个划分中)和传递性(若b1和b2在同一个划分中,而b2和b3也在同一个划分中,则b1和b3在同一个划分中)。通过划分来定义的关系被称为由划分所导出的等价关系。其逆过程也同样成立:从集合上定义的等价关系出发,可以根据彼此相关的元素定义子集。这就形成了一个划分,称为由等价关系导出的划分。这个划分中的集合称为等价类。综上得出的结论是:划分和等价关系可以互换的。这个概念对测试人员来说非常重要。如前所述,划分的两个重要属性是完备性和无冗余性。应用到软件测试领域中,测试人员可以利用这两个性质明确地定义对待测试软件的测试程度。除此之外,假设等价类的各个元素都具有相似的行为,就可以只测试每个等价类中的一个元素,从而大大提高测试效率。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

入侵的艺术

黑客也有优劣之分。很显然对他们的奖励之一是利用黑客手段非法入侵我们公司的安全站点或个人系统。另一种奖励可能是他们的黑客行为构成了黑...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊