|
|
|
|
移动端

3.1.4 集合的维恩图

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

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

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

3.1.4 集合的维恩图

有两种传统的用图解表示集合之间关系的方法:维恩图和欧拉图。这两种方法使在本文中已经被表达的概念更加形象化。我的大学数学系教授说,“数学不是图论的函数”。这种说法或许不太正确,但是图表确实很具有表达性,并且更易沟通和理解。然而现在,在讨论规定行为集合和实现行为集合时,常常像在第1章中那样把集合画成维恩图。在维恩图中,集合用圆圈来表示,圆圈内部的点表示该集合的元素。这样包含30天的月份的集合M1就可以表示成图3-1所示的形式。

维恩图最初被约翰维恩图(一个生于1881年的英国逻辑学家)设计。大部分维恩图显示两个或三个重叠的圈。(显示一个可以显示所有可能交集的五个集合的维恩图是不可能的。)阴影部分被用于两种截然相反的方式,即:大部分情况下,阴影区域是有意义的子集,但是,阴影部分偶尔也会被表示成一个空的范围。因此,包含一个可以明确表述阴影部分意义的图例是很重要的。维恩图也可以被用在一个代表论域的矩形中。第1章的图1-3和图1-4展示了两个和三个集合的维恩图的例子。当这些圈叠加时,集合之间的关系就推测不出来了;同时,叠加描述了所有可能的交集。最后,没有用图解表示空集的方法。

维恩图能够以一种直观的方式表示各种集合关系,但是也会有一些小问题,比如如何表示有限集合与无限集合呢?这两种集合都可以用维恩图来表示,只是对有限集合来说,不要把集内的每个点都对应集合的元素就行了。这不会有什么大问题,了解了这个限制很有用,比如在确定特定集合元素的标签的时候。

维恩图的另一个问题涉及空集:如何来表示一个集合或集合的一部分是空的呢?通常可以用阴影来表示空集部分,但有时也用阴影来强调感兴趣的部分。为了避免混淆这两种情况,更好的办法是给出图例,明确说明阴影部分的含义。

通常情况下,需要把所讨论的所有集合都看作是某个更大集合的子集,这个大集合就称为论域。比如,在第1章中就把所有的程序行为当作论域。一般情况下根据所给出的集合可以猜出问题的论域。在图3-1中,大多数人会把一年中所有月份构成的集合作为论域。测试人员应该警惕的是,随意假设论域经常会造成混乱。这是引起客户和开发人员之间误解的一个微妙的原因。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

Windows用户态程序高效排错

本书是一本介绍Windows系统上的用户态程序排错方法和技巧的书。本书分为4个章节,先介绍最重要的、通用的思考方法,以便制定排错步骤;再介...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊