软件水平考试(中级)软件评测师下午(应用技术)试题模拟试卷3
试题一
【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
main()(int i,n; //1for(i=1;i<7:i++){//2n=0;if(i!=1) //3 n=n+1;//4 if(n==5){//5printf(\\
1.请给出满足100%DC(判定覆盖)所需的逻辑条件。
i<72、i>=73、i!=14、i==15、n == 56、n!= 5
解析:本小题考査白盒测试中的判定覆盖法。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有3个判定,所以满足判定覆盖一共就需要6个逻辑条件。
2.请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
控制流图如下图所示:
[*]
V(G)=3+1=4
解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
3.请给出上一问中控制流图的线性无关路径。
(1)1-2-8
(2)1-2-3-5-6-2…
(3)1-2-3-4-5-6-2…
(4)1-2-3-5-7-2…
解析:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。
线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。
程序的环路复杂度等于线性无关路径的条数,所以本题中有4条线性无关路径,这4条路径组成了上一问中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。
试题二
阅读下列程序,回答问题。
【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。
main(){int i,n; //1for(i=1;i<5;i++){//2n=0; if(i!=1)//3 n=n+1; //4 if(i==3) //5 n=n+1; //6 if(n==3)//7
printf(\\
4.请给出满足100%DC(判定覆盖)所需的逻辑条件。
i<52、i>=53、i!=14、i==15、i==36、i!=37、n== 38、n!=3
解析:判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有4个判定,所以满足判定覆盖一共就需要8个逻辑条件。
5.请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
控制流图如下图所示:
[*]
V(G)=4+1=5
解析:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:
6.请给出上一问中控制流图的线性无关路径。
(1)1-2-9
(2)1-2-3-5-7-2…
(3)1-2-3-5-7-8-2…
(4)1-2-3-4-5-7-2…
(5)1-2-3-5-6-7-2…
解析:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。
线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。
程序的环路复杂度等于线性无关路径的条数,所以本题中有5条线性无关路径,这5条路径组成了上一问中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。
试题三
某大型教育培训机构近期上线了在线网络学校系统,该系统拓扑结构如图1所示。企业信息中心目前拟对该系统用户认证机制进行详细的安全性测试,系统注册用户分为网校学员、教师及管理员三类,其中网校学员采用用户名/口令机制进行认证,教师及管理员采用基于公钥的认证机制。
7.为防止针对网校学员的口令攻击,请从口令的强度、传输存储及管理等方面,说明可采取哪些安全防护措施。相应地,对于网校学员所采用的口令认证机制进行测试时,请说明从用户名称及用户口令两个方面开展测试时应包含哪些基本的测试点。
(1)可采取的安全防护措施包括:
①口令强度:可设置最小口令长度,同时可采取要求用户在口令中使用非数字字母的字符等增加口令复杂度的手段提高口令强度。
②口令传输存储:可采用加密或Hashing手段,系统服务端存储的用户口令可加密或Hashing后存储,网络传输的用户口令可加密或Hashing后进行传输。
③口令管理:可设置最大口令时效强制用户定期更新口令,引入口令锁定机制以应对口令猜测攻击,引入口令历史强制用户设置新口令等。
(2)对口令认证机制测试应包含的基本测试点:
①对用户名称测试的主要测试点在于测试用户名称的唯一性,即测试同时存在的用户名称在不考虑大小写的情况下,不能够同名。
②对用户口令测试应主要测试用户口令是否满足当前流行的控制模式。主要测试点应包括最大/最小口令时效、口令历史、最小口令长度、口令复杂度、加密选项及口令锁定等。
解析:本题考查考生对基于口令的用户认证机制相关安全测试内容的了解。
基于口令的认证是最简单的用户认证方式,口令具有共享秘密的属性,该方式也容易受到相应的口令攻击。为防范口令攻击,通常可以从口令的强度、传输存储及管理等方面采取相应的安全防护措施,具体措施可包括设置最小口令长度,同时可采取要求用户在口令中使用非数字字母的字符等增加口令复杂度的手段提高口令强度;采用加密或Hashing手段,系统服务端存储的用户口令可加密或Hashing后存储,网络传输的用户口令可加密或Hashing后
本文档预览:3600字符,共8155字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载