|
|
|
|
移动端

3.2 函数

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

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

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


3.2 函数

函数的概念对软件开发和软件测试都至关重要。在功能分解的整个方法体系当中,就使用了函数的数学概念。不严格地讲,函数把多个集合的元素关联起来了。比如,在NextDate函数中,给定日期的函数是其下一天的日期;在三角形问题中,三个输入整数的函数是以此为边长的三角形的种类;而在佣金问题中,销售人员的佣金是销售额的函数,销售额又是枪机、枪托和枪管销售量的函数;SATM系统中的函数要更复杂一些,这自然也会使测试变得更加复杂。

任何程序都可以看作是把输出同输入关联起来的函数。在函数的数学表达形式中,所有的输入是函数的定义域,所有输出构成了函数的值域。

定义

给定集合A和B,函数f是A×B的一个子集,对于ai、aj ∈ A,bi、bj ∈ B和f(ai) = bi,

f(aj) = bj,则有:bi ≠ bj ? ai ≠ aj。

像这样的形式化定义有些过于简洁了,所以要进一步仔细研究一下。函数f的输入是集合A的元素,输出是集合B的元素。在以上定义中,函数f“表现良好”,其含义是A的任何元素永远都不会与B的多个元素相对应。(如果出现了这种一个对应多个的情况,那怎么来测试这样的函数呢?这是非确定性的一个示例。)


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

51CTO读书频道二维码


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

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

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

读 书 +更多

.NET for Flash动态网站开发手札

本书深入浅出地说明了如何利用.NET、Flash及XML来辅助Flash富媒体应用程序的开发。 本书首先介绍了Flash影片应用程序与.NET应用程序结合的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊