问答题 阅读以下关于嵌入式软件测试用例设计的叙述。
[说明]
某程序段的流程如图所示,x、y是两个变量,K、J表示一段程序执行体,如下表所示为本题可供选择的四组测试用例组。
问答题 简答以下问题。
(1)条件覆盖的含义是什么?
(2)路径覆盖的含义是什么?
【正确答案】
【答案解析】(1)条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
(2)路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。 [解析] 本题考查软件测试的基本知识。
条件覆盖是指设计足够的测试用例,使得被测程序每一个判定中的每个条件的所有可能结果至少出现一次。
路径覆盖是指设计足够的测试用例,使得被测程序中每条路径至少执行一次。
问答题 在程序测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。其中,____是最强的覆盖准则。
请把以下4个选项中正确的选项序号填入上述空白处。
①语句覆盖
②条件覆盖
③判定覆盖(分支覆盖)
④路径覆盖
【正确答案】
【答案解析】(1)④(路径覆盖) [解析] 在结构测试中,根据覆盖目标的不同,可以分为语句覆盖、条件覆盖、判定覆盖(分支覆盖)和路径覆盖等。
语句覆盖的含义是设计足够的测试用例,使得被测程序每一条语句至少被执行一次。
判定覆盖(分支覆盖)的含义是设计足够的测试用例,运行被测程序,使得程序中每个判定的取真分支和取假分支至少执行一次。
其中,路径覆盖是最强的覆盖准则。
问答题 为了对上图所示的程序段进行覆盖测试,必须适当地选取测试用例组。实现判定覆盖至少应采用的测试用例组是______和______,实现条件覆盖至少应采用的测试用例组是______;实现路径覆盖至少应采用的测试用例组是______和______。
请把以下8个选项中正确的选项序号填入上述空白处。
①测试用例组I和II
②测试用例组II和III
③测试用例组III和IV
④测试用例组I和IV
⑤测试用例组I、II和III
⑥测试用例组II、III和IV
⑦测试用例组I、III和IV
⑧测试用例组I、II和IV
【正确答案】
【答案解析】⑤ ⑧ ⑦ ⑤ ⑧
其中,第1和第2空的答案顺序可互换,第4、5空的答案顺序可互换。 [解析] 为判定覆盖选取测试用例情形:对第一个判定选取测试用例组I和II,当用I覆盖判定的T分支时,不会走到第二个分支;当用II覆盖判定的F分支时,第二个判定需要另取一个测试用例组覆盖其T分支,此时取测试用例组III或IV即可。
为条件覆盖选取测试用例情形:取测试用例组I、III和IV,就可以覆盖所有4个条件的取值。
为路径覆盖选取测试用例情形:总共三条路径,需要三个测试用例,可选使各路径为T的测试用例。I、II、III或I、II、IV均可。