|
|
|
|
移动端

3.2.3 函数复合

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

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

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

3.2.3 函数复合

假设有若干个集合和函数,其中一个函数的值域恰好是另一个函数的定义域。

f : A → B

g : B → C

h : C → D

在这种情况下,就可以进行函数复合。为此,把各个定义域和值域中的元素记为a∈A,b∈B,c∈C,d∈D,并设f(a) = b,g(b) = c和h(c) = d。这样函数h、g和f的复合即为:

在软件开发中,函数复合是十分常见,很自然地存在于过程和子过程的定义中。佣金问题中就有这样一个例子:

f1(枪机,枪托,枪管)=销售额

f2(销售额)=佣金

于是有:

f2(f1(枪机,枪托,枪管))=佣金

对测试人员来说,多次复合的一系列函数可能会产生很多问题,特别是在函数复合过程中前一个函数的值域恰好是下一个函数定义域的真子集时。有一种特殊的函数复合情况,可以在某些方面帮助测试人员。回想曾经讨论过的,一对一映射的上函数必定会存在逆函数。逆函数肯定存在,而且是唯一的(数学家可以严格证明这个结论)。如果f是从A到B上的一对一映射函数,其唯一的逆函数记作f -1。结果对于a ∈ A,b ∈ B,总会有f -1° f(a) = a和f ° f -1(b) = b。NextDate函数和YesterDate函数就是这样的逆函数。函数可逆性给测试人员提供的帮助是,利用给定函数的逆函数可以实现“交叉验证”,从而提高构造功能测试用例的速度。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

鸟哥的Linux私房菜——服务器架设篇(第二版)

本书是对连续三年蝉联畅销书排行榜前10名的《Linux鸟哥私房菜——服务器架设篇》的升级版,新版本根据目前服务器与网络环境做了大幅度修订...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊