2017-10-09 87 views
0

我不明白为什么在使用边界值分析时使用边界内的两个值。例如,该程序具有以下要求: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'。

回答

0

基本要求是有+ 1的边界值。这样来测试值的范围1-100

  1. 一个测试用例输入的确切边界值的域各装置 1和100

  2. 一个测试用例输入的刚刚低于边界值域各自 意味着在0到99

  3. 一个测试用例略高于输入的边界值域各自 装置2和101

要回答你的问题 - 为什么要使用输入'2'和'99'?这是因为,如果您遵循BVA,则您正在检查范围的上限和下限,以确保软件的行为正确。但是,并没有硬性规定。如果范围足够大,那么你应该有更多的测试点。您也可以将中间值作为BVA的一部分进行测试。

此外,您可以使用Switch Case语句来创建程序或多个Ifs。

+0

是的。但我想知道为什么。在你的例子中,我认为值1和99是多余的。尝试使测试用例(0,100,-1,99,1和101)找到一个bug并且测试用例(0,100,-1,101)找不到它的程序。 –

+0

正如我所说,BVA是这样定义的,但并没有硬性规定。这完全取决于你是否想要遵循商业惯例。 BVA的想法是确保边界是正确的,因为它是应用程序中最脆弱的入口/出口点之一。 –