|
|
|
|
移动端

1.4.1 正确性

《软件测试基础教程》第1章软件测试的基本知识,本章作为一个导引,其目的在于让读者熟悉与软件测试相关的基本概念,建立起全书的框架。在本书后续章节中将要详细阐述的问题,首先在这里被提了出来。读完这章之后,读者就能够在软件测试和软件质量方面提出一些有意义的问题。本节为大家介绍正确性。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-16 20:41

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


1.4 正确性与可靠性

1.4.1 正确性

尽管追求软件的正确性是个良好的愿望,但并不是软件测试的目标。通过测试来证明软件的正确性意味着将对软件输入域中所有可能的输入进行测试,而这在大多数现实环境中是不可能完成的。因此,正确性是通过对程序的数学证明建立起来的。数学证明采用软件需求的正式规格说明和软件源代码来证明“软件如预期的一样运行”成立或不成立。虽然数学证明很精确,也会因人的因素而出错。即使证明是由机器来完成的,也会因为需求规格说明的简化以及在没有完全自动化的过程中出现的错误而得出不正确的结论。

虽然软件正确性想说明软件是无错误的,但是测试的目的是发现软件中存在的错误。因此,即使完全的测试也不能说明一个软件是无错误的。随着测试的步步深入,可能会发现软件中的错误,通过纠正软件的错误,提高了软件无故障运行的机会和概率。但是,测试、诊断、纠错、调试、验证过程共同增强了我们对被测软件正确运行的信心。

例1.8本例将说明为何当错误纠正后软件出现故障的概率仍然不变。考虑如下程序,输入两个整数x和y,根据条件x﹤y是否成立打印出f(x,y)或g(x,y):

 

上面的程序用到两个函数f和g,这两个函数在这里没有定义。假设一旦x=y时,函数f将产生不正确的结果;并且,当x=y时,f(x,y)≠g(x,y)。当输入两个相等的整数时,该程序出现故障,因为调用的是g,而不是f。将该程序中的判定条件x﹤y改为x≤y,可以纠正这个错误。但是,当再次输入两个相等的整数时,该程序仍然出现故障。后一个故障是由f中的错误引起的。只有当f中的错误纠正了,并且程序其他代码都是正确的时候,该程序才能运行正常。

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

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

读 书 +更多

SQL应用与开发标准教程

本书主要介绍了SQL的数据库应用和开发技术,内容涉及关系数据库和SQL概述,SQL环境,SQL对于数据表的操作,数据库查询知识,SQL数据的修改...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊