此示例中的故障/错误/故障

时间:2012-08-06 09:55:37

标签: testing computer-science terminology

具有以下一般定义:
错误 - 错误原因(编码错误)
错误 - 可能导致失败的错误状态
失败 - 服务与正确服务的偏差

以下代码的正确应用是什么:

当余额为100或更少时,代码不允许撤销

  if (Balance<100) 
    {
    return false; 
    }
    else WithDraw();

据我了解,故障是缺少=运算符。但是错误和失败会是什么?

2 个答案:

答案 0 :(得分:8)

如您所说,代码中存在错误(编码或逻辑错误),比较中缺少运算符。如果没有正好100的余额,那么没有人会注意到这个错误。

如果在某个时刻余额为100并且检查完成,则会出现错误。系统将处于不正确的状态。它本不应该允许退出,而是它。如果允许撤销,系统将无法正常工作,用户将看到失败。

在这个小例子中,很难将错误和失败分开,因为用户可能会看到错误状态的后果。如果我们假设在代码中的其他地方有另一个检查,并且因为没有完成撤销,那么系统将处于错误状态(错误实现),但是另一个条件会掩盖这个并且用户不会看到了失败。

答案 1 :(得分:-3)

这个问题需要一些背景。它似乎也是一个“家庭作业”风格的问题。 根据提供的定义,'missing = operator'可能不是'fault'。

正在测试的变量'Balance'可能明确需要小于100。

至于错误,你指的是'状态'。在这方面,您可能必须查看以前的控制流语句(if / for / while)来评估状态。

失败......好吧,也许你正在处理简单的转换错误(int / float),这在处理面向货币的程序时很常见。

当提到代码没有做它应该做的事情时,我们通常会参考:

  • 编译/运行时错误
  • 逻辑错误