软件测试基础 11软件工程 期末考试A卷及答案
„„„题号 一 二 三 四 总分 评阅人 „„„得分 „„考试形式:■闭卷 □开卷 ■笔试 □机试
„„一、单项选择题(每小题2分,15×2=30分) „„1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 线„„C A B C A D B A B B C B A B D „„1、下列哪一项不是白盒测试?(C)
„„A.单元测试 B.集成测试 C.系统测试 D.回归测试
„„2、___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A) „„A. 系统测试 B. 集成测试 C. 单元测试 D. 功能测试
„„3、有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准订„___________。(B)
„„A. 语句覆盖 B. 判定覆盖 C. 条件覆盖 D. 路径覆盖 „„4、软件测试的目的是___________。(C)
„„A. 表明软件的正确性 B. 评价软件质量 „„C. 尽可能发现软件中的错误 D. 判定软件是否合格
„„5、关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) „„A. 白盒测试侧重于程序结构,黑盒测试侧重于功能 „„B. 白盒测试可以使用测试工具,黑盒测试不能使用工具 „„C. 白盒测试需要程序参与,黑盒测试不需要 装„D. 黑盒测试比白盒测试应用更广泛
„6、软件测试类型按开发阶段划分___________。(D) „„A. 需要测试﹑单元测试﹑集成测试 „„B. 调试﹑单元测试﹑功能测试 „„C. 单元测试 ﹑集成测试﹑确认测试
„„D. 单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试
„7、在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A. private void testXXX() B. public void testXXX()
第 1 页 共 3 页 适用专业: 11软件工程 课程名称: 《软件测试基础》
C. public float testXXX() D. public int testXXX()
8、软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A) A.单元测试 B.集成测试
C.目的测试 D.确认测试
9、增量式集成测试有3种方式:自顶向下增量测试方法, 和混合增量测试方式。(B) A.自中向下增量测试方法 B.自底向上增量测试方法 C.多次性测试 D.维护 10、阅读下面流程图
当使用判定覆盖法进行测试时,至少需要设计___________个测试用例。(B) A.2 B. 4 C. 6 D. 8
12、软件测试过程中的集成测试主要是为了发现___________阶段的错误码。(B) A.需求分析 B.概要设计 C.编码 D.维护
13、单元测试一般以__________为主。(A) A. 白盒测试 B. 黑盒测试
C. 系统测试 D. 分析测试
14、代码检查法有桌面检查法,走查和__________。(B) A. 静态测试 B. 代码审查 C. 动态测试 D. 白盒测试
1
15、下图控制流图的环复杂度Ⅴ(g)和基本复杂度EV(g)是__________。(D) A.V(g)=5 EV(g)=l B.V(g)=6 EV(g)=6 C.V(g)=5 EV(g)=5 D.V(g)=6 EV(g)=l
二、填空题(每小题1.5分,20×1.5=30分)
1、环复杂度的计算方法有直观观察法、公式计算法、判定节点法。 2、软件缺陷按测试开发阶段分为需求缺陷、设计缺陷和编码缺陷。
3、在兼容性测试中,向前兼容是指可以使用软件的以前版本,向后兼容 是指可以使用软件的未来版本。
4、测试用例由 输入数据 和预期的 输出数据 两部分组成。
5、在单元测试中,需要为被测模块设计 驱动 模块和 桩 模块。 驱动模块用来模拟被测模块的上级调用模块, 桩模块 用来代替被测模块所调用的模块。
6、集成测试可分为4种遍历顺序的方法:大爆炸方法、自顶向下、自底向上和三明治集成方法。 7、功能测试主要从系统输入、系统内部处理、系统输出三方面设计测试用例。 8、基于场景的测试中最少的场景数等于事件流的总数,即基本流与备选流的总数。 三、简答题(每小题5分,4×5=20分)
1、单元测试的过程可划分几个阶段?每个阶段的主要内容是什么? 参考答案:单元测试的过程可划分5个阶段: 计划阶段:完成单元测试计划,制定单元测试策略;
设计阶段:根据单元测试计划,提取测试需求,完成测试设计;
实施阶段:根据测试用例开发测试数据或测试脚本,并建立单元测试环境,准备正式开始测试执行; 执行阶段:以手动方式或利用测试脚本自动执行单元测试用例,记录测试结果;
评估阶段:利用测试用例和缺陷计算相关指标,评估阶段性测试过程和结果,做出决策。 2、什么是回归测试?回归测试的目的是什么?
参考答案:1)回归测试是贯穿在整个测试各个阶段的一个测试活动,主要是对修改过的软件重新进行
第 2 页 共 3 页 适用专业: 11软件工程 课程名称: 《软件测试基础》
测试,以保证验证修改的正确性及其影响。 2)回归测试的目的在于: (1)确保缺陷真正得到了修复;
(2)防止在缺陷修复或功能变化过程中造成对软件原有正常部分代码的损坏; (3)防止由于开发人员自身因素或其他因素导致版本倒流现象; (4)防止由于其他因素造成的原正常功能的失效。
3、什么是集成测试?从哪些方面来对集成测试策略进行评价?
参考答案:1)集成测试就是在单元测试的基础上,将所有已通过单元测试的模块按照概要设计的要求
组装为子系统或系统,并进行测试的过程,目的是确保各单元模块组合在一起后能够按既定意图协作运行,并确保增量的行为正确。 2)从四个方面对集成测试策略进行评价: 测试用例的规模 驱动模块的设计 桩模块的设计 缺陷的定位
4、什么是系统测试?系统测试与单元测试和集成测试的主要区别是什么?
参考答案:1)系统测试就是将经过良好的集成测试的软件系统,作为整个计算机系统的一部分,与计算机硬件、外部设备、支持软件、数据及人员等其他系统元素结合在一起,在实际使用(运行)环境下对计算机系统进行一系列的严格测试来发现软件中的潜在缺陷,保证系统交付给用户之后能够正常使用
2)系统测试与单元测试和集成测试的主要区别是系统测试不仅限于软件,系统测试不能省略。
四、测试用例设计(每小题10分,2×10=20分) 1、根据源代码请回答以下问题。 Void sort(int i,int j) 1{
2 int m,n,k; 3 m=n=k=0; 4 While(i++<11) 5 { 6 if(j<5) 7 m++;
2
8 else 参考答案: 9 if(j<8) 10 n++; 等价类 顾客身份 消费额 11 else 有效 A1:会员 B1:多于或等于1000 12 k++; 13 }
A2:普通 B2:少于1000 14 printf(“%d,%d,%d”,m,n,k); 15}
(1) 请画出流图并计算环复杂度V(G)。 顾客身份 A1 A1 A2 A2 (2) 找出独立路径。
(3) 请使用基本路径测试法设计测试用例。
消费金额 B1 B2 B1 B2 A类收费(不打折) √ A B类收费(打9折) √ C类收费(打8.5折) √ 4 14 D类收费(打7折) √ 6 办理会员卡 √ 9 ID 顾客身份 消费金额 预期输出 7 1 会员 1001 1001*0.7=707 10 11 13 2 会员 999 999*0.85=849.15
3 普通 1001 1001*0.9=909 办理会员卡 参考答案:(1)环复杂度为4 (2)1、A 4 6 9 10 13 4 14 4 普通 999 999 2、A 4 14
3、A 4 6 7 13 4 14 4、A 4 6 9 11 13 4 14 (3) 输入 预期输出 m n k i j m n k 1 1 1 1 10 6 1 2 1 2 1 1 1 11 1 1 1 1 3 1 1 1 10 4 2 1 1 4 1 1 1 10 9 1 1 2
2、某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于1000元,按A类标准收费(不打折),一次购物累计多于或等于1000元,按B类标准收费(打9折),并免费办理会员卡;会员顾客一次购物累计少于1000元,按C类标准收费(打8.5折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。请给出相应的决策表和测试用例。
第 3 页 共 3 页 适用专业: 11软件工程 课程名称: 《软件测试基础》
3
因篇幅问题不能全部显示,请点此查看更多更全内容