题目详情

阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。

中级软件评测师,章节冲刺,测试用例设计方法

中级软件评测师,章节冲刺,测试用例设计方法

问题1:(5分)请给出满足100%DC(判定覆盖)所需的逻辑条件。

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

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

正确答案及解析

正确答案
解析

问题1:答案:

中级软件评测师,章节冲刺,测试用例设计方法

问题2:答案:1.控制流图如下图所示:

中级软件评测师,章节冲刺,测试用例设计方法

(2)、V(G)=6+1=7

问题3:答案:1.1-2-3-4-2...2.1-2-3-5-6-2...3.1-2-3-5-7-134.1-2-8-9-10-11-135.1-2-8-9-10-12-136.1-2-8-9-12-137.1-2-8-12-13

【解析】

问题1:本小题考查白盒测试中的判定覆盖法。判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得-次 “真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序一共有5个判定,所以满足判定覆盖一共就需要10个逻辑条件,这些条件详见上述答案。问题2:本题考查白盒测试方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:

中级软件评测师,章节冲刺,测试用例设计方法

其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度。环路复杂度等于右图中的判定的节点个数加1。图中判定节点个数为6,所以V(G)=6+1=7。控制流程图的环路复杂性 V(G)一共有以下三种方法,但是最后一种最好用,不易出错。(1)控制流程图中的区域个数。(2)边数-结点数+2。(3)判定数+1。

问题3:本小题考查白盒测试用例设计方法之基本路径法。涉及到根据控制流图和环路复杂度给出线性无关路径。线性无关路径:指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中有7条线性无关路径。这7条路径组成了问题2中控制流图的一个基本路径集。只要设计出的测试用例能确保这些基本路径的执行,就可以使程序中的每个可执行语句至少执行一次,每个条件的取真和取假分支也能得到测试。需要注意的是,基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。

你可能感兴趣的试题

问答题

根据你理解请用100字以内文字说明嵌入式系统主要特点。

查看答案
单选题

某项目有 A~H 八个作业,各作业所需时间(单位:周)以及紧前作业如下表

高级系统分析师,章节练习,基础复习,高级系统分析师

该项目工期为( )周。如果作业C 拖延3 周完成,则该项目工期(请作答此空)

  • A.不变
  • B.拖延1周
  • C.拖延2周
  • D.拖延3周
查看答案
单选题

需求管理是一个对系统需求变更、了解和控制过程。以下活动中,( )不属于需求管理主要活动。

  • A.文档管理
  • B.需求跟踪
  • C.版本控制
  • D.变更控制
查看答案
单选题

文档是影响软件可维护性决定因素。软件系统文档可以分为用户文档和系统文档两类。其中,( )不属于用户文档包括内容。

  • A.系统设计
  • B.版本说明
  • C.安装手册
  • D.参考手册
查看答案
单选题

下面关于变更控制描述中,()是不正确。

  • A.变更控制委员会只可以由一个小组担任
  • B.控制需求变更与项目其他配置管理决策有着密切联系
  • C.变更控制过程中可以使用相应自动辅助工具
  • D.变更过程中,允许拒绝变更
查看答案

相关题库更多 +