这3种软件缺陷,测试人员万万不能小看它

作为一个测试人员,在执行测试时,你可能会遇到各种各样的软件问题。虽然每个Bug都需要报告,但是事先需要识别它究竟是错误还是缺陷

要区分软件错误和缺陷是非常困难的,因为它要求测试人员能够精确地理解软件的功能。然而,简单来说,软件缺陷是一种需求偏离而导致的软件故障,它并不一定意味着代码中的错误。它可以是在软件需求规范(SRS)文档中指定的任何函数,但不被程序员识别、开发或实现。因此,才会导致软件的行为异常。

从用户的角度来看,典型的软件缺陷场景如下:

场景1:该软件将允许用户使用借记卡进行在线支付。

缺陷:选择借记卡用于支付的选项不见了。

场景2:软件将帮助我避免拼写错误。

缺陷:检测拼写错误的功能缺失。

根据以上讨论,这里有3种不同寻常的缺陷,这些缺陷阻碍了软件的规范执行。具体如下:

  1. 工作潜在缺陷

潜在缺陷是软件隐藏的缺陷,在一套运算结束前它不都不能被用户所识别(尽管开发者或所有者知道它)。这个缺陷只有当软件在没有常规场景的情况下执行一项特定的任务,或者暴露在不同寻常的情况下,这个缺陷通常会伴随软件在生产过程中出现,同时也会被传递到生产前的测试中。

这里有一个潜在缺陷的例子

打印一份员工薪水单的申请表,提供两种不同的打印选项在下拉菜单中打印:

-激光打印机

-点阵打印机

然而,默认的应用程序总是选择激光打印机。因此,无论何时启动打印命令,打印的东西都从激光打印机中取出。当应用程序无法选中激光打印机时,它将试图找到点矩阵打印机(DMP)。应用程序将尝试使用DMP打印,但会反复出现错误消息。

由于该应用程序的潜在缺陷从未测试过DMP,并且在使用激光打印机时从未有过这种情况,所以这个缺陷仍然隐藏。这意味着,在测试时,前面提到的场景从未出现过。

  1. 隐蔽缺陷

隐蔽缺陷是软件中已经存在的缺陷,但是,它尚未导致应用程序执行的失败,主要是因为它被另一个缺陷覆盖或掩盖了。隐蔽缺陷通常很难识别,执行特定的操作之前,它们通常不会被检测到。

这里有一个隐蔽缺陷的例子

由于应用程序没有对DMP进行测试(根据第一个实例),另外两个问题也被屏蔽。

-DMP打印机的搜索

-DMP打印

由于没有检测到DMP打印错误,应用程序总是无法选择激光打印机。结果,DMP打印仍然被隐藏。

  1. 缺陷级联

在软件测试中,缺陷级联意味着在应用程序中触发其他缺陷。当一个缺陷在测试中未被识别或被忽视时,它会调用其他缺陷。结果,多个缺陷出现在后面的阶段。换句话说,它是一个主缺陷,它引入了许多与应用程序生命周期更进一步阶段相关的缺陷。

这里有一个缺陷级联的例子

已经部署了一个应用程序来计算员工的月薪。负责计算工资的模块有一个未知的缺陷。结果它错误地计算了工资。这促使数据库发送不正确的工资数据,这些数据进一步反映在资产负债表、税收计算和年度工资的计算中。

如果缺陷级联继续影响应用程序中的其他功能,那么识别受影响的函数就会变得具有挑战性。你可能会用不同的测试用例来解决这个问题,但这是相当困难且耗时的。作为测试人员,你可以选择不同测试用例的子集,并在测试用例之间不考虑相互依赖的情况下执行它们。

最后 

作为一个测试人员,很难知道它是软件工作中的一个错误,还是软件中功能的偏差。因此,必须了解不同类型的缺陷,并编写能够识别这些缺陷的测试用例。虽然潜在的、隐蔽的和缺陷级联是客户中断的主要原因,但对于这些,你完全可以通过使用标准化的流程和软件测试工具来克服这些问题,Testin就是其中之一。

 

如果你不想被上述缺陷“玩弄”的话,就快用Testin来测试你的应用程序吧。

立即试用请戳—>https://www.testin.cn

X