1、计算机新国家四级软件测试工程师模拟试卷 28及答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 以下关于 Web应用软件测试的说法中,正确的是 _。 ( A)内容测试是 Web应用软件易用性测试的一项重要内容 ( B) Web应用软件虽然需要频繁地进行演化,但不需要频繁地进行测试 ( C) Cookie安全性测试是 Web应用软件安全性测试的一项重要内容 ( D) Web应用软件只能进行白盒测 试,不能进行黑盒测试 2 下列属于变量异常的是 _。 A) 变量被定义,但
2、没有被使用 B) 所使用的变量未被定义 C) 变量在使用前被重复定义 D) 以上全部 3 以小组形式进行,小组成员集体扮演计算机角色检查源程序的方法是 _。 ( A)评审 ( B)代码检查 ( C)走查 ( D)轮查 4 灰盒测试不同于白盒测试的地方是 _。 ( A)灰盒测试以可获得的系统结构信息为基础进行测试 ( B)灰盒测试是黑盒测试的一种类型 ( C)灰盒测试基本不涉及程序中所采用的数据结构 ( D)灰盒测试基本不涉及程序中所采用的算法 5 为测试覆盖率指标完成测试用例设计的技术有 _。 ( A)判断和条件测试 ( B)状态迁移 ( C)数据定义 /使用测试 ( D)以上全部 6 一个一
3、致性的系统要满足的条件是 _。 ( A)静态一致性要求 ( B)动态一致性要求 ( C)符合 PICS的要求和能力 ( D)以上全部 7 在实际情况中,软件失效对软件运行的影响不仅与软件失效的概率有关,还与_有关。 ( A)失效的时间长短 ( B)失效的主要原由 ( C)失效的 严重程度 ( D)失效的状态 8 集成测试的目的是测试系统的各个组成部分放在一起是否能够协调一致,在集成测试策略中要考虑的问题有 _。 ( A)测试用例的生成及执行 ( B)选择集成的实体 ( C)测试结果的判断 ( D)以上全部 9 下列测试方法是针对动态网页的单元测试方法的是 _。 ( A)白盒测试 ( B)黑盒测
4、试 ( C)网盒测试 ( D)灰盒测试 10 黑盒测试是从 _ 观点出发的测试,而白盒测试是从 _ 观点出发的测试。 ( A)开发人员、管理人员 ( B)用户、管理人员 ( C)用户、开发人员 ( D)开发人、用户 11 以下哪一项不属于 Web应用软件表示层测试关注的范畴 _。 ( A)排版结构的测试 ( B)链接结构的测试 ( C)客户端兼容性的测试 ( D)数据完整性测试 12 等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方法,可以大幅度减少测试用例的数量,那么,它们的局限性是 _。 ( A)在设计测试用例时不能将这两种方法结合在一起同时使用 ( B)不同输入变量之间可能存
5、在约束关系,它们不能处理这类约 束关系 ( C)不能用于大型信息系统的测试用例的设计 ( D)不能用于单元测试和集成测试 13 在 QESAT C中,下列属于动态测试过程步骤的是 A)设定待测试的配置、编译相关的源程序 B)设定需插装的函数 C)运行源程序、合并动态运行的结果 D)以上全部 14 下列情况下会考虑使用自动测试的是 _。 A) 对软件产品的次要部件进行测试 B) 所开发的软件产品的需求不稳定 C) 需要反复执行的测试,使用不同输入数据值进行反复测试 D) 由客户方组织的验收测试 15 软件测试首先进行的测试是 _。 A) 集成测试 B) 单元测试 C) 系统测试 D) 验收测试
6、16 对计算机的系统有用的系统测试类型有 _。 恢复测试 安全测试 应力测试 性能测试 A) B) C) D) 17 针对下列程序段,需要 _个测试用例才可以满足语句覆盖的要求。 Switch(value) Case 0: 0ther=30; Break; Case 1: Other=50; Break; Case 2: Other=300; Case 3: Other=other/value; Break; Default: Other=other * value; A) 2 B) 3 C) 4 D) 5 18 _是一种独立的迭代的测试模型。 A) W模型 B) V模型 C) H模型 D)
7、X模型 19 软件性能的指标有 _。 响应时间 系统响应时间和应用延迟时间 吞吐量 并发 用户数 资源利用率 A) B) C) D) 20 下列有关软件测试的叙述中,正确的是 A) 测试是软件开发中一个单独的阶段,其目的是对已实现的程序编码进行正确性检验 B) 一个成功的测试能够验证程序的确做了它应该做的事情 C) 根据 80/20的原则,优秀的软件开发人员所编写的程序错误少,因此时于他们的程序,重点不应放在缺陷测试上 D) 在软件过程的早期寻找尽可能多的错误符合软件测试的原则 21 以下关于软件测试原则的说法中,错误的是 A) 在设计测试用例时, 不但要包括合理的输入条件,还要包括不合理的输
8、入条件 B) 测试过程中某模块中查出的错误越多,该模块残留的错误就越少 C) 坚持在软件开发各个阶段进行技术评审,才能在开发过程中尽早发现和预防错误 D) 在测试过程中要严格按照测试计划执行,以避免发生疏漏或重复无效的工作 22 以下不属于桌上检查的项目是 A) 检查小组对程序进行模拟执行,以展示系统的不同构件如何相互作用,暴露程序被忽略的细节 B) 检查变量的交叉引用表,重点是检查未说明的变量和违反了类型规定的变量 C) 选择、激活路径,检查程序的语句代码 D) 比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误 23 24 以下哪一种选项不属于软件
9、缺陷 ?_。 ( A)软件没有实现产品规格说明所要求的功能 ( B)软件中出现了产品规格说明不应该出现的功能 ( C)软件实现了产品规格说明没有提到的功能 ( D)软件实现了产品规格说明所要求的功能但因受性能限制而未考虑可移植性问题 25 计算机软件测试规范规定,软件测试的类别可分为单元测试、集成测试以及_。 ( A)系统测试 ( B)验收 测试 ( C)系统测试和验收测试 ( D)配置项测试、系统测试和验收测试 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 25 简单谈一下你对穷举测试的理解,并按要求回答问题。 26 穷
10、举测试的方法对于所有项目程序都是可行的吗 ? 27 若是针对小型的程序,穷举测试是可能的吗 ?若是,说明此时采用穷举测试能否保证程序是百分之百正确呢 ? 28 以下是某手机中的 MP3播放器状态之间交互行为的描述,请按照要求回答问题。 某手机中 的 MP3播放器有三个状态:播放、停止、待机。播放器最初处于 “待机 ”状态,可能发生的事件有五种:用户单击 “打开 ”按钮、单击 “播放 ”按钮、单击“停止 ”按钮、单击 “返回 ”按钮,以及播放结束。其中 “打开 ”,表示单击 “打开 ”按钮,其他依此类推。 请画出该播放器中交互行为的状态图 (应满足功能图的要求,不可画成流程图 )。 28 关于软
11、件测试过程,请回答以下问题。 29 软件测试过程模型主要有哪些 ?各有何特点 ? 30 应当如何正确选取过程模型 ? 31 以下是某程序说明,请按要求回答问题。 程序 说明:假设有一个把数字串转换为整数的函数。其中数字串要求长度为 1 6个数字构成,机器字长为 16位。 分析程序中出现的边界情况,采用边界值法为该程序设计测试用例。 31 简单谈一下你对穷举测试的理解,并按要求回答问题。 32 穷举测试的方法对于所有项目程序都是可行的吗 ? 33 若是针对小型的程序,穷举测试是可能的吗 ?若是,说明此时采用穷举测试能否保证程序是百分之百正确呢 ? 33 以下是某 C语言程序,用来求一个数的绝对值
12、,请仔细阅读程序并完成要求。 #include “ stdio H“ main() float x, y; scanf(“ %f “, x); if(x 0) y=x; else y=-x; printf(“ % f“, y); getch(); 34 画出此程序主函数的控制流程图。 35 设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果为该程序的语句或分支覆盖率无法达到 100%,需说明为什么。 35 以下是学生选课系统中 “学生成绩查询 ”交互行为的描述 ,请仔细阅读程序并完成要求。 交互开始时,终端上显示首页,用户选择 “查询 ”请求后,显示 “请输入学号
13、 ”。在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示 “输入的学号不正确 ”,此次查询取消,回到首页;若输入的学号正确,则出现 “请输入课程名称 ”。一旦输入课程名,就开始核对课程名称:若输入的课程名称不正确,则显示“输入的课程名称不正确 ”,此次查询取消,回到首页;若输入的课程名称正确,则根据 “学号 ”和 “课程名 ”查询学生成绩。 若查询学生成绩成功,则显示查询到的成绩,系统询问是否继续查询:当用 户选择 “继续查询 ”后回到 “请输入学号 ”;当用户选择 “结束查询 ”后回到首页。若查询失败,则显示 “查询失败 ”后回到首页。 36 请给出该系统的基本路径集。 37 请
14、给出覆盖基本路径集的测试用例集合。 38 针对一下 C语言程序,请按要求回答问题。 已知 weekday. c源程序如下: #include stidio. h #include conio. h / *主函数 * / Int main() Char letter; Printf(“please input the first letter, “Yto exit!n“); While(letter=getch()!=“Y“)/当输入字母为 Y时结束 Switch(letter) CaseS: Printf(“%cn“, letter); Printf(“please input second
15、lettern“); /输入第二个字母 If(letter=getch()=a) Printf(“Saturdayn“); Else if(letter=u) Printf(“Sundayn“); Else printf(data errorn); Break; CaseF: Printf(“fridaykn“); Break; Case M: Printf(“mondayha“); Break; Case T: Printf(“%cn“, letter); Printf(“please input second lettera“); /输入第二个字母 If(letter=getch()=u)
16、 Printf(“Tuesdayn“): Else if(letter=h) Printf(“Thursdayn“); Break; Case W: Printf(“Wednesdayn“); Return 0; (1) 画出主函数 main的控制流程图; (2) 设计一组测试用 例,使 main函数的语句覆盖率尽量达到 100%; (3) Main函数的语句覆盖率能否达到 100%?如果认为无法达到,需说明原因。 计算机新国家四级软件测试工程师模拟试卷 28答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在
17、答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 C 【试题解析】 A选项叙述错误,内容测试和易用性测试都是 Web应用软件系统测试的主要内容。 B选项叙述错误, Web软件演化频繁,但均 需要进行测试工作。 C选项叙述正确。 D选项错误, Web应用软件测试白盒黑盒测试方法都可使用。故 C为答案。 2 【正确答案】 D 【试题解析】 数据流测试是路径测试的一种,它主要关注一条路径上变量在何时定义、何时使用,通过变量的定义和使用异常来检查程序错误。通常将变量异常分为三类: 第一类定义与使用异常 变量被定义,但没有被使用; 第二类定义与使用异常 所使用的变量未被定义; 第三类定义与使用异常
18、 变量在使用前被重复定义。 【知识模块】 覆盖率 (白盒 )测试 3 【正确 答案】 C 【知识模块】 代码检查、走查与评审 4 【正确答案】 A 【知识模块】 功能 (黑盒 )测试 5 【正确答案】 D 【知识模块】 单元测试和集成测试 6 【正确答案】 D 【知识模块】 系统测试 7 【正确答案】 C 【知识模块】 软件性能测试和可靠性测试 8 【正确答案】 D 【知识模块】 面向对象软件的测试 9 【正确答案】 C 【知识模块】 软件自动化测试 10 【正确答案】 C 【试题解析】 黑盒测试是从用户观点出发 的测试,不需要了解程序的内部逻辑,而白盒测试是从开发人员的观点出发的测试。 11
19、 【正确答案】 D 【试题解析】 Web应用软件表示层的测试主要集中在客户端,测试的内容包括: (1)排版结构的测试 (2)链接结构的测试 (3)客户端程序的测试 (4)浏览器兼容性测试 12 【正确答案】 B 【试题解析】 等价类划分和边界值分析的局限性表述正确的就是选项 B,不同输入变量之间可能存在约束关系,它们不能处理这类约束关系。 13 【正确答案】 D 14 【正确答案】 C 15 【正确 答案】 B 16 【正确答案】 D 17 【正确答案】 C 18 【正确答案】 C 19 【正确答案】 D 20 【正确答案】 D 21 【正确答案】 B 22 【正确答案】 A 23 【正确答案
20、】 C 【试题解析】 Web应用软件在安全性方面也需要达到较高的要求,故 A错。Web应用软件的测试难度较高,故 B错。 Welb应用软件功能测试包括:链接测试、表单测试、 cookie测试,故 c对。测试是否存在无效链接是 Web表示层的测试,故 D错。 24 【正确答案】 D 【试题解析】 所谓 “缺陷 (bug)”,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷。软件缺陷的主要类型有: 软件没有实现产品规格说明要求的功能; 软件出现了不该出现的错误; 软件实现了说明没提到的功能; 软件没实现虽然规格说明中未明确提及但应实现的目标; 软件难理解,不易使用。
21、25 【正确答案】 D 【试题解析】 计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试、配置项测试、系统测试和验收测试。 二、二、论述题( 3题,共 50分 ) 论述题答题必须 用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 不是。穷举测试的方法并不是对所有程序都可以实现。 27 【正确答案】 对小程序进行穷举测试,也不见得能保证程序百分之百正确。所谓穷举测试,是拿所有可能的输入数据来作为测试用例 (黑盒测试 ),或覆盖程序中所有可能的路径 (白盒测试 )。对于小程序来说,实际上并不能真正做到穷举测试。 【试题解析】 在黑盒测试中,测试数据完
22、全来源于软件的规格说明,即不需要了解程序的内部结构。若要用这种方法来发现程序中的所有错误,可行的途径 就是穷举测试。但在实际情况下,该方法仅对一些小型简单的程序适用,而对于一些大型或稍微复杂的程序都是不可能实现的。 28 【正确答案】 29 【正确答案】 V模型: V模型反映出测试活动与分析设计活动的关系。指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。 W模型: W模型指出软件各开发阶段中应同步进行的验证和确认活动,即测试与开发也应是同步进行的。 W模型 有利于尽早
23、和全面地发现问题。 H模型: V模型与 W模型有不妥,即它们都把软件的开发视为需求、设计和编码等一系列串行的活动,而事实上,这些活动是可以交叉进行的。 H模型揭示一点:软件测试是一个独立的流程,贯穿于产品的整个生命周期中,与其他流程并发进行。 其他模型: 除了上面几种常见模型外,还有 X模型、前置测试模型等。 30 【正确答案】 在实践中,应当尽可能地运用各个模型中对项目有实用价值的方面,不能强行地为使用模型而使用模型。建议采用的方法是:以 W模型作为框架,及早、全面地开展测试 ,同时灵活运用 H模型独立测试的思想,在达到恰当的就绪点时就应该开展独立的测试工作,同时将测试工作进行迭代,最终保证
24、完成测试目标。 31 【正确答案】 分析该程序的说明和功能,显然可以划分 4组测试等价类:有效输入等价类、无效输入等价类、合法输出等价类和非法输出等价类。在考虑该程序的合法输出和非法输出时需要考虑计算机的字长,这时要进行边界值法设计测试用例,以补充等价类法设计的测试用例。具体采用边界值法设计的测试用例如下: (1)使程序输入刚好等于最小的负整数: 输入: -32768 输出 : -32768 (2)使程序输入刚好等于最大的正整数: 输入: 32767 输出: 32767 (3)使程序输入刚好小于最小的负整数: 输入: -32769 输出:错误 (4)使程序输入刚好大于最大的正整数: 输入: 3
25、2768 输出:错误 32 【正确答案】 不是。穷举测试的方法并不是对所有程序都可以实现。 33 【正确答案】 对小程序进行穷举测试,也不见得能保证程序百分之百正确。所谓穷举测试,是拿所有可能的输入数据来作为测试用例 (黑盒测试 ),或覆盖程序中所有可能的路径 (白盒测试 )。对于小程序来说,实际上并不能真正做到穷举测试。 34 【正确答案】 35 【正确答案】 测试用例包含几种情况: 正数 3; 负数 -12.4; 36 【正确答案】 由控制流图可以看出,该图的 V( G) =5(区域数),所以基本路径集共由 5条路径组成。 1-2-1- 1-2-3-1- 1-2-3-4-1- 1-2-3-
26、4-2-1 1-2-3-4-2-3-1 37 【正确答案】 首页 -输入错误学号 -回首 页;首页 -输入正确学号 -输入错误课程号 -回首页;首页 -输入正确学号 -输入正确课程号 -给出学生成绩 -结束返回首页;首页输入正确学号 -输入正确课程号 -给出学生成绩 -继续输入学号 -输入学号错误回首页;首页输入正确学号 -输入正确课程号给出学生成绩 -继续输入学号 -输入课程号 -输入错误课程号回首页。 38 【正确答案】 path11, 2 path22, 3 path32, 3, 4, 5, 22 path42, 3, 6, 7, 22 path52, 3, 6, 8, 22 path6
27、9, 10, 22 path711, 12, 22 path813, 14 path913, 14, 15, 16 path1013, 14, 17, 18, 22 path111 3, 14, 8, 22 path1219, 20, 22 path1319, 8, 22 生成测试用例,确保基本路径集中每条路径的执行: path1输入数据 y,输出的结果程序结束返回值 0 path2输入数据 s,输出结果 “s输入第二个字母 ” path3输人数据 s后 ,输入数据 a,输出结果 “Saturday” path4输入数据 s后,输入数据 u,输出结果 “sunday” path5输入数据 s后,输入数据非 a非 u,输出结果 “data erroi” path6输入数据 f,输出结果 “friday” path7输入数据 m,输出结果 “monday” path8输入数据 t,输出结果 “输入第二个字母 ” path9输入数据 t后,输入数据 u,输出结果 “tuesday” path10输入数据 t后,输入数据 h,输出结果 “thursday” path11输入数据 t后,输入数据非 u非 h,输出结果 “data crror” pathl2输入数据 w,输出结果 “Wednesday“ path13输入数据 defalt,输出结果 “data error”