软件测试过程中的三种不常见缺陷

2014-12-25   出处: linkedin  作/译者:Prashant PC/大头

作为一个软件测试爱好者,在面对软件存在问题的行为的过程中,我进一步了解了缺陷这一概念。最初,我将每一个瑕疵都报告为一个bug。但经过多年经验,在测试人员解说了神秘的bug后,我开始逐渐了解了缺陷。

这区分缺陷和bug是件艰难的事情,但在这两者之间划清界限可以帮助我提高我工作的准确度。下面让我们来讨论什么是软件缺陷,以及三种不同类型的缺陷。

 

什么是件缺陷?

一个缺陷是由的对于软件要求所产生偏差引起的故障。这并不一定意味着在代码中有bug。它可以是软件需求规范(SRS)文档中所指定的,但没有被认可,开发或由程序设计者实现的任何功能。其结果是,导致了该软件的异常行为。

 

从用的角度来看,件缺陷的典型例如下:

 

用户期望——该软件将允许我使用借记卡进行网上支付

缺陷——选择借记卡进行支付的选项丢失

用户期望——该软件将帮助我避免拼写错误

缺陷——用于检测拼写错误的功能缺失

 

测试中的三种不常缺陷。”

以此进一步讨论,让我们探讨软件测试过程中观察到的三种不常见缺陷。这些缺陷使得软件不能按照其规范执行。有如下三类:

 

1.潜在缺陷:

这是一个法律行业的流行术语。潜在缺陷是指在一条款中,卖方意识到一个隐藏的弱点,漏洞或缺陷,但买家无法在进行初步检查之前确定问题。但是,在被暴露在不常见的情况下后,买方就会认识到缺陷。

类似地,在软件测试中,潜在缺陷是一个在生产过程中伴随着的系统缺陷,并通过了预生产测试和推广使用。这个缺陷在后续缺少相应场景的时候被确定。

 

例如:

一个XYZ应用程序是设计用来打印雇员的工资单。在下拉菜单上有两款打印机:激光的和点阵的。但是,应用程序总是倾向于选择激光打印机。其结果是,每当打印命令被执行,打印输出将从激光打印机出来。

某一天,当应用程序无法找到激光打印机时,它试图找到针式打印机(DMP)。该应用程序尝试使用DMP打印,但一再给出错误信息。这揭示了一个潜在的缺陷,该应用程序的软件测试从来没有测试过DMP。并且由于只使用激光打印机导致从未经历过这个场景,这个缺陷保持被掩盖。这意味着,在测试中,上述情景是从来没有经历过的。

 

如何在测试过程中识别潜在缺陷?

只有穷举测试可以让缺陷都暴露在系统中,但这是不可能真正实现的。但是,您可以运行一组触发事件,将有助于识别缺陷。你所能做的就是尝试和测试软件的旧功能,而不是新的功能。

 

2.掩蔽缺陷:

掩蔽缺陷指的是在软件执行过程中没有导致问题的缺陷。主要是因为另一个缺陷导致的问题使得那部分缺陷没有被执行到。

 

例如:

在第一个实例中由于应用程序未对DMP进行测试,检测到了两个问题。

  • DMP打印机搜索
  • DMP打印

由于应用程序未能搜索到DMP,而是运行到使用激光打印机中去,导致从未检测出DMP的打印错误。其结果是,DMP打印部分仍然被掩蔽,这就是所谓的掩蔽缺陷。

 

3.缺陷级联

在软件测试,缺陷级联指的是一个缺陷引发许多其他缺陷。有时,在软件开发周期中,没有注意到的一个不明确缺陷的存在会影响其他阶段。其结果是,多个缺陷突然出现在后期的阶段。

 

例如:

应用程序被部署来计算员工的月薪。负责计算薪酬的模块中有一个不明确的缺陷。这样一来,它错误地计算了工资。然后向数据库发送了不正确的薪水数字,进一步反映在资产负债表,税款计算和年薪计算之中。

 

一个缺陷级联


如果缺陷级联继续影响应用程序的其它功能,确认受影响的功能将变得具有难度。你可以通过不同的测试用例来解决这个问题,但它是困难而且耗时的。作为测试者,你可以选择执行不同的测试用例的子集,而不用理会测试用例之间的的相互依存关系。

 

结论

潜在,掩蔽缺陷和缺陷级联具备成为了故障的主导原因。虽然软件测试过程的目的是为了消除故障,但这些不常见的影响仍然被掩盖了。所以,必须了解不同类型的缺陷,并执行能够识别缺陷的测试用例。

【英文原文:https://www.linkedin.com/pulse/20140728115652-299383506-three-unusual-defects-identified-during-software-testing

{测试窝原创译文,译者:大头}

译者简介:大头,在读日本九州大学修士,计算机专业,主研究方向为文本挖掘,及自然语言处理。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
305° /3052 人阅读/0 条评论 发表评论

登录 后发表评论