西南科技大学软件测试A卷答案

2020-05-12 09:51

*密*

参考答案及评分细则

第 1页共 6页

西南科技大学2008——2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

课程代码 1 4 3 1 4 0 1 9 0 命题单位 计算机学院:软件教研室 一、简答题(45 分)

1.简要回答软件测试的目的和原则(至少列出 5条原则)。(10分)

答:软件测试的目的是以最少的时间和人力,系统地找出软件中潜在的各种错误 和缺陷。测试是为了证明程序有错,而不是证明程序无错。一个成功的测试是发现了 至今未发现的错误的测试。(5 分)软件测试的原则包括:所有的测试都应追溯到用户 的需求;尽早地和不断地进行软件测试;不可能完全的测试,因为输入量太大,执行 路径太多;注意测试中的群集现象;避免测试自己的程序;设计周密的测试用例,等 等。(5 分,每条一分)

2.你认为一个优秀的测试工程师应该具备哪些基本素质和专业素质?并说明理 由。(10 分)

答:一个优秀的测试工程师应该具备的基本素质有:责任心、沟通能力、团队精 神、自信心、耐心、怀疑精神、洞察力、幽默感等。(5 分)应具备的专业素质有:有 竞争力的测试人员要具有三方面的技能:计算机专业技能、测试专业技能、软件编程 技能。(5 分)

3.什么是单元测试?什么是集成测试?什么是系统测试?他们的测试依据是什 么?(15分)

单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性 检验的测试工作。单元测试重点检查模块内部代码的问题。单元测试需要从程序的内 部结构出发设计测试用例,因此其测试依据是详细设计说明书和程序源代码。(5 分)

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设

*密*

参考答案及评分细则

西南科技大学2008——2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

计要求组装成为子系统或系统,进行集成测试。集成测试重点检测与接口有关的各种 故障。集成测试的依据主要是概要设计和需求规格说明书。(5 分)

系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格 的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试重点验证系统是否达 到规格说明书上要求的功能和性能。系统测试的依据主要是产品系统的需求规格说明 书、各种规范、标准和协议等。(5 分)

4.黑盒测试(功能性测试)有哪几种方法?并简单描述各种方法的特点。(10 分) 黑盒测试的方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法 等。

边界值分析利用输入变量的最小值、略大于最小值、输入值域内的任意值、略小 于最大值和最大值来设计测试用例。

等价类划分法是把程序的输入域划分为若干部分,然后从每个部分中选取少数代 表性数据当作测试用例。经过类别的划分后,每一类的代表性数据在测试中的作用都 等价于这一类中的其他值。

因果图方法就是从程序规格说明书的描述中找出因(输入条件)和果(输出结果 或程序状态的改变),将因果图转换为决策表,最后为决策表中的每一列设计一个测试 用例。这种方法考虑到了输入情况各种组合以及各个输入情况之间的相互制约关系。

在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试 方法。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即: 针对不同逻辑条件的组合值,分别执行不同的操作。决策表法很适合测试这类问题。 二、设计题(55 分)

1.某公司招聘人员,其要求为:学历:本科及以上;专业:计算机、通信、自动 化;年龄:22-30岁。请划分出各条件的有效等价类和无效等价类。(10分)

第 2页共 6页

*密*

参考答案及评分细则

答:学历的等价类:A1={本科,硕士,博士},

A2={专科,高中,初中,小学,无}

专业的等价类:B1={计算机、通信、自动化},B2={其他}

年龄的等价类:C1={22-30岁},C2={小于 22岁},C3={大于 30岁}

2.某个软件的规格说明中包含了下面的要求:第一例字符必须是 A或 B,第二列 字符必须是一个数字,在此情况下进行文字的修改。但如果第一列字符不正确, 则给出信息 L,如果第二列字符非数字,则给出信息 M。请用基于决策表的测 试方法进行测试,并设计测试用例覆盖每一种情况。(15分)

答:输入条件:第一列字符:{A},{B},{其他};第二列字符:{数字},{其他} 动作:修改文件,给出 L,给出 M。(6 分)

决策表如下表所示。(9 分) 条件 第一列 第二列 动作 修改文件 给出 L 给出 M 测试用例 A 数字 √ A6 B 数字 √ B2 其他 数字 √ M1 A 其他 √ A! B 其他 √ B% 其他 其他 √ √ V+ 西南科技大学2008—2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

3.使用逻辑覆盖测试方法测试以下程序段。(15 分)

void Do (int X,int A,int B) {

1 if ( (A<4)&&(B=5) )

2 X=X/A;

3 if ( (A=2) || (X>1) )

第 3页共 6页

*密*

参考答案及评分细则

4 5 }

说明:程序段中每行开头的数字( 1 至 5 )是对每 条语句的编号。

(1)画出程序的控制流图(用题中给出的语句编号 表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/ 条件覆盖和路径覆盖方法设计测试用例,并写出每个 测试用例的执行路径(用题中给出的语句编号表示)。 答:(1)程序段的控制流图如图 1 所示。(4 分)

(2)设计的测试用例如下表所示:(11 分)

图 1

西南科技大学2008——2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

X=X+1;

测试数据 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 路径覆盖 X=4、A=2、B=5 X=4、A=2、B=5 X=1、A=5、B=0 X=3、A=5、B=0 X=1、A=2、B=5 X=4、A=2、B=5 X=1、A=5、B=0 X=4、A=2、B=5 X=1、A=5、B=0 X=3、A=5、B=0 X=1、A=3、B=5 第 4页共 6页

执行路径 1→2→3→4→5 1→2→3→4→5 1→3→5 1→3→4→5 1→3→4→5 1→2→3→4→5 1→3→5 1→2→3→4→5 1→3→5 1→3→4→5 1→2→3→5

4.以下代码用于判断闰年,由 C语言书写。其对应的控制流图如下图所示。请按 要求回答问题。(15分) int isLeap(int year) { int leap;

if (year % 4 = = 0) {

if (year % 100 = = 0) {

if ( year % 400 = = 0)

leap = 1; else leap = 0;

} else

leap = 1; } else

leap = 0; return leap; }

*密*

参考答案及评分细则

西南科技大学2008——2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

1

2

10 8

3

4 6 9

7 5

11 12 【问题 1】请计算上述控制流图的圈复杂度 V(G)(独立线性路径数)。(3 分)

【问题 2】找出独立路径。(4 分)

【问题 3】假设输入的取值范围是 1000 < year < 2001,请使用基本路径测试法为 变量 year 设计测试用例,使其满足基本路径覆盖的要求。(8 分)

答:控制流图如图所示。 圈复杂度:V(G)=4。 基路径:

Path1: 1,2,10,11,12

第 5页共 6页

*密*

参考答案及评分细则

西南科技大学2008——2009学年第1学期

《软件测试技术》期末考试试卷(A 卷)

Path2: 1,2,3,8,9,11,12 Path3: 1,2,3,4,6,7,9,11,12 Path4: 1,2,3,4,5,7,9,11,12 测试用例:

用例 1:year 是 1000~2000 之间不能被 4 整除的整数,如 1001、1002、1003等 (2 分)。

用例 2:year 是 1000~2000 之间能被 4 整除但不能被 100 整除的整数,如 1004、 1008、1012、1016 等(2 分)。

用例 3:year 是 1000~2000 之间能被 100 整除但不能被 400 整除的整数,如 1100、 1300、1400、1500、1700、1800、1900(2 分)。

用例 4:year 是 1000~2000 之间能被 400 整除的整数,如 1200、1600、2000(2 分)。

第 6页共 6页


西南科技大学软件测试A卷答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:刘连昆--少将间谍的黄泉路

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: