|
|
51CTO旗下网站
|
|
移动端

1.3.2 有效输入与无效输入

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

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

1.3.2 有效输入与无效输入

在上面的例子中,输入域是从软件需求中导出来的。然而,由于需求的不完备,测试人员往往不得不花很大努力才能确定软件的输入域。为了说明这一点,考虑例1.5中修改过的需求2。需求提示我们选择参数可以是“A”或“D”,但没有指出“假如用户输入的是不同字符时该怎么运行”。在使用sort时,用户有可能输入“A”和“D”之外的字符,它们都被认为是对sort的无效输入。sort的需求没有定义当碰到无效输入时软件该怎么运行。

确定软件的无效输入集合,并针对这些无效输入对软件进行测试,是软件测试内容的重要组成部分。即使需求没有定义软件面对无效输入时该怎么运行,开发人员肯定以某种方式进行了处理。针对无效输入对软件进行测试,极有可能发现软件当中存在的错误。

例1.6测试程序sort。输入为<E 7 1 9.>,例1.5中的需求并没有定义sort在面对以上输入时该怎么运行。现在假设,面对以上输入,程序sort的运行进入一个死循环,既不要求用户输入任何东西,对用户的任何输入操作也不反应。这种运行结果说明,sort中可能存在错误。

以上讨论可以扩展到对整数序列的排序。程序sort的需求没有定义当输入的不是整数而是诸如"?"的字符时程序该如何运行。当然,有人会说,程序应当提示用户这种输入是无效的。但是,这种对sort的预想运行结果必须进行测试。由此,建议对sort的输入域进行修改。

例1.7考虑到程序sort既要接收有效输入又要接收无效输入,需对由例1.5导出的sort输入域进行修改。修改后的输入域是一个二元偶的集合。每个二元偶的第一个元素是个ASCII字符,作为选择参数,是由用户输入的;第二个元素是个以句号为结束标志的整数序列,序列中可以夹杂着无效字符。这样,如下就是修改过的输入域中的元素例子:

 

在例1.7中,假设可以对程序sort输入无效字符。然而,情况并不总是这样。例如,正如例1.5中修改过的需求2定义的那样,对程序sort的输入总是保证是正确的。在这种情况下,如果测试人员相信输入总是有保证的话,输入域就没必要扩展到无效输入。

当对软件的输入不能保证总是正确的时候,通常将输入域划分成两个子域。一个子域由有效输入组成,另一个子域由无效输入组成。测试人员通过选取两个子域里的输入对软件进行测试。这就是我们常说的等价类划分方法。

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

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

读 书 +更多

程序员面试宝典

本书取材于各大IT公司历年面试真题(笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试)。详细分析了应聘程序员(含网络、测试等...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊