1、计算机新国家四级软件测试工程师模拟试卷 32及答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 软件验证和确认理论是测试过程的理论依据。其中验证是检查我们是否正在正确地建造一个产品,它强调的是 _。 A) 过程的正确性 B) 产品的正确性 C) 测试的正确性 D) 规格说明的正确性 2 下列引用表,不能直接从表中查出说明 /使用错误的是 _。 ( A)循环层次表 ( B) 等价表 ( C)变量交叉引用表 ( D)标号交叉引用表 3 在软件开发过程中,需要的文档评审有
2、_。 ( A)需求文档评审 ( B)软件设计文档评审 ( C)代码评审和质量验证文档评审 ( D)以上全部 4 下列不属于安全性测试的范畴的是 _。 ( A)数据库内容安全性 ( B)客户端内容安全性 ( C)服务器端内容安全性 ( D)日志功能 5 对测试过程度量和分析优点是 _。 ( A)能有效提高测试效率 ( B)能够降低测试风险 ( C)是软件测试过程可持续改进的根本 ( D)以上全部 6 如果一个判定中的复合条件表达式为 (A 10)or(B =7),则为了达到 100%的判定覆盖率,至少需要设计多少个测试用例 _。 ( A) 1个 ( B) 2个 ( C) 3个 ( D) 4个 7
3、 下列关于软件测试过程的几种抽象模型,说法正确的是 _。 ( A) H模型指出软件测试具有独立性,只要某个测试达到准备就绪点,测试执行活动就可以开展 ( B) W模型强调在整个项目开发中需要经历的不同测试级别,指明测试的对象是程序 ( C)软件测试过程与软件开发过程不同的是,它不 必遵循软件工程原理 ( D) V模型强调测试的对象不仅仅是程序,需求、设计等同样需要测试 8 软件测试的目的是 _。 ( A)证明软件的正确性 ( B)尽可能多地发现软件系统中的错误 ( C)找出软件系统存在的所有错误 ( D)证明软件系统中存在错误 9 一般说来,对一个程序单元的测试应满足一些具体的技术要求,或达到
4、一定的技术指标。下面选项中属于单元测试相关的技术要求或指标的是 _。 ( A)语句覆盖率达到 100% ( B)局部变量的边界条件处理正确 ( C)逻辑比较和控制流处理正 确 ( D)以上全部 10 在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档是 _。 A) 用户手册 B) 外部设计规格说明 C) 内部设计规格说明 D) 测试计划手册 11 在压力测试过程中,测试人员主要关注的是 A)在有非正常资源占用的情况下系统的处理时间 B)在正常资源占用的情况下系统的处理时间 C)在不正常的系统运行范围内系统处理的数据容量 D)在正常的系统运行范围内系统处理的数据容量 12 等价类划分和边
5、界值分析是常用的两种黑盒测试方法,采用这两种方法 ,可以大幅度减少测试用例的数量,那么,它们的局限性是 _。 A) 在设计测试用例时不能将这两种方法结合在一起同时使用 B) 不同输入变量之间可能存在约束关系,它们不能处理这类约束关系 C) 不能用于大型信息系统的测试用例的设计 D) 不能用于单元测试和集成测试 13 关注在一连串的测试中如何选择合适的程序或子程序路径来执行有效的检查,这种测试极有可能是 _。 A) 结构测试 B) 黑盒测试 C) 功能测试 D) 静态测试 14 在结构化测试用例设计中,有语句覆盖、条件覆盖、判定覆盖 (也称分支覆盖 )、路径覆盖等,其中 _是最强的覆盖准则。 A
6、) 语句覆盖 B) 条件覆盖 C) 判定覆盖 D) 路径覆盖 15 在 QEStlite Web Version 1 0中,下列状态不属于活动状态的是 A)解决 B)待验 C)打开 D)新建 16 分析性能下降曲线时会把曲线划分为几个区间,那么对于分析性能瓶颈有很大作用的是哪一个区间 _。 A) 性能平坦区 B) 性能轻微下降区 C) 性能急剧下降区 D) 其他区 17 在单元测试时,用于代替被调 用模块的是 A)桩模块 B)代理模块 C)驱动模块 D)通信模块 18 下列关于测试设计与开发的说法中,不正确的是 _。 A) 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段 B)
7、 软件测试设计与开发主要包括测试技术方案的制定、测试用例设计 C) 测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴 D) 测试设计与开发活动对软件进行需求确定性估算 19 如果软件出现修改设计的严重错误,那么软件质量和可靠性就不能保证, 应对软件进一步测试。如果经过测试,软件功能完善,错误率数据很少,并易于修改,可能的结果是 _。 A) 软件的质量和可靠性可以信任 B) 所作的测试不充分 C) 先前做出的改正是错误的 D) A或者 B 20 以下程序的路径数为 _。 If(a 8) If(b 0) Result=a*b; If(c 8)result+=1; A)
8、3 B) 6 C) 8 D) 12 21 “成熟度 ”这一概念来源于美国 Carneigie Mellon大 学软件工程研究所的软件能力成熟度模型 (SW-CMM),在测试支持度模型 (Testability Support Model)中,分为三个级别。下列哪项不属于此级别分类 _。 A) 弱 (weak) B) 基本 (basic) C) 正常 (normal) D) 强 (stron 22 测试项目的输出标准包括 _。 A) 测试执行标准、测试分析 B) 缺陷描述和处理标准 C) 文档标准和模板、质量评估标准等 D) 以上全是 23 以下关于软件回归测试的说法中错误的是 _。 ( A)软
9、件 变更后,应对软件变更部分的正确性和对变更需求的符合性进行测试 ( B)软件变更后,首先应对变更的软件单元进行测试,然后再进行其他相关的测试 ( C)软件变更后,不必再对软件原有正确的功能、性能和其他规定的要求进行测试 ( D)对具体的软件,可以根据软件测试合同及软件的重要性、完整性级别对回归测试内容进行剪裁 24 以下哪一种选项不属于软件缺陷 ?_。 ( A)软件没有实现产品规格说明所要求的功能 ( B)软件中出现了产品规格说明不应该出现的功能 ( C)软件实现了产品规格说明没有提到的功能 ( D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 25 测试过程的四项基
10、本活动是测试策划、测试设计、测试总结和 _。 ( A)测试执行 ( B)测试报告 ( C)测试度量 ( D)测试需求 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 QESuite Web Version 1.0中,已知 Lead 1.0邮件系统测试项目的部分信息如下: 测试版本:总计两个测试版本,按日期排序分为 Lead1._090703, Lead1.0_090801 功能分类视图中部分待测区域及人员分配定义如下表所示: 已知在功能区域 “性能 /并发处理能力 ”下有一个软件问题处于 “打开 /修复失败 ”状态下表
11、中是该软件问题当前的部分操作历史信息,请依据 QEsuite Web Version 1.0的软件问题生命周期定义和题中提供的相关人员分配和测试版本信息,填写表中空缺的操作历史信息。27 论述题 3:根据你对单元测试的理解,谈谈在任何情况下单元测试都是可能的吗 ?都是需要的吗 ? 28 28 针对以下 C语言程序, 请按要求回答问题。 下面是一个程序段 (C语言 ),试设计基本路径测试的测试用例,设计出的测试用例要保证每一个基本独立路径至少要执行一次。 函数说明:当 i_flag=0;返回 i_count+100 当 i_flag=1;返回 i_count*10 否则返回 i count*20
12、 输入参数: int i_count int i_flag 输出参数: int i_return 程序代码如下: 1 int Test(int i_count, int i_flag) 2 3 int i_temp=0; 4 while(i_count 0) 5 6 if(0=i_flag) 7 8 i_temp=i_count+100; 9 break; 10 11 else 12 13 if(1=i_flag) 14 15 i_temp=i_temp+10; 16 17 else 18 19 i_temp=i_temp+20; 20 21 22 i_count-; 23 24 return
13、 i_temp; 25 29 画出该函数的控制流程图。 30 采用基本路径测试法设计一组测试用例,保证每个基本独立路径都至少执行一次。 31 在 QESlJite web Version 1 0中,已知 Version 1 0 FTP系统测试项目的部分信息如下: (1)测试版本共有两个,按日期排序为 V1 0, V1 1。 (2)功能分类视图部分待测区域及人员分配定义如下表所示:31 以下是一个自动饮料售货机软件的操作规格说明,请按要求回答问题。 设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下: “有一个处理单价为 1元 5角钱的盒装饮料的自动售货机软件。若投入 1元 5角硬币
14、,按下 “可乐 ”、 “雪碧 ”或 “红茶 ”按 钮,相应的饮料就送出来。若投入的是 2元硬币,在送出饮料的同时退还 5角硬币。 ” 32 试利用因果图法,建立该软件的因果图。 33 设计测试该软件的全部测试用例。 34 请仔细阅读以下程序并完成要求。 If(a 2 b 3) (c 4| d 5) Flag=1; Else Flag=0; ) 请分别按照语句覆盖、判定覆盖、条件覆盖、判定 /条件覆盖测试用例。 34 设 有一个大学信息学院学生管理系统软件,其学生文件 Student记录的部分属性包括 Name、 Num、 Age、 Sex、 Dept等,其中: Name(学生名 )要求最少 2
15、个字符,最多 8个字符; Num(学号 )要求是 10位无符号整数,取值范围为 2010200001 2010203335; Age(年龄 )要求是 2位无符号整数,取值范围为 12 99; Sex(性别 )是枚举型,只有两个取值 male(男 )、 female(女 ); Dept(系名 )是枚举型,取值可以是 AT(自动化系 )、 CS(计算机系 )、 ET(电子系 )、MN(微纳电子系 )、 SW(软件学院 )。 现有一个新开发的查询程序,要求输入学生年龄的上限 A、性别 S、系名 D,利用文件 Student查询所有年龄小于 A岁且性别为 S的 D系的学生并输出这些学生的姓名和年龄。
16、请针对此程序完成以下工作: 35 给出该查询程序的查询条件表达式。 36 用等价类测试方法给出输入条件的等价类表。 37 QESuite Web Version 1.0中,已知某认证网关系统测试项目的部分信息如下: 测试版本:总计 4个测试版本,按日期排序分别为 SAG2.0_110209,SAG2.0_110225, SAG2.0_1110303, SAG2.0_110309。 功能分类视图中部分待测区域及人员分配定义如下表所示: 计算机新国家四级软件测试工程师模拟试卷 32答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的
17、,请将此选项涂写在答题卡相应位置上,答 在试卷上不得分。 1 【正确答案】 A 【试题解析】 软件验证和确认理论是测试过程的理论依据,验证是检查软件开发的各个阶段过程活动的结果是否满足规格说明的描述,证实各阶段之间的逻辑协调性、完备性和正确性。确认是证实在一个给定的外部环境中软件的逻辑正确性,即是否满足用户的要求。 Bohem给出了一个经典定义:验证是检查我们是否正在正确地建造一个产品,它强调的是过程的正确性。而确认是检查我们是否在建成一个正确的产品,它强调的是产品的正确性。 【知识模块】 软件测试的基本概念 2 【正确答案】 B 【知识模块】 代码检查、走查与评审 3 【正确答案】 D 【知
18、识模块】 代码检查、走查与评审 4 【正确答案】 A 【知识模块】 Web应用软件测试 5 【正确答案】 D 【知识模块】 软件测试实践 6 【正确答案】 B 【试题解析】 题目要求达到 100%的判定覆盖率,即要求所有的判定真假都至少执行一次,故我们取定 (A=12, B=7)和 (A=7, B=10)两组测试用例,即可满足题目要求。 7 【正确答案】 A 【试题解析】 软件测试过程体现了软件测 试的流程和方法,与软件开发过程一样,都遵循软件工程原理,遵循管理学原理,故选项 C不正确。 V模型反映出测试活动与分析设计活动的关系,强调了在整个项目开发过程中需要经历的不同测试级别,忽视了测试的对
19、象不应该仅仅是程序, W模型是对 V模型进行了补充,明确指出:测试的对象不仅仅是程序,需求、设计等同样需要进行测试, H模型指出软件测试是一个独立的流程,只要某个测试达到准备就绪点,测试执行活动就可以开展,软件测试贯穿于产品的整个生命周期,与其他流程可以并发进行。 8 【正确答案】 B 【试题解析】 考察软件测试 的目的。 9 【正确答案】 D 【试题解析】 考察单元测试的技术指标,所有选项都是单元测试的指标,故选择D。 10 【正确答案】 A 【试题解析】 软件的外部设计是从用户的角度对产品进行描述的,外部设计规格说明是在外部设计期间产生的文档,用户手册是另一种文档,与外部设计规格说明不同的
20、是,它是在需求获取与定义阶段就开始建立,以后要不断细化和完善的文档。 11 【正确答案】 A 【试题解析】 压力测试又称为强度测试,测试人员主要关注的是在有非正常资源占用的情况下系统的处理时间。 D选 项是容量测试的定义。 12 【正确答案】 B 13 【正确答案】 A 【试题解析】 上图表示三个顺序执行的分支结构,即采用结构化分解的方法,可以把程序流程图分为三层,最上面一层有三个判定结点,由上面例子显然该层的测试用例数至少为 4,同样,中间一层仅有一个判定结点,故测试用例数至少需要两个,最下面一层判定结点数为 2,故至少需要三个,综合上面可以得到预完成整个程序的测试,至少需要 423=24个
21、测试用例才可以覆盖所有路径。 14 【正确答案】 D 15 【正确答案】 A 16 【正确 答案】 C 【试题解析】 通常分析性能下降曲线时,会首先将其分为几个区间:性能平坦区、性能轻微下降区、性能急剧下降区。其中性能平坦区是软件运行的正常状态,因此人们往往希望该区间越长越好;性能轻微下降区是软件承受高负载的缓冲区,该区间也是越长越好;性能急剧下降区不是软件的正常运行区间,这一阶段响应时间会急剧增加至用户不能忍受,吞吐量会急剧下降甚至低于单用户时的吞吐量,但该区间对于分析性能瓶颈却有很大作用,通常说来,性能急剧下降区的起始点 (也称性能拐点 )就是性能瓶颈出现的地方,此时进一步分析资源利用率就
22、可 以找到性能瓶颈的原因。 17 【正确答案】 A 【试题解析】 在单元测试时,程序员必须编写一个驱动模块,用来调用被测模块并向其传送测试数据。若该模块调用了其他模块,程序员必须编写一个桩模块,用来代替被调用的模块。 18 【正确答案】 D 【试题解析】 软件测试设计与开发活动是软件测试过程中对技术要求比较高的关键阶段。软件测试设计与开发主要包括测试技术方案的制定、测试用例设计、测试用例特定集合的设计、测试开发和测试环境的设计都是软件测试设计与开发的范畴。而软件的需求确定性估算是在测试总结环 节中应考虑的问题,而不是测试设计和开发阶段。 19 【正确答案】 D 20 【正确答案】 B 21 【
23、正确答案】 C 22 【正确答案】 D 23 【正确答案】 C 【试题解析】 回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,并测试软件变更之后,对软件原有正确的功能、性能和其他规定的要求不产生损害。其测试的对象有未通过单元测试、系统集成测试、配置项测试、系统测试的软件。在变更之后,首先应对变更的软件单元进行测试,然后再进行相关的测试。 回归测试的内容 可能有:只重复测试原来软件单元测试做过的测试内容;修改原软件单元测试做过的测试内容;以及在前两者基础之上新增测试内容。 由以上可得 A、 B项说法均正确,而 C选项说法明显错误。 软件测试规范规定,对具体的软件可根据软件
24、测试合同及软件的重要性、完整性级别对上述各类软件测试的内容进行裁剪。 D选项说法错误。 24 【正确答案】 D 【试题解析】 所谓 “缺陷 (bug)”,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷。软件缺陷的主要类型有: 软件没有实现产品规格说 明要求的功能; 软件出现了不该出现的错误; 软件实现了说明没提到的功能; 软件没实现虽然规格说明中未明确提及但应实现的目标; 软件难理解,不易使用。 25 【正确答案】 A 【试题解析】 软件测试过程包括四项基本活动:测试策划、测试设计、测试执行和测试总结。正常情况下,这些测试活动顺序开展并出现在所有测试阶段中。 二
25、、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 下图是 QESuite Web Vetsion 1.0的问题报告工作状态转换流程。下图是 QESuite Web Vetsion 1.0的问题报告工作状态转换流程。27 【正确答案】 单元测试又称模块测试,是针对软件设计的最小单位 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。 单元测试是在编码阶段完成的,每编写出一个程序模块,就开始做这个模块的
26、单元测试,所以只要采用模块化方法设计开发的软件,单元测试都是必需的。这时单元测试通常由编写 程序的人来完成。因为它需要根据程序的内部逻辑结构设计测试用例,对于那些不了解程序内部细节的人,单元测试无法进行。 【试题解析】 首先分析单元测试的概念;测试时间,然后说明进行单元测试的必要性。 28 【正确答案】 (1)由程序的流程图可判定结点个数为 6,因此,根据环路复杂性算法得: V(G)=6+l=7。 (2)由复杂度为 7,可得到 7条路径,分别为: P1: 01一 1319 P2: 0231419 P3: 02451519 P4: 024671619 P5: 0246891719 P6: 024
27、6810111819 P7: 02468101219 29 【正确答案】 根据程序的源代码,容易画出对应的控制流图,如下图所示 (其中圈中的数字代表的是语句的行号 )。30 【正确答案】 第一步,根据上述控制流图计算该程序的环路复杂性。 由图可以看出,判定结点数为 3,边数为 10,结点总数为 8,故 V(G)=10-8+2=4 或 V(G)=3+1=4 第二步,根据环路复杂度为 4,可确定 4条基本独立路径。 Path1: 424 Path2: 46824 Path3: 46131522424 Path4: 4613一 1922424。 第三步,设计测试用例。 根据上面 4条基本独立路径,可
28、以设计测试用例如下: 测试用例 1: 输入数据: i_count=0,或者是 i_count 0的某个值。 预期输出结果 :i_temp=0。 测试用例 2: 输入数据: i_count=1, i_flag=0。 预期输出结果: i_temp=101。 测试用例 3: 输入数据: i_count=1, i_flag=1。 预期输出结果: i_temp=10。 测试用例 4: 输入数据: i_count=1, i_flag=2。 预期输出结果: i_temp=20。 但这些测试用例是可以简化的,由于路径 path1是 path4的真子集,所以 path1是可以不要的。故针对该程序最少的测试用例数
29、为 3,即上述测试用例 2,测试用例3,测试用例 4。 31 【正确答案】 32 【正确答案】 首先分析软件中出现的所有原因和结果,并将其标号。 原因: 1投 入 1元 5角硬币 2投入 2元硬币 3按 “可乐 ”按钮 4按 “雪碧 ”按钮 5按“红茶 ”按钮 结果: 21退还 5角硬币 22送出 “可乐 ”饮料 23送出 “雪碧 ”饮料 24送出 “红茶 ”饮料 中间状态: 11已投币 12已按钮 然后根据上述原因和结果,以及各状态问的关系,画出因果图,如下图所示。33 【正确答案】 34 【正确答案】 语句覆盖是基本的覆盖,只要能让 flag=1和 flag=0都被执行一次就达到了语句覆盖
30、的标准。用例 1和用例 2一起即满足了语句覆盖标准的要求。 判定覆盖就 是让程序的判定分别为真和假一次,因此上面满足语句覆盖的测试用例也满足判定覆盖标准的要求。 条件覆盖需要让所有判定条件取一次真和一次假因此测试用例 3和用例 4一起让所有条件都取到了真和假,满足条件判定覆盖要求。 35 【正确答案】 IF(Age =A AND Sex=S AND Dept=D) THEN输出学生的姓名和年龄; 36 【正确答案】 37 【正确答案】 修改后的表如下:理由如下 (1)操作序号 3:根据软件问题处理流程中,开发工程师查询状态为 “打开 ”的软件问题,如果确 认不是软件问题,则设置状态为 “关闭 ”,如果是软件问题,则进行修复工作,在修复集成到新版本后设置状态 “待验 ”,因此,操作序号 3中操作后状态应为 “待验 /不修复 ”。 (2)操作序号 4:测试人员查询状态为 “待验 ”的软件问题,验证是否修复,如果已修复,则设置软件问题状态为 “解决 ”,如果没有解决,则置状态为 “打开 ”,因此,操作序号 4中操作后状态应为 “解决 /不修复 ”。