为什么边界是错误的常见位置?

时间:2014-07-01 15:34:46

标签: testing

我们经常在测试用例中进行边界值分析。为什么边界是导致软件故障的错误的常见位置?

2 个答案:

答案 0 :(得分:1)

因为人们在编写代码时经常会想到“理想”的用例,并且自然不会想到奇怪的情况。一个例子是addNumbers(1, 2)。我希望返回值是添加的两个值。我可能没有考虑添加负数或最大值int值的数字等。我编写了代码,思考它应该做什么,而不是它可以做什么。

答案 1 :(得分:1)

因为很多比较是关于检查一个项目是否大于另一个项目。但是,由于这些项目是在循环/迭代中计算的,因此循环有时会停止太快或太晚。这导致一个或两个项目比预期的多1个或更少。

将它们与<,< =,>进行比较时或> =它可能是正确的,除了下面的值1,等于或高于预期值,有时甚至2(当两个项目都是一个关闭,在同一方向时)。

对于测试人员,根据风险,使用预期值进行测试,如果风险较高,则使用值加减1,并且当风险更高时,加减2。当然这只涉及整数。

示例:

int i = f()
for (int c = 0; c < i; c++)
{
   ...
}

如果我返回10,c将以最后一个值9结束。但是,也许程序员想要直到c为10.如果你想测试程序员是否犯了错误,也可以考虑11在&lt;或&lt; =。