我不明白为什么在使用边界值分析时使用边界内的两个值。例如,该程序具有以下要求:1)1和100之间的值为真,否则为false。边界值分析,为什么在边界内使用两个值?
func calc(x):
if (x >= 1 and x <= 100):
return True
else:
return False
很多书籍(Pressman的,例如)说你必须使用输入0,1,2,99,100和101来测试这样的程序。
所以,我的问题是:为什么使用输入'2'和'99'? 我尝试使测试用例集(0,1,2,99,100和101)暴露一个失败并且测试用例集(0,1,100,101)不暴露它的错误的程序。 我不能做这样的程序。
你可以制作这样的程序吗? 如果不是,则浪费资源创建冗余测试用例'2'和'99'。
是的。但我想知道为什么。在你的例子中,我认为值1和99是多余的。尝试使测试用例(0,100,-1,99,1和101)找到一个bug并且测试用例(0,100,-1,101)找不到它的程序。 –
正如我所说,BVA是这样定义的,但并没有硬性规定。这完全取决于你是否想要遵循商业惯例。 BVA的想法是确保边界是正确的,因为它是应用程序中最脆弱的入口/出口点之一。 –