大个数多一的数作为测试数据。所以选择A。 9、[答案]:B
[解析]:在因果图方法中用到的是决策表。 10、[答案]:A
[解析]:灰盒测试=白盒测试+黑盒测试。 11、[答案]:B
[解析]:条件桩(Condition StuB.:列出了问题的所有条件,通常认为列出的条件的次序无关紧要)。
12、[答案]:B
[解析]:参见5.2.1节等价类划分概念与步骤。 13、[答案]:B
[解析]:参见5.2.2节等价类划分原则。 二、论述题 参考答案:
1、边界值测试用例的设计如附表A-4所示。
附表A-4 边界值测试用例的设计 测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 Test12 Test13 a 60 60 60 50 50 60 60 50 50 1 2 99 100 b 60 60 60 50 50 1 2 99 100 60 60 50 50 c 1 2 60 99 100 60 60 50 50 60 60 50 50 预期输出 等腰三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 等腰三角形 非三角形 2、边界值分析测试用例的设计如附表A-5所示。 附表A-5 边界值分析测试用例的设计 测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 Test11 mouth 6 6 6 6 6 6 6 6 6 6 6 day 15 15 15 15 15 15 15 -1 1 2 30 year 1911 1912 1913 1975 2049 2050 2051 2001 2001 2001 2001 预期输出 1911.6.16 1912.6.16 1913.6.16 1975.6.16 2049.6.16 2050.6.16 2051.6.16 day超出[1?31] 2001.6.2 2001.6.3 2001.7.1 Test12 Test13 Test14 Test15 Test16 Test17 Test18 Test19 6 6 -1 1 2 11 12 13 31 32 15 15 15 15 15 15 2001 2001 2001 2001 2001 2001 2001 2001 输入日期超界 day超出[1?31] mouth超出[1?12] 2001.1.16 2001.2.16 2001.11.16 2001.12.16 mouth超出[1?12] 3、附表A-6为等价类划分的结果。
附表A-6 等价类划分表 输入等价类 日期的类型及长度 有效等价类 ①6位数字字符 无效等价类 ②有非数字字符 ③少于6位数字字符 ④多于6位数字字符 ⑥小于1990 ⑦大于2049 ⑨等于00 ⑩大于12 年份范围 月份范围 ⑤在1990~2049之间 ⑧在01~12之间 4、分析题目中给出和隐含的对输入条件的要求:
①整数,②三个数,③非零数,④正数,⑤两边之和大于第三边,⑥等腰,⑦等边。 如果a、b、c满足条件①~④,则输出下列4种情况之一: (1)如果不满足条件⑤,则程序输出为“非三角形”。
(2)如果三条边相等即满足条件⑦,则程序输出为“等边三角形”。
(3)如果只有两条边相等,即满足条件⑥,则程序输出为“等腰三角形”。 (4)如果三条边都不相等,则程序输出为“一般三角形”。 列出等价类表关编号,结果如附表A-7所示。
附表A-7 等价类表 输入条件 是否是三角形的三条边 有效等价类 A>0 (1) B>0 (2) C>0 (3) A+B>C (4) A+C>B (5) B+C>A (6) 是否是等腰三角形 A=B (13) B=C (14) C=A (15) 是否是等边三角形 A=B AND A=C AND B=C (17) A≠B (18) A≠B (19) A≠B (20) 无效等价类 A≤0 (7) B≤0 (8) C≤0 (9) A+B≤C (10) A+C≤B (11) B+C≤A (12) A≠B AND A≠B AND B≠C (16) 根据等价类设计等价类测试用例如附表A-8所示。
附表A-8 等价类测试用例表 符号 [ABC] 覆盖等价表 输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [3、4、5] [0、1、2] [1、0、2] [1、2、0] [1、2、3] [1、3、2] [3、1、2] [3、3、4] [3、4、4] [3、4、3] [3、4、5] [3、3、3] [3、4、4] [3、4、3] [3、3、4] (1)、(2)、(3)、(4)、(5)、(6) (7) (8) (9) (10) (11) (12) (1)、(2)、(3)、(4)、(5)、(6)、(13) (1)、(2)、(3)、(4)、(5)、(6)、(14) (1)、(2)、(3)、(4)、(5)、(6)、(15) (1)、(2)、(3)、(4)、(5)、(6)、(16) (1)、(2)、(3)、(4)、(5)、(6)、(17) (1)、(2)、(3)、(4)、(5)、(6)、(18) (1)、(2)、(3)、(4)、(5)、(6)、(19) (1)、(2)、(3)、(4)、(5)、(6)、(20) 一般三角形 不能构成三角形 等腰三角形 非等腰三角形 等边三角形 非等边三角形 5、(1)根据系统的规格说明,画出状态图,如附图A-4所示。 S0M1M5S1 输入学号M2M4S3输入学号不正确TM3首页 输入课程名S2M9M18S5输入课程名不正确TM7 查询成绩S4M13M10M12S7查询失败TM11 是否继续查询S6M14TM6
附图A-4 状态图
其中:
M1:选择“查询”请求 M2:输入学号
M3:输入了正确的学号 M4:输入了错误的学号 M5、M9、M13:回归首页 M6:输入课程名
M7:输入了正确的课程名 M8:输入了错误的课程名 M10:选择查询成绩 M11:查询成绩成功 M12:查询成绩失败
M14:系统询问是否继续查询 M15:用户选择“继续查询” M16:用户选择“结束查询”
(2)根据系统的规格说明,画出控制流图,如附图A-5所示。
附图A-5 控制流图
由控制流图可以看出,程序中有4个判定节点,因此该程序的环路复杂度v(G)=5,所以可以确定5条独立的测试路径,即: Path1:1-2-4 Path2:1-2-3-6 Path3:1-2-3-5-8 Path4:1-2-3-5-7-9 Path5:1-2-3-5-7-10
6、在这个图中,有1个基本流和4个备选流。
每个经过用例的可能路径可以确定不同的用例场景,从基本流开始,再交基本流和备选流结合起来,可以确定以下用例场景:
场景1:基本流
场景2:基本流 备选流1
场景3:基本流 备选流1 备选流2 场景4:基本流 备选流3
场景5:基本流 备选流3 备选流1
场景6:基本流 备选流1 备选流1 备选流2 场景7:基本流 备选流4
场景8:基本流 备选流3 备选流4
第六章:单元测试和集成测试
一、选择题:
1、单元测试时,调用被测模块的是( )。 ····················································· (C) A.桩模块 B.通信模块 C.驱动模块 D.代理模块 2、以下关于软件单元测试的说法中,错误的是( )。 ······································ (B)A.单元测试通常可放在编程阶段
B.单元测试的依据是软件结构设计说明
C.单元测试主要发现编程和详细设计中产生的错误
D.单元测试计划应该在详细设计阶段制定
3、自底向上的单元测试策略是首先对模块调用图上的( )模块进行测试。 ·········· (A)A.最底层 B.下一层 C.最高层 D.上一层 4、以下关于单元测试策略的说法中,正确的是( )。 ······································ (C)A.自顶向下的单元测试不必编写桩模块 B.自底向上的单元测试不 必编写驱动模块 C.孤立的单元测试可以并行进行
D.单元测试的几种策略不可混合使用
5、软件单元测试分析的对象不包括( )。 ····················································· (B)A.接口 B.全局数据结构 C.独立路径 D.边界条件 6、静态测试分析的对象不包括( )。 ··························································· (D)A.控制流 B.数据流 C.接口 D.独立路径 7、以下关于单元测试的测试用例的说法中,错误的是( )。 ····························· (B)A.对软件设计文档规定的软件单元的功能、性能和接口等要求逐项设计测试用例 B.每个软件特性应至少被一个正常测试用例覆盖但无须设计异常测试用例 C.测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值 D.语句覆盖率和分支覆盖率均应达到100%
8、集成测试对系统内部的交互以及集成后系统功能检验了( )质量特性。 ·········· (A)A.正确性 B.可靠性 C.可使用性 D.可维护性 9、以下关于软件集成测试的说法中,错误的是( )。 ······································ (D)A.集成测试计划应该在概要设计阶段制定 B.集成测试的技术依据阶段制定
C.集成测试之前待集成的软件单元必须先通过单元测试 D.集成测试必须委托第三方进行
10、大突击测试把所有的模块一次性集成为一个完整的系统后进行测试,很容易( )。?? ··············································································································· (B) A.通过测试 B.整体测试 C.快速查错 D.快速排错 11、以下关于软件集成测试策略的说法中,错误的是( )。 ······························· (A) A.三明治集成先集成中间层,然后集成上下层
B.基于功能的集成按照功能的关键程度组织模块的集成顺序 C.基于调用图的集成使用实际代码代替驱动模块和桩模块 DMM-路径集成是功能集成和结构性集成的混合. 12、软件集成测试分析不包括( )。 ····························································· (B)A.接口分析 B.局部数据结构分析 C.体系结构分析 D.模块分析 13、软件系统内部接口不包括( )。 ····························································· (D) A.函数或方法接口 B.消息接口 C.类接口 D.局部变量 14、以下关于测试用例的设计原则,不属于集成测试的是( )。 ························· (D) A.为软件设计文档规定的软件功能和性能等特性逐项设计测试用例 B.为软件单元之间、软件和硬件之间的所有接口设计测试用例
C.每个软件特性应至少被一个正常测试用例和一个被认可的异常测试用例覆盖 D.语句覆盖率和分支覆盖率均应达到100%
15、软件单元测试时,应设计测试用例检查数据结构的( )差错。 ···················· (D) 1)不正确或不一致的数据类型说明
2)错误的变量名,如变量名拼写错或缩写错等