【发布时间】:2010-10-04 09:59:08
【问题描述】:
我正在上软件测试的研究生课程,我们花了一整堂课来研究错误、错误和失败之间的区别。我对测试中软件故障的定义不满意。你的定义是什么?
【问题讨论】:
-
如何提供讲师定义的所有三个定义?
-
是的,为什么不写下定义并解释您不满意的原因。
标签: testing
我正在上软件测试的研究生课程,我们花了一整堂课来研究错误、错误和失败之间的区别。我对测试中软件故障的定义不满意。你的定义是什么?
【问题讨论】:
标签: testing
您可能对这个 SE Radio 播客感兴趣,其中 iirc 被描述为:
【讨论】:
当观察到的行为与预期行为不同时,就会发生失败。请注意,引用是预期的行为,而不是规范,因为即使规范也可能是错误的。
错误是系统状态中可能导致失败的部分。
错误是错误的原因。软件故障在于软件,硬件故障在于硬件。
您可以在 Algirdas Avižienis、Jean-Claude Laprie 和 Brian Randell 的 Dependabilty and its threats: a taxonomy 中找到对可靠性概念的深入概述。
【讨论】:
根据 ISQTB,故障就是缺陷。缺陷定义如下:
缺陷:组件或系统中可能导致组件或系统无法执行其所需功能的缺陷,例如不正确的陈述或数据定义。如果在执行过程中遇到缺陷,可能会导致组件或系统出现故障。
失败:组件或系统偏离其预期交付、服务或结果。
基本上,缺陷、错误和错误是相同的。
【讨论】:
实际上,这并不重要。学术论文往往随处可见他们使用的术语。在工业中,更肯定没有一个公认的定义。此外,业内没有人关心可能会有什么不同。故障、错误、失败、错误,它们的处理方式都差不多。
【讨论】:
错误---这可能是人为错误,即对需求和规范的误解
故障----错误导致故障
如果开发人员误解了需求,那么他应该按照他的理解进行编码,这会导致实际代码中的错误。
failure----故障导致失败
如果开发者编码错误,那么 s/w 应该给出不正确的 o/p,这可能导致应用程序失败。
【讨论】:
错误:计算、观察或测量的值或条件与真实、指定或理论上正确的值或条件之间的差异。这可能是对软件内部状态的误解、内存管理方面的疏忽、对计算值的正确方法的混淆等等。
失败:系统或组件无法在指定的性能要求内执行其所需的功能。请参阅:错误、崩溃、异常和故障。
错误:程序中的错误导致程序以非预期或未预料的方式执行。请参阅:异常、缺陷、错误、异常和故障。 Bug 是 Tester 的术语。
故障:计算机程序中的错误步骤、过程或数据定义导致程序以非预期或未预料的方式执行。请参阅:错误、缺陷、错误、异常。
缺陷:通常指软件产品、外部行为或内部功能存在的若干问题。
【讨论】:
Error : 程序员犯了一个错误(也叫错误)
缺陷:程序员在代码中引入了一个错误(也称为缺陷)。
Bug : 测试人员执行包含错误的软件部分。
【讨论】:
事件:-当测试人员观察到应用程序中的任何差异时,这将是一个事件。
Bug/Defect:-当开发人员确认事件时,这将是一个 Bug。
错误:-当应用程序中出现错误时,它将是错误。
失败:-当一个错误导致系统失败时,它被称为失败。
【讨论】:
软件测试视角意味着将自己视为软件测试员,并且您正在测试现成的软件。首先,您将对其进行测试并找出故障(缺陷)。您将检查与实际预期状态不同的软件状态,这是一个错误。此错误可能会导致您失败。
【讨论】:
软件故障是导致系统无法执行其所需功能的情况。故障是软件故障的基本原因,是常用术语错误的同义词。
【讨论】:
测试中的故障类型有:
复制(RL):与数据复制相关的故障
不理解
【讨论】: