在白盒测试法中,(  )是最弱的覆盖准则。下图至少需要(  )个测试用例才可以完

最全题库2022-08-02  38

问题 在白盒测试法中,(  )是最弱的覆盖准则。下图至少需要(  )个测试用例才可以完成路径覆盖,语句组2不对变量i进行操作。问题1选项A.语句B.条件C.判定D.路径问题2选项A.1B.2C.3D.4

选项

答案 AC

解析 白盒测试常用的技术是逻辑覆盖,即考查用测试数据运行被测程序时对程序逻辑的覆盖程度。主要的覆盖标准有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。
(1)语句覆盖
语句覆盖是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。很显然,语句覆盖是一种很弱的覆盖标准。
(2)判定覆盖
判定覆盖又称分支覆盖,它的含义是,不仅每个语句至少执行一次,而且每个判定的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强,但对程序逻辑的覆盖程度仍然不高。
(3)条件覆盖
条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖。
(4)判定/条件覆盖
同时满足判定覆盖和条件覆盖的逻辑覆盖称为判定/条件覆盖。它的含义是,选取足够的测试用例,使得判定表达式中每个条件的所有可能结果至少出现一次,而且每个判定本身的所有可能结果也至少出现一次。
(5)条件组合覆盖
条件组合覆盖的含义是,选取足够的测试用例,使得每个判定表达式中条件结果的所有可能组合至少出现一次。显然,满足条件组合覆盖的测试用例,也一定满足判定/条件覆盖。因此,条件组合覆盖是上述五种覆盖标准中最强的一种。然而,条件组合覆盖还不能保证程序中所有可能的路径都至少经过一次。
(6)路径覆盖
路径覆盖的含义是,选取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路径至少经过一次)。路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。
本题的第二问比较复杂,关键是我们要清楚程序流程图中有几条路径,然后为每条路径设置一个测试用例。
在本题给出的程序流程图中,如果我们将判定“x<=15&&x>0”规定为第1个判定,“x>15”规定为第2个判定,“i<3”规定为第3个判定的话,那么本题中的路径有:第1个判定为N,第2个判定为N;第1个判定为N,第2个判定为Y,第3个判定一直为Y,后再取N(这里要注意,由于在第3个判定前,给i赋初值为0,因此这个判定每次都是先为Y,循环后再为N);第1个判定为Y,第3个判定先为Y,然后再为N。总共只有这3条路径,因此至少需要设置3个测试用例来满足路径覆盖。
转载请注明原文地址:https://tihaiku.com/congyezige/2410289.html

最新回复(0)