用户输入测试(3)

发表于:2011-3-16 10:44

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:方敏/张胜 等译    来源:51Testing软件测试网采编

分享:

  常规输入还是非常规输入?

  输入分为常规输入和非常规输入。一个常规输入表示没有特定的格式或含义,可以直接使用于被测试软件。常规输入就是那些开发人员计划中的输入,也是真实用户经常使用的输入值。非常规输入只在那些比较特殊的情况下才会发生,或者完全是由于某个机缘巧合才会发生。比如,一个用户想在文本框内输入大写的字母C,他可能想使用Shift+c来键入该字符,但是他不小心按下了Ctrl+c键。Shift+c是一个常规输入,代表大写字符C。但是Ctrl+c就有完全不同的含义,比如在Windows系统中,它可以表示复制(Copy)或取消(Cancel)。在一个输入框内键入Ctrl+c或其他某些特殊字符可能会导致某些意想不到的情况,甚至引发一些不希望发生的状况。

  所有和Ctrl、Alt、Esc按键组合的字符都算得上是特殊字符,比较明智的做法是在应用程序里测试某些这样的特殊字符,如果发生不合要求的情况就要把它当成软件缺陷上报。测试人员可以安装最终用户可能会使用的那些特殊字体,使用这种方法来测试不同国家的语言。某些字体,在处理Unicode或某些多字节字符集时,如果它没有被正确地本地化,不能支持当地的语言时,就会发生软件失效的情况。测试人员可以从产品的文档出发,看看该软件支持那些语言,然后安装那些所支持语言的语言包和字体库,这样就可以开始测试那些特殊字符了。

  还有一些特殊字符与软件运行的平台相关。每一个操作系统、编程语言、浏览器和运行时环境都有一些特定的保留词,它们具有特殊的含义。Windows就有一些保留的设备名称,例如LPT1、COM1、AUX等。如果一个输入框期待测试人员输入一个文件名,但是如果键入的是这些保留词,程序往往会挂起或彻底崩溃。根据软件运行平台的不同,在输入框中键入的特殊字符有可能由运行平台来决定它的含义,也有可能由当前软件来决定。明确回答该问题的唯一方法是找出那些相关的特殊字符,然后使用它们作为测试输入值。

  默认输入或用户提供的输入?

  如果在一个空白的文本字中不输入任何东西,可以算是一个最简单的测试。但是对测试人员来说是简单,对被测软件则并不简单。事实上,测试人员不输入任何东西并不意味着软件就不需要花功夫去处理这些情况。

  不管是在空白字段中不输入字符或是给某个API传递一个NULL参数,它们都需要软件在默认(default)的情况下运行下去。通常这些默认的情况要么被忽视,要么没经过深思熟虑。在单元测试(unit testing)中,它们也常常被忽视,所以手工测试就成为最后一道防线。

  开发人员必须处理这些空白的输入,因为他们知道并不是所有的用户都会提供输入。用户在输入时会跳过这些字段,他们可能根本没有看见该字段,或者没有意识到这些字段是需要输入的。如果程序有很多数据输入字段(比如一个Web表单要求用户输入姓名、送货地址和其他一些私人信息),显示出的错误信息还会根据哪些字段没有填而变化。这一点在测试中也很重要,不能忽视。

  除了测试不输入任何值,还有很多其他东西可以测试。如果一个表单含有一些预先设置好的值,我在这里把这些值称为开发人员设置的默认值。比如,在一个打印表单中的打印页数字段,默认值就可能是“全部”。默认值反映的是开发人员认为的一个正常用户最有可能使用的数值。测试人员需要检验开发人员所做的这些假定,必须保证开发人员在选择这些默认值时没有犯任何错误。

相关链接:

软件缺陷预防

软件缺陷检测

软件手工测试

浅谈探索式测试

局部探索式测试法

用户输入测试(1)

用户输入测试(2)

22/2<12
价值398元的测试课程免费赠送,填问卷领取吧!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号