参考答案:
【问题1】
(1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
(2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。
【问题2】
(1)④(路径覆盖)
【问题3】
(1)⑤(2)⑧(3)⑦(4)⑤(5)⑧
其中,第(1)、(2)题的答案顺序可互换,第(4)、(5)题的答案顺序可互换。
详细解析:
本题考查软件测试的基本知识。
1.语句覆盖
设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。在本例中,可执行语句是指语句块1到语句块4中的语句。
2.判定覆盖
设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。
3.条件覆盖
设计足够多的测试用例,使得被测试程序中的每个逻辑条件的可能值至少被满足一次。
4.条件判定覆盖
设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满足100%判定覆盖和100%条件覆盖的标准。
5.条件组合覆盖
设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。
6.路径覆盖
设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。
7.修正条件判定覆盖
要求在一个程序中每一种输入输出至少得出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每一个判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。