我们经常在测试用例中进行边界值分析。为什么边界是导致软件故障的错误的常见位置?
答案 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; =。