软件GUI测试中的关注点(13)

发表于:2015-03-30来源:uml.org.cn作者:不详点击数: 标签:软件测试
6)从硬件问题中恢复 程序应该适度地处理硬件故障。如果磁盘或其目录已满,你应该能够放入一张新的磁盘,而不只是关闭了你所有的数据。如果一个设备

  6)从硬件问题中恢复

  程序应该适度地处理硬件故障。如果磁盘或其目录已满,你应该能够放入一张新的磁盘,而不只是关闭了你所有的数据。如果一个设备很长时间还没有准备好接收输入,你就没有应该假定它已经断线或断开连接而进行处理。程序决不能够让我们永远在那里坐等。

  7)不能从遗失磁盘中退出

  假定你的程序要求你插入一张具有它需要的文件的磁盘,如果插入的磁盘不正确,它会再次提醒你,直到插入了正确的磁盘为止。然而,如果没有正确的磁盘,你就没有任何办法可以退出,除非你重启系统。不,这种做法是极端蛮横的,决不能允许出现这样的问题。

  4、边界相关的错误

  一个边界描述了程序的一个改变点,假定程序在边界的一边以某种方式做所有事,而在边界的另一边,它以不同的方式完成所有事。

  边界相对立的两边的典型“东西”就是数据值。存在三种标准边界缺陷:

  边界情况的处理不当

  如果一个程序把任何小于100的两个数相加,不接收任何大于100的数,那么当你恰恰输入100时它会做何反应?它又该怎么做?

  错误边界

  规格说明表示,程序应该把任意两个小于100的数相加,同时不接收大于95的数。

  边界外情况的错误处理

  边界某一边的值是不可能,不可信,不能接收,或是预料之外的,没有为其编写任何处理代码。程序是否成功拒绝了大于100的值?或者是否当它获取了一个大于100的值时就会崩溃?

  我们把边界的概念看得更广泛,边界描述了考虑一个程序以及它在其极限周围得行为得方式。存在很多种的极限:最大,最小,最新,最旧,最近,第一个等等。相同类型的缺陷可以伴随其中任何一种极限而产生,我们可以用相同或类似的观点考虑它们。

  不同边界错误的考虑方式

  不同类型的边界,其考虑方式也是不同的,但是其思想基本上都相近:无外乎上溢出与下溢出。

  1)数值边界

  有些数值边界是任意的,如大于100;而有些则要描述自然极限,如三角形的特征和子母的ASCII码等。

  2)与一个边界相等

  在一个列表中的所有元素可能相同,也可能不同。如果你试着对任一列表进行排序,会发生什么?如果列表由数字组成,当你尝试计算平均值,标准偏差,对称系数时又会发生什么?(以上是概要统计概念,按算法,对称系数可能会计算为0或引起被0除的错误。)

  3)多种多样的边界

  一个输入串可以长达80个字符么?如果你输入79、80或81个字符会如何?程序是否在每种情况下都接收你的输入?一个列表可以只是一个元素么?没有元素可以么?仅含一个数值的标准偏差又是什么呢?

  4)空间中的边界

  例如,如果一个绘图程序绘制了一个图形,并在其周围绘制了一个方框,那么该如何处理一个应当在方框外正确显示的点?

  5)时间的边界

  假定程序显示了一个提示,停留60秒等待你回应。然后,如果你没有输入内容就显示菜单,如果正当它开始显示菜单时,你开始输入内容,会发生什么?

  假定你在计算机仍然在从磁盘中装入程序时按下空格键,发生了什么事?空格键是被发送给操作系统,为正在装载的程序进行了保存,还是仅仅因为预料之外而导致计算机崩溃?

  6)硬件相关边界

  如果一台主机可以连接100台终端,那么当你加入99,100,101台时会发生什么?如果你让100台终端同时登陆会怎样?

  如果磁盘已经塞满了会如何?如果一个目录能保存1000个文件,当你尝试保存第999、1000、1001个的时候会发生什么?如果打印机有较大的输入缓冲区,当你的数据填满缓冲区,但是却还没有更多数据要传递时,会发生什么?当打印机缺纸或颜料用完了又会发生什么?

  5、计算错误

  程序计算一个数据得到了一个错误的结果。发生计算错误通常因为下面三种类型的原因:

  很差的逻辑:

  可能存在一个录入错误,开发人员可能会在编制程序时无意中错误简化了复杂关系地表达式,或者由于拼写错误或笔误导致。另外一种糟糕的情况则是设计错误,开发人员关于代码如何做的概念可能一开始就错了。

  很差的算法:

  如果1+1=1,可以理解为一种特殊逻辑,但是如果把它作为数值运算,恐怕是没有人会同意的。无论何时,一个错误的算法总不会得出正确的结果。

原文转自:http://www.uml.org.cn/Test/200711195.asp