1、2008年 4月计算机四级软件测试工程师真题试卷及答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 坚持在软件开发的各个阶段实施下列哪种质量保证措施,才能在开发工程中尽早发现和预防错误,把出现的错误克服在早期 _ ( A)技术评审 ( B)程序测试 ( C)文档审查 ( D)管理评审 2 经验表明,在程序测试中,某模块与其他模块相比,若该模块已发现并改正的错误数目较多,则该模 块中残存的错误数目与其他模块相比,通常应该 _。 ( A)较少 ( B)较多 ( C)相似
2、( D)不确定 3 对程序中已发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档,称为 _。 ( A)测试 ( B)调试 ( C)错误分析 ( D)验证 4 同行评审,有时称为同级评审,是一种通过作者的同行来确认缺陷和需要变更区域的检查方法。它主要分为管理评审、技术评审、文档评审和 _。 ( A)误差评审 ( B)项目评审 ( C)过程评审 ( D)组织体系评审 5 数据流覆盖关注的是程序中某个变量从其声明、赋值到引用的变化情况,它是下列哪一种覆盖的变种 _。 ( A)语句覆盖 ( B)控制覆盖 ( C)分支覆盖 ( D)路径覆盖 6 程序的流程图如下图所示,采用路径覆盖
3、法进行测试,则至少需要几个测试用例可以覆盖所有可能的路径 _。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 7 如果一个判定中的复合条件表达式为 (A 1)or(B =3),则为了达到 100%的条件覆盖率,至少需要设计多少个测试用例 _。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 8 自底向上单元测试的策略是首先对模块调用图上的哪一层模块进行测试 _。 ( A)最底层 ( B)下一层 ( C)最高层 ( D)上一层 9 基本路径测试满足 _。 ( A)语句覆盖 ( B)路径覆盖 ( C)分支覆盖 ( D)条件覆盖 10 集成测试对系统内部的交互以及集成后系统功能检验
4、了何种质量特性 _。 ( A)正确性 ( B)可靠性 ( C)可试用性 ( D)可维护性 11 在软件性能测试中,下列指标中哪个不是软件性能的指标 _。 ( A)响应时间 ( B)吞吐量 ( C)资源利用率 ( D)并发进程数 12 下列关于软件性能测试的说法中,正确的是 _。 ( A)性能测试的目的不是为了发现软件缺陷 ( B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力 ( C)性能测试通常要对测试结果进行分析才能获得测试结论 ( D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处 13 下列关于软件可靠性测试的说法中
5、,错误的是 _。 ( A) 发现软件缺陷是软件可靠性测试的主要目的 ( B)软件可靠性测试通常用于有可靠性要求的软件 ( C)在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面 ( D)可靠性测试通常要对测试结果进行分析才能获得测试结论 14 下列关于面向对象软件测试的说法中,正确的是 _。 ( A)在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试 ( B)在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试 ( C)假设类 B是类 A的子类,如果类 A已进行了充分的测试,在测试类 B时不必测试任何类 B继承类 A的成员
6、方法 ( D)对于一棵继承树上的多个类,只有处于叶结点的类需要测试 15 下列哪种测试不属于面向对象单元测试考虑的范畴 _。 ( A)成员方法的测试 ( B)类的测试 ( C)类树的测试 ( D)多个相互协作的类树的测试 16 下列关于面向对象集成测试的说法中,正确的是 _。 ( A)大突击集成是面向对象集成测试最常用且最有效的方法 ( B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码 ( C)协作集成在任 何情况下都优于自底向上集成和自顶向下集成 ( D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试 17 在 Web应用软件的分层测试策略中,下列哪个不是测试关注的层次
7、 ?_。 ( A)数据层 ( B)业务层 ( C)服务层 ( D)表示层 18 下列关于 Web应用软件测试的说法中,正确的是 _。 ( A) Cookie-测试是 Web应用软件功能测试的重要内容 ( B)对于没有使用数据库的 Web应用软件,不需要进行性能测试 ( C)链接测试是 Web应用软件易用性测试的 重要内容 ( D) Web应用软件安全性测试仅关注 Web应用软件是否能够防御网络攻击 19 下列哪一项不属于软件功能易用性测试关注的内容 ?_。 ( A)软件界面的色彩是否协调 ( B)软件是否能主动禁止用户可能进行的非法操作 ( C)软件是否允许用户针对自己的使用习惯进行定制 (
8、D)软件是否能帮助用户减少输入中的重复劳动 20 下列关于极限测试的说法中,正确的是 _。 ( A)极限测试是一种新型的测试方法,传统的测试技术均不适用于极限测试 ( B)极限测试中所有的测试均是由编 码人员完成的 ( C)与传统的软件测试相比,极限测试是一种更严格的测试 ( D)极限测试需要频繁地进行单元测试 21 下列有关测试过程 V模型的说法中,正确的是 _。 ( A)验收测试应确定程序的执行是否满足软件设计的要求 ( B)系统测试应确定系统功能和性能的质量特性是否达到系统要求的指标 ( C)单元测试和集成测试应确定软件的实现是否满足用户需要或合同的要求 ( D)集成测试在编码结束前就可
9、以开始 22 下列哪项工作与软件缺陷管理和追踪无关 _。 ( A)对缺陷应该包含的信息条 目、状态分类等进行完善设计 ( B)通过软件系统自动发送通知给相关开发和测试人员,使缺陷得到及时处理 ( C)对测试用例的执行结果进行记录和追踪 ( D)通过一些历史曲线和统计曲线来分析和预测未来的缺陷发展情况 23 下列有关软件问题生命周期模型状态定义的说法中,错误的是 _。 ( A) “新建 ”表示测试中发现并报告了新的软件问题 ( B) “打开 ”表示软件问题已经被确认并分配给相关开发工程师处理 ( C) “关闭 ”表示软件问题已被开发人员修复并等待测试人员验证 ( D) “解决 ”表示软件问题已被
10、确认 修复 24 下列有关软件测试工具的说法中,错误的是 _。 ( A)静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走查和审查 ( B)静态测试工具可对软件的复杂度分析、数据流分析、控制流分析和接口分析提供支持 ( C)动态测试工具可用于软件的覆盖分析和性能分析 ( D)动态测试工具不包括软件的仿真测试和变异测试 25 计算机软件测试规范规定,软件测试的类别可分为单元测试、集成测试以及_。 ( A)系统测试 ( B)验收测试 ( C)系统测试和验收测试 ( D) 配置项测试、系统测试和验收测试 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在
11、论述题答题纸的相应位置上,否则无效。 25 以下是学生选课系统中 “学生查询成绩 ”交互行为的描述,请按要求回答问题。 交互开始时终端上显示首页,用户选择 “查询 ”请求后,显示 “请输入学号 ”。 在用户输入学号后,系统核对学生学号:若输入的学号不正确,则显示 “输入的学号不正确 ”,此次查询取消,回到首页;若输入学号正确,出现 “请输入课程名 ”。 一旦输入课程名,就开始核对课程名称:若输入的课 程名不正确,则显示 “输入的课程名不正确 ”,此次查询取消,回到首页;若输入的课程名正确,则根据 “学号 ”和 “课程名 ”,查询学生成绩。 若查询学生成绩成功,则显示查询到的成绩,系统询问是否继
12、续查询:当用户选择 “继续查询 ”后回到 “请输入学号 ”;当用户选择 “结束查询 ”后回到首页。 若查询学生成绩失效,则显示 “查询失效 ”后回到首页。 26 请画出该系统以上交互行为的状态图 (应满足功能图的要求,不可画成流程图 )。 27 使用基本路径测试方法确定该状态图的测试路径。 28 下图是该测试项目的测试用 例执行文档界面,有几个测试用例没有执行 ?有几个测试用例最近一次执行通过 ?有几个测试用例最近一次执行失败 ? 29 下图是该测试项目的某软件问题报告视图。按 QESuite Web Version 1.0中的软件问题生命周期定义, 4号软件问题报告需要何种人员进行哪些可能的
13、操作 ?5号软件问题报告需要何种人员进行哪些可能的操作 ?8号软件问题报告需要何种人员进行哪些可能的操作 ? 29 针对以下 C语言程序,请按要求回答问题。 已知 link. c源程序如下: /*link. c程序对单向链表进行 操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入结点、删除结点和链表反转操作 */ #include stdio. h #include stdlib. h typedef struct list_node * list_pointer; /定义链表指针 typedef struct list_node /定义链表结构 int data; list_po
14、inter link; list_node; /用到的操作函数 list_pointer create(); /建立一个单向链表 void insert(list_pointer * p_ptr, list_pointer node); /在 node后加入一个新的结点 void delete_node(list_pointer * p_ptr, list_pointer trail, list_pointer node); /删除前一个结点是 trail的当前结点 node void print(list_pointer * p_ptr); /打印链表结点中的值 list_pointer i
15、nvert(list_pointer lead); /反转链表 int main() list_pointer ptr=NULL; list_pointer node, trail; list_pointer * P= ptr; int choose, location, i; printf(“you should create a link first: n“); /建立一个单向链表 prt=create(); /ptr指向链表的第一个结点 print(ptr); /根据用户的不同选择进行 相应的操作: printf(“input number 0, you can quit the pro
16、gramn“); printf(“input number 1, you can insert a new node to linkn“): printf(“input number 2, you can delete a node from the linkn“); printf(“input number 3, you can invert the linkn“): printf(“please input you choicen“); scanf(“%d“, choose); while(choose!=0) switch(choose) case 1: i=1: while(i loc
17、ation) node=node- link; i+: insert(p, node); /p为指向 ptr的指针 print(ptr); break; case 2: printf(“you will delete a node from the linkn“); printf(“please input the location of the node: n“); scanf(“%d“, &location): node=ptr; if(location=1) trail=NULL; trail=ptr; i=1: while(i location) trail=trail- link:
18、i+: node=trail- link; delete_node(p, trail, node); print(ptr); break; case 3: printf(“you will invert the linkn“); ptr=invert(ptr); print(ptr); break; default; break; return -1; printf(“please input you choicen“); scanf(“%d“. choose): return 0; /根据用户的输入值建立一个新的单向链表: list_pointer create() int i, curre
19、nt, length; list_pointer p1, p2, head; printf(“please input the node number of the link: n“); scanf(“%d“. length): printf(“the number of the link is: %d“, length); printf(“please input the data for the link node: n“); i=0; p1=p2=(list_pointer)malloc(sizeof(list_node); head=p1; for(i=1; i length; i+)
20、 scanf(“%d“, current); p1- data=current; p2- link=p1; p2=p1; p1=(list_pointer)malloc(sizeof(list_node); p2- link=NULL; return head; 30 画出主函数 main的控制流程图。 31 设计一组测试用例,尽量使 main函数的语句覆盖率能达到 100%。如果认为该函数的语句覆盖率无法达到 100%,需要说明原因。 2008年 4月计算机四级软件测试工程师真题试卷答案与解析 一、一、选择题(每小题 2分,共 50分) 下列各题 A、 B、 C、 D四个选项中,只 有一个选
21、项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1 【正确答案】 A 【试题解析】 由测试用例的原则第一条应当把 “尽早地和不断地进行软件测试 ”作为软件开发人员的座右铭可得。由于软件开发的各个环节都有可能会出错,所以我们要坚持在各个阶段的技术评审,才能尽早的发现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患,减少开发费用,提高软件质量,而后面B、 C、 D三个选项都是只针对某个阶段来讲的,所以不正确,故正确答案为 A。 2 【正确答案】 B 【试题解析】 由 测试原则第五条 “充分注意测试中的群集现象 ”可知,错误有群集现象,也就是指测试后程序中残余的错误数与已
22、发现的错误数目成正比,由此可知本题模块中发现的错误数多,自然残余的也较多,故选择 B。 3 【正确答案】 B 【试题解析】 测试过程需要三类输入: ?软件配置 (包括需求规格说明、软件没计规格说明、源代码等 )。 ?测试配置 (包括表明测试工作如何进行的测试计划、给出测试数据的测试用例、控制测试进行的测试程序等 )。 ?测试工具 (为提高软件测试效率,测试工作要有测试工具的支持,其主要工作是为测试的实施提供各种服务,以减轻人们完成测试任务的手工劳动 )。 在测试完成之后,要对所有测试结果进行分析,即将实际测试的结果与预期的结果进行比较。若发现出错的数据,就意味着软件有错误,然后就需要开始排错
23、(也称为调试 ),即对已发现的错误进行定位和确定出错性质,并改正这些错误,同时修改相关的文档。修正后的文档一般都要经过两次测试,直到通过测试为止。 4 【正确答案】 C 【试题解析】 同行评审 (Peer Review)是一种通过作者的同行来确定缺陷和需要变更区域的检查方法。涉及的内容很多,主要可以分为管理评审、技术评审、文档评审和过程评审。 5 【正确答案】 D 【试题解析】 数据流测试电可以看做是一种路径测试,它主要关注一条路径上变量在何时定义,何时使用,所以数据流覆盖也可以看做是路径覆盖的一种,关注变量在某条路径中的变化情况。 6 【正确答案】 B 【试题解析】 根据程序流程图,我们可以
24、导出程序的控制流图,然后利用环路复杂性的计算方法,最简单的是看该程序控制流图中有五个判定结点数,便可得到该控制流 图的环路复杂性为 5+1=6,这样便可以确定六个线性无关的基本路径集,然后我们根据这些基本集对应找出六个测试用例,确保基本路径集中每一条路径都可以被执行到,即满足题目中的路径覆盖,由此知若要满足路径覆盖,至少需要设计六个测试用例。 7 【正确答案】 B 【试题解析】 由条件覆盖定义:就是指设计若干测试用例,运行被测程序,使得每个判定的每个条件的可能取值至少评价一次。针对该题取 A=3, B=3和 A=0,B=5两组测试用例即可达到 100%的条件覆盖率,故本题选择 B。 8 【正确
25、答案】 A 【试题 解析】 自底向上测试与自顶向下测试的测试策略都是增量式的测试,软件是分层设计的,主模块调用子模块,子模块又依次调用更低层次的模块,依此类推。在自底向上单元测试的策略中,应首先测试最底层的模块,利用辅助的测试驱动模块调用他们并传递测试数据,然后再测试更高层次的模块,再较高层次的模块测试中可以直接调用已测试过的较低层次的模块。 9 【正确答案】 A 【试题解析】 基本路径测试是在控制流图的基础上,通过分析环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。 10 【正确答案】 A 【试题解析】 通常定义集成测试为根据实际情况对程序模块采用合适的集成测试策略组装起来,对
26、系统的接口以及集成后的功能进行正确性检验的测试。最简单的集成测试形式就是把两个单元模块集成或者组装到一起,然后对它们之间的接口进行测试,而实际的集成测试通常要根据具体情况采取不同的集成测试策略将多个模块组装成子系统或系统,测试各个模块能否以正确、稳定、一致的方式交互,即验证其是否符合开发过程中的概要设计规格说明的要求。 11 【正确答案】 D 【试题解析】 软件的性能是软件的一种非功能特性。它关注的不是软件是 否能够完成特定的功能而是在完成该功能时展现出来的及时性。为了能够客观地度量软件的性能,人们定义了一系列性能指标,以便于能够在不同情况下度量软件的性能。通常合理的软件性能指标有响应时间、系
27、统响应时间和应用延迟时间、吞吐量、并发用户数、资源利用率五种,而题目选项 D中 “并发进程数 ”不能作为性能指标,故答案为 D。 12 【正确答案】 C 【试题解析】 性能测试通用模型 (PTGM模型 )的最后一步就是测试结果分析,说明性能测试通常要对测试结果进行分析才能获得测试结论,故 C正确。 13 【正确答案】 A 【试题解析】 软件可靠性测试的目的是收集软件测试时揭示软件故障的情况,并对其进行整理从而为分析和预测软件的可靠性提供帮助,与其他软件测试不同的是,软件可靠性测试的目的不在于通过测试揭示软件中的缺陷并通过修改这些缺陷来提高软件的可靠性,而是通过受控的软件测试过程来预测软件在实际
28、运行中的可靠性。从软件的可靠性测试过程可知,软件可靠性测试通常用于有可靠性要求的软件,在一次软件可靠性测试中,执行的测试用例必须完全符合所定义的软件运行剖面,可靠性测试通常要对测试结果进行分析才能获得测试结论。 14 【正确答案 】 B 【试题解析】 封装、继承和多态是面向对象软件区别于传统的结构化软件的三个主要特点,然而这些特点都可能对测试带来困难。在面向对象中,封装一方面是指一组相关的变量和方法被封装到一个类中,则类的成员方法对成员变量有依赖性,故成员方法通常不能实现独立的功能,需要在不同的实例状态下才能展示出来,甚至有的成员方法要在特定的实例状态下才能执行,因此在测试面向对象软件时,不能
29、简单的对每个类的成员方法进行测试,在调用任何成员方法之前还必须保证相应的实例处于该方法的预期工作状态,即设计类的测试用例时,不仅要考虑各 成员方法的输入参数,还要考虑如何设计调用的序列,所以选项 A不正确。多态就是指对类的引用可以与多个类的实现绑定,绑定有静态和动态之分,所以为达到较高的测试充分性,应对所有可能的绑定都进行测试,选项 B正确。选项 C和选项 D考查继承、继承与多态的复合对测试的影响,假设类 B是类 A的子类,如果类 A已进行了充分的测试,若按传统的测试充分性准则,在测试类 B时可以把关注点放在类 B自身定义的成员变量和成员方法上,但在实际测试类 B时,这样的测试往往会不够充分,
30、还是要对类 B继承类 A的成员方法进行测试的,而且对于一棵继承树上的多个类 ,仅对处于叶结点的类进行测试也是不充分的。 15 【正确答案】 D 【试题解析】 由于面向对象程序中可独立被测试的单元通常是一个类族或最小是一个独立的类,面向对象程序的单元测试主要是考虑类和类族的测试,而此时的单元测试还可以细分为方法层次的测试、类层次的测试和类树层次的测试三种。 16 【正确答案】 B 【试题解析】 面向对象程序的集成测试策略有很多种,其中主要有传统的集成策略 (大突击集成、自底向上集成、自顶向下集成和夹层式集成 ),协作集成,基于集成,高频集成,基于事件 (或消息 )的集成, 基于使用的集成,客户机
31、 /服务器的集成、分布式集成。大突击集成就是将系统的所有组成成分都集成在一起进行测试,通常只有在整个软件的可靠性有了基本的保障时,大突击集成测试才是一种合理的选择。自底向上集成主要缺点是需要开发大量的测试驱动代码,自顶向下集成则需要为集成测试开发大量桩代码,总之,二者都要为集成测试开发大量代码。选项 C说法过于绝对,因为只有当类间的主要协作关系可以明确辨识,且每个功能只需要少数类协作就可以完成时,采用协作集成方式才是一个不错的选择。高频集成并不是一个具体的集成策略,它是指在软件开发过程中频 繁地将新开发出来的代码与已有代码集成,一般采用冒烟测试的方法,但并不是以自底向上集成为基础。 17 【正
32、确答案】 C 【试题解析】 由于 Web应用软件一般采用多层结构,所以在测试时也采用分层的策略。通常 Web应用软件的测试分为三层:表示层、业务层和数据层。其中表示层的测试主要关注 Web应用软件的界面和与客户的交互,测试的重点是 HTML文档的结构与客户端的程序;业务层的测试主要关注 Web应用软件包含的业务逻辑,测试的重点是服务器端的程序;数据层的测试主要关注 Web应用软件处理不同数据的能力,测试的重 点包括对数据完整性的测试以及对大数据量下数据库操作的性能测试。在测试 Web应用软件时,通常要针对每一层分别进行测试,因为这样更容易揭示缺陷,测试也可以更加充分。 18 【正确答案】 A
33、【试题解析】 与普通软件系统相比, Web应用软件具有特殊的结构,而且 Web应用软件的开发主要是在固定的结构中填充相应的内容,而不是根据需求由开发人员设定结构,因此 Web应用软件的测试电会受到环境的制约,其中 Web应用软件的系统测试除了功能测试外还包括性能测试、易用性测试、内容测试、安全性测试和接口测试等。功能测试主 要包括: 链接测试: 表单测试; Cookie测试。故选项 A正确, C不正确。对于 Web应用软件而言,性能测试是一个至关重要的因素,所以对 Web应用软件进行系统测试时,必须考虑性能测试,故 B说法错误。 Web应用软件安全性测试主要包括: 服务器端的内容安全性; 客户
34、端的内容安全性; Cookie的安全性; 日志功能。 19 【正确答案】 A 【试题解析】 功能易用性是指用户能否方便、快速、准确地使用软件提供的功能来完成需要完成的任务。其主要内容有: 业务符合度; 功能定制性; 功能的关联度; 数据的共 享度; 用户约束的合理性; 反馈的及时性。其中功能定制性中说明一个软件通常是为不同的用户提供服务,各用户经常使用的业务功能也不尽相同,功能易用性要求软件在一定程度上允许用户针对自己的需求进行定制,这与选项 C说法一致;数据的共享度中所讲使用软件的一个主要优点就是能够减少重复的输入,从而保证数据的一致性,测试时就是检查各个功能的输入部分,确定是否有需要重复输
35、入的内容,这与选项 D说法一致;用户约束的合理性中指明软件需要对用户加以约束,以方便用户可以正确地使用软件,其中软件对用户的约束通常分为权限性的约束和功能性的 约束,选项 B的叙述便属于权限性的约束,故也是软件功能易用性测试关注的内容。而选项 A应属于用户界面测试关注的内容,故答案应选 A。 20 【正确答案】 D 【试题解析】 20世纪 90年代 Kent Beck提出了极限编程的新型软件开发方法,该方法主要目的是利用轻量、便捷的开发过程使得开发人员能够更快地完成应用程序的开发。与传统的软件开发方法相比,开发效率高,但代码质量得不到保证,为此出现了极限测试为极限编程量身定做的测试方式,即通过
36、频繁地单元测试和验收测试来保证代码质量。在极限测试中,单元测试主要由编码 人员完成,验收测试则主要由用户完成。极限编程的主要缺点在于编码人员的自由度过大,由于没有严格的需求和设计规范,所以极限测试没有传统的软件测试严格。单元测试是极限编程中最重要的发现缺陷的手段,在极限编程中的单元测试与传统的单元测试基本类似,所以有些传统的测试技术也可以用到极限测试中来,而且极限测试的本质是为了满足极限编程的思想和流程而设计的一套测试策略和流程,其本身并不局限于使用特定的技术和方法,所以传统的测试技术和方法大多数都可以在极限测试中使用。 21 【正确答案】 B 【试题解析】 V模型是在 20世纪 80年代后期
37、提出的,旨在改进软件开发的效率和效果。该模型反映出测试活动与分析设计活动的关系,指出单元测试和集成测试应检测程序的执行是否满足软件设计的要求。系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标。验收测试确定软件的实现是否满足用户需要或合同的要求。选项 A和选项 C的说法颠倒,不正确。集成测试要在单元测试之后,所以选项 D的说法明显错误,故只有选项 B说法完全正确。 22 【正确答案】 C 【试题解析】 软件缺陷的跟踪和管理一般由数据库系统执行,但数据库系统也是依赖于一定的规则 和流程进行的,主要思路是: 设计好每个缺陷应包含的信息条目、状态分类等; 通过系统自动发出邮件给相应开发和测
38、试人员,使缺陷能得到及时处理; 通过日报、周报等各类项目报告跟踪当前缺陷状态; 在到达各个大小里程碑前,召开会议对缺陷进行会审; 通过一些历史曲线和统计曲线分析和预测未来情况。由此可见选项 C的工作与软件缺陷的跟踪和管理无关。 23 【正确答案】 C 【试题解析】 软件问题的状态定义如下: ?新建 (New)测试中新报告的软件问题。 ?打开 (Open)软件问题已被确认并分配给 相关开发工程师处理。 ?关闭 (Closed)确认为无效的软件问题。 ?待验 (Pending)工程师已完成修正,等待测试人员验证。 ?解决 (Resolved)软件问题已被修复。 24 【正确答案】 D 【试题解析】
39、 测试工具根据工作原理不同可分为静态测试工具和动态测试工具。其中静态测试工具是对代码进行语法扫描,找到不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。它直接对代码进行分析,不需要运行代码,也不需要对代码编译链接和生成可执行文件, 静态测试工具可用于对软件需求、结构设计、详细设计和代码进行评审、走查和审查,也可用于对软件的复杂度分析、数据流分析、控制流分析和接口分析提供支持;动态测试工具与静态测试工具不同,它需要运行被测试系统,并设置探针,向代码生成的可执行文件中插入检测代码,可用于软件的覆盖分析和性能分析,也可用于软件的模拟、建模、仿真测试和变异测试等。 25 【
40、正确答案】 D 【试题解析】 计算机软件测试规范规定,软件测试的类别可分为:单元测试、集成测试、配置项测试、系统测试和验收测试。 二、二、论述题( 3题,共 50分 ) 论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上,否则无效。 26 【正确答案】 根据系统的规格说明,画出状态图,如下图所示。其中, M1:选择 “查询 ”请求 M2:输入学号 M3:输入了正确的学号 M4:输入了错误的学号 M5、 M9、 M13:回归首页 M6:输入课程名 M7:输入了正确的课程名 M8:输入了错误的课程名 M10:选择查询成绩 M11:查询成绩成功 M12:查询成绩失败 M14:系统询问是
41、否继续查询 M15:用户选择 “继续查询 ” M16:用户选择 “结束查询 ” 27 【 正确答案】 根据系统的规格说明,画出控制流图,如下图所示。由控制流图可以看出:程序中有四个判定结点,故该程序的环路复杂度 V(G)=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以下是 QESuite Web Version 1.0中某测试项目的部分界面,请按要求回答问题。 28 【正确答案】 QESuite Web Verslon 1.0提供一系
42、列的功能 辅助测试管理人员控制测试过程的运行,其中一方面是监控测试用例执行文档的执行过程,这里测试管理人员可以通过观察执行测试视图组来查看当前测试任务下、某个功能分类下测试执行文档的执行情况。其中不同颜色的灯泡代表不同的执行状态:绿色代表执行通过,红色代表执行失败,蓝色代表未执行等。 下面观察本题目的测试用例执行文档界面,可以看出,有 2个蓝色灯泡,故代表有2个测试用例没有执行;有 4个绿色灯泡,故代表有 4个测试用例最近一次执行通过;有 1个红色灯泡,故代表有 1个测试用例最近一次执行失败。 29 【正确答案】 QESulte Web Verslorl 1.0中的软件问题生命周期定义: ?新
43、建 测试中新报告的软件问题。 ?打开 软件问题已被确认并分配给相关开发工程师处理。 ?关闭 确认为无效的软件问题。 ?待验 工程师已完成修正,等待测试人员验证。 ?解决 软件问题已被修复。 其中,软件问题的主状态有: “新建 ”、 “打开 ”、 “待验 ”、 “解决 ”和 “关闭 ”,其中“新建 ”、 “打开 ”、 “待验 ”为软件问题的活动状态, “关闭 ”和 “解决 ”为软件问题的非活动状态。 该测试项目的某软件问题报 告视图中, 4号软件问题报告处于 “打开 /再现 ”状态,表示软件问题已被确认,需要相关的开发工程师来处理; 5号软件问题报告处于“待验 /修复 ”状态,表示软件问题已经被开发工程师完成了修正,需要等待测试人员验证; 8号软件问题报告处于 “新建 ”状态,需要测试人员测试新报告的软件问题。 30 【正确答案】 主函数的控制流程如下图所示。 31 【正确答案】 设计测试用例如下: 输入数据: choose=0,预期输出: 0。 输入数据: choose=1,预期输出:在链表某位置的结点后插入一个结点。 输入数据:choose=2,预期输出:删除链表中某个位置的结点。 输入数据: choose=3,预期输出:反转链表的链接顺序。 输入数据: choose=其他非零数,预期输出: -1。 采用条件覆盖设计的测试用例如下表所示。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1