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

Joh*_*n V 7 testing computer-science terminology

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

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

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

  if (Balance<100) 
    {
    return false; 
    }
    else WithDraw();
Run Code Online (Sandbox Code Playgroud)

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

Edu*_*Edu 9

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

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

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