一、阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。

来源:www.zcjsj8.com   发布时间2020-10-21
 

2018年下半年《软件评测师》下午试卷及答案

#软件评测师

(共15分)
一、阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。

问题:1.1   (3分)
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。

本问题考查白盒测试用例设计方法:判定覆盖法。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有3个判定,所以满足判定覆盖一共需要6个逻辑条件。


问题:1.2   (8分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

控制流图如下,环路复杂度V(G)=4

本问题考查白盒测试用例设计方法:基本路径测试法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的节点代表一个基本块,定向边代表控制流的方向。
程序的环路复杂度等于控制流图中判定节点的个数加1,本题控制流图中判定节点个数为3,所以V(G)=4。


问题:1.3   (4分)
请给出问题2中控制流图的线性无关路径。

线性无关路径:
1.1-2-8
2.1-2-3-4-2…8
3.1-2-3-4-5-6-4...2...8
4.1-2-3-4-5-7-4...2...8

本问题考查白盒测试用例设计方法:基本路径法。涉及到的知识点包括:根据控制流图和环路复杂度给出线性无关路径。
线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中应该有4条线性无关路径。



  本文网址:http://www.zcjsj8.com/ceping/1204.html