软件评测师2018年真题详解

以下关于信息和数据的描述中,错误的是(1)。
(1)A.通常从数据中可以提取信息 B.信息和数据都由数字组成
C.信息是抽象的、数据是具体的 D.客观事物中都蕴涵着信息
【答案】B
【解析】
数据是描述事物的符号记录,其具有多种表现形式,可以是文字、图形、图像、声音和语言等。信息是现实世界事物的存在方式或状态的反映。 信息具有可感知、可存储、可加工、可传递和可再生等自然属性数据是经过组织化的比特的集合,而信息是具有特定释义和意义的数据。

(2)服务的主要作用是提供远程登录服务。
(2)A.Gopher B.FTP C.Telnet D.E-mail
【答案】C
【解析】
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。
Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。
现在它基本过时,人们很少再使用。

计算机系统中,CPU对主存的访问方式属于(3)。
(3)A.随机存取 B.顺序存取 C.索引存取 D.哈希存取
【答案】A
【解析】

在指令系统的各种寻址方式中,获取操作数最快的方式是(4)。
(4)A.直接寻址 B.间接寻址 C.立即寻址 D.寄存器寻址
【答案】C
【解析】
立即寻址:是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,也就取出了可以立即使用的操作数。

在计算机外部设备和主存之间直接传送而不是由CPU执行程序指令进行数据传送的控制方式称为(5)。
(5)A.程序查询方式 B.中断方式 C.并行控制方式 D.DMA方式
【答案】D
【解析】
DMA:指数据在内存与I/O设备间的直接成块传送,即在内存与I/O设备间传送一个数据块的过程中,不需要CPU的任何干涉,只需要CPU在过程开始启动(即向设备发出“传送一块数据”的命令)与过程结束(CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪)时的处理。实际操作由DMA硬件直接执行完成,CPU在此传送过程中做别的事情。

若计算机中地址总线的宽度为24位,则最多允许直接访问主存储器(6)的物理空间(以字节为单位编址)。
(6)A.8MB B.16MB C.8GB D.16GB
【答案】B
【解析】

根据《计算机软件保护条例》的规定,著作权法保护的计算机软件是指(7)。
(7)A.程序及其相关文档 B.处理过程及开发平台
C.开发软件所用的算法 D.开发软件所用的操作方法
【答案】A
【解析】

以下说法中,错误的是(8)。
(8)A.张某和王某合作完成一款软件,他们可以约定申请专利的权利只属于张某
B.张某和王某共同完成了一项发明创造,在没有约定的情况下,如果张某要对其单独申请专利就必须征得王某的同意
C.张某临时借调到某软件公司工作,在执行该公司交付的任务的过程中,张某完成的发明创造属于职务发明
D.甲委托乙开发了一款软件,在没有约定的情况下,由于甲提供了全部的资金和设备,因此该软件著作权属于甲
【答案】D
【解析】

防火墙对数据包进行过滤时,不能过滤的是(9)。
(9)A.源和目的IP地址 B.存在安全威胁的URL地址
C.IP协议号 D.源和目的端口
【答案】B
【解析】
存在安全威胁的URL地址,属于应用层的数据内容,防火墙不能进行有效筛选。

采用(10)表示带符号数据时,算术运算过程中符号位与数值位采用同样的运算规则进行处理。
(10)A.补码 B.原码 C.反码 D.海明码
【答案】A
【解析】

与X⊕Y(即X与Y不相同时,X⊕Y的结果为真)等价的逻辑表达式为(11)。
(11)A. B.
C. D.
【答案】D
【解析】

操作系统的主要任务是(12)。
(12)A.把源程序转换为目标代码
B.负责文字格式编排和数据计算
C.负责存取数据库中的各种数据,完成SQL查询
D.管理计算机系统中的软、硬件资源
【答案】D
【解析】
操作系统的作用:1、通过资源管理,提高计算机系统的效率;2、改善人机界面,向用户提供友好的工作环境。

假设某计算机系统中进程的三态模型如下图所示,那么图中的a、b、c、d处应分别填写(13)。

(13)A.作业调度、时间片到、等待某事件、等待某事件发生了
B.进程调度、时间片到、等待某事件、等待某事件发生了
C.作业调度、等待某事件、等待某事件发生了、时间片到
D.进程调度、等待某事件、等待某事件发生了、时间片到
【答案】B
【解析】
三态模型是进程管理的模型:

假设系统有n(n≥6)个并发进程共享资源R,且资源R的可用数为3。若采用PV操作,则相应的信号量S的取值范围应为(14)。
(14)A.-(n-3)~3 B.-6~3 C.-(n-1)~1 D.-1~n-1
【答案】A
【解析】
当所有进程运行完成/未开始时,S的取值为3,当所有进程同时并发时,S=3-n,其它的时候处于该范围(3-n~3)内变化

若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数(15)。
(15)A.至少为1个 B.至少为2个 C.最多为1个 D.最多为2个
【答案】C
【解析】
单处理系统,利用一个处理单元与其它外部设备结合起来,实现存储、计算、通信、输入与输出等功能的系统。
多个进程在并发时,一个处理单元同一时刻最多允许被一个进程占用。

某计算机系统采用页式存储管理方案,假设其地址长度为32位,其中页号占20位,页内地址占12位。系统中页面总数与页面大小分别为(16)。
(16)A.1K,1024K B.4K,1024K C.1M,1K D.1M, 4K
【答案】D
【解析】

某算术表达式用二叉树表示如下,该算术表达式的中缀式为(17),其后缀式为(18)。

(17)A.a-b+cd B.a-(b+c)d C.(a-(b+c))d D.a-(b+cd)
(18)A.abc±d
B.abcd
± C.ab-c+d* D.abcd+*-
【答案】C A
【解析】
前序遍历:先访问根结点,再依次按前序遍历的方式访问根结点的左子树、右子树
中序遍历:先中序遍历根结点的左子树,再访问根结点,再中序遍历根结点的右子树
后序遍历:先中序遍历根结点的左子树,再中序遍历根结点的右子树,再访问根结点
二叉树采用中序遍历得中缀表达式,采用后序遍历得后缀表达式

调用函数时若是引用调用方式,则是将(19)。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为(20)。

(19)A.实参的值传给形参 B.形参的值传给实参
C.实参的地址传给形参 D.形参的地址传给实参
(20)A.5 B.20 C.36 D.45
【答案】C D
【解析】
传址调用(引用调用):将实参地址给形参
由于f1采用传值调用,X值不发生变化X=5;f2采用传址调用,会对B的值产生影响,当执行b=x-1后b=4;当执行f2中2x+1后,b=9;所以最后bx=5*9=45

设数组a[1…10,1…8]中的元素按行存放,每个元素占用4个存储单元,已知第一个数组元素a[1,1]的地址为1004,那么a[5,6]的地址为(21)。
(21)A.1004+(5*8+6)4 B.1004+(48+5)4
C.1004+(5
10+6)4 D.1004+(410+5)4
【答案】B
【解析】
本题数组下标从1开始,a[5,6],按行存储,其前4行已经存满,所在行前5个元素位已经存满,所以a[5,6],偏移的元素个数为:4
8+5

可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空, 然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))d”,由于(22),因此可判断出该表达式中的括号不匹配。
(22)A.需要进行出栈操作但栈已空
B.需要进行入栈操作但栈已满
C.表达式处理已结束,但栈中仍留有字符“(”
D.表达式处理已结束,但栈中仍留有字符“)”
【答案】A
【解析】
左括号入站,右括号出栈,,该题中括号为:()),所以当执行第2个右括号时,第一个左括号已经出栈了,栈为空栈

若有字符串“software”,则其长度为3的子串有(23)个。
(23)A.5 B.6 C.7 D.8
【答案】B
【解析】
子串长度为3,则至少需要3个字符,在本题中are是最后一个满足要求的,sof是第一满足要求的,只要第一个字符位于s与a之间则满足要求,依次类推,一共有6个。

对下图所示的二叉树进行顺序存储(根结点编号为1,对于编号为i的结点,其左孩子结点为2i,右孩子结点为2i+1)并用一维数组BT来表示,已知结点X、E和D在数组BT中的下标分别为1、2、3, 可推出结点G、K和H在数组BT中的下分别为(24)。

(24)A.10、11、12 B.12、24、25 C.11、12、13 D.11、22、23
【答案】D
【解析】
元素G为F的右子树,其下标为2F+1;F为元素E的右子树,其下标为2E+1,E的下标为2,因此G=2*(2*2+1)+1=11;K=2G=22;H=2G+1=23;

对于关键字序列(10,34,37,51,14,25,56,22,3), 用线性探查法解决冲突构造哈希表,哈希函数为H(key)=key%11,关键字25存入的哈希地址编号为(25)。
(25)A.2 B.3 C.5 D.6
【答案】C
【解析】
1、序列的长度为11,标号0到10
2、依次将数带入哈希函数求哈希值,哈希值对应步骤1中标号
3、如果步骤2的哈希值对应的标号已经被占用,则往后一位,直到未占用的位置存放
4、如果,步骤3到了最后一个标号还未找到,则从0开始找,找到该哈希值之前
本题25代入哈希值为3,其中3已被14占,后退一位4号被37占用,5号为空,所以25应该存入标号为5的位置

通过设置基准(枢轴)元素将待排序的序列划分为两个子序列,使得其一个子序列的元素均不大于基准元素,另一个子序列的元素均不小于基准元素,然后再分别对两个子序列继续递归地进行相同思路的排序处理,这种排序方法称为(26)。
(26)A.快速排序 B.冒泡排序 C.简单选择排序 D.归并排序
【答案】A
【解析】
快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。
详细描述:首先在要排序的序列a中选取一个中轴值,而后将序列分成两个部分,其中左边的部分b中的元素均小于或者等于中轴值,右边的部分c 的元素均大于或者等于中轴值,而后通过递归调用快速排序的过程分别对两个部分进行排序,最后将两部分产生的结果合并即可得到最后的排序序列。

某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:
部门(部门代码,部门名称,电话)
员工(员工代码,姓名,部门代码)
顾客(顾客号,姓名,年龄,性别)
维修(顾客号,故障情况,维修日期,员工代码)
假设每个部门允许有多部电话,则电话属性为(27)。若每个部门有多名员工,而每个员工只属于一个部门。员工代码唯一标识员工关系的每一个元组。部门和员工之间是(28)联系。一个员工同一天可为多位顾客维修车辆,而一名顾客,也可由多个员工为其维修车辆,维修关系模式的主键是(29),员工关系模式的外键是(30)。
(27)A.组合属性 B.派生属性 C.多值属性 D.单值属性
(28)A.1:1 B.1:n C.n:1 D.n:m
(29)A.顾客号,姓名 B.顾客号,故障情况
C.顾客号,维修日期,员工代码 D.故障情况,维修日期,员工代码
(30)A.顾客号 B.员工代码 C.维修日期 D.部门代码
【答案】C B C D
【解析】

以下关于极限编程(XP)的叙述中,正确的是(31)。XP的12个最佳实践,不包括(32)。
(31)A.XP是激发开发人员创造性、使管理负担最小的一组技术
B.每一个不同的项目都需要一套不同的策略、约定和方法论
C.多个自组织和自治小组并行地递增实现产品
D.有一个使命作为指导,它设立了项目的目标,但并不描述如何达到这个目标
(32)A.重构 B.结对编程 C.精心设计 D.隐喻
【答案】D C
【解析】
极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
XP中简单:极限编程鼓励从最简单的解决方式入手再通过不断重构达到更好的结果。这种方法与传统系统开发方式的不同之处在于,它只关注于对当前的需求来进行设计、编码,而不去理会明天、下周或者下个月会出现的需求。
在XP中,每个对项目做贡献的人都应该是项目开发小组中的一员
每个不同的项目都需要一套不同的策略,约定和方法论是水晶法的内容
极限编程的主要目标在于降低因需求变更而带来的成本
12个最佳实践为:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户、编码标准。

某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(33)天。活动FG的松弛时间为(34)天。

(33)A.20 B.30 C.36 D.37
(34)A.1 B.8 C.9 D.17
【答案】D C
【解析】
松弛时间:表示在不影响整个工期的前提下,完成该任务有多少机动余地。
关键路径:在Pert图中时间跨度最长的路径
本题关键路径为ADFGJ共计37天,经过FG的最长路径为ADFGJ共计28天,所以松弛时间为37-28=9

以下关于软件项目工作量估算的叙述中,不正确的是(35)。
(35)A.专家估计方法受到专家的背景知识和经验的影响
B.复杂的模型不一定更准确
C.机器学习方法可以准确估算项目工作量
D…多种方法结合可以在某种程度上提高估算精度
【答案】C
【解析】
软件项目估算涉及人、技术、环境等多种因素,因此很难在项目完成前准确地估算出开发软件所需的成本、持续时间、和工作量。

结构化分析的输出不包括(36)。
(36)A.数据流图 B.数据字典 C.加工逻辑 D.结构图
【答案】D
【解析】
构图是指以模块的调用关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容,从宏观上反映软件层次结构的图形,属于软件设计

以下关于数据流图的叙述中,不正确的是(37)。
(37)A.分层数据流图可以清晰地对稍微复杂一些的实际问题建模
B.用来描述数据流从输入到输出的变换流程
C.能清晰地表达加工的处理过程
D.不能表示实体之间的关系
【答案】C
【解析】

软件设计一般包括概要设计和详细设计,其中概要设计不包括(38)。
(38)A.体系结构设计 B.模块划分
C.数据结构设计 D.模块之间的接口设计
【答案】D
【解析】
概要设计:就是设计软件的结构、明确软件由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。
概要设计的基本任务:1、设计软件系统的总体结构(将系统按功能划分模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间传递的信息;评价模块结构的质量);2、数据结构及数据库设计;3、编写概要设计文档;4、评审
软件体系结构:是对子系统、软件系统组件以及它们之间相互关系的描述
具体的模块之间的接口设计应为详细设计的内容

MVC模式(模型-视图-控制器)是软件工程中的一种软件架构模式,把软件系统分为模型、视图和控制器三个部分。(39)不属于MVC模式的优点。
(39)A.低耦合性 B.高重用性 C.可维护性 D.高运行效率
【答案】D
【解析】
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑;可以提高可重复性、可维护性、降低耦合等优点

某系统中有一个中央数据存储,模块A负责接收新来的数据并修改中央数据存储中的数据,模块B负责访问中央数据存储中的数据则这两个模块之间的耦合类型为(40)。若将这两个模块及中央数据合并成一个模块,则该模块的内聚类型为(41)。
(40)A.数据 B.标记 C.控制 D.公共
(41)A.逻辑 B.时间 C.通信 D.功能
【答案】D C
【解析】
偶然聚合:模块完成的动作之间没有任何关系,或者仅仅是一种非常松散的关系。
逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作,但功能用途上彼此无关。
时间聚合:模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。
过程聚合:模块内部各个组成部分所要完成的动作虽然没有关系,但必须按特定的次序执行。
通信聚合:模块的各个组成部分所完成的动作都使用了同一个数据或产生同一输出数据。
顺序聚合:模块内部的各个部分,前一部分处理动作的最后输出是后一部分处理动作的输入。
功能聚合:模块内部各个部分全部属于一个整体,并执行同一功能,且各部分对实现该功能都比不可少
非直接耦合:两个模块之间没有直接关系,它们的联系完全是通过主模块的控制和调用来实现的。
数据耦合:两个模块彼此间通过数据参数交换信息。
标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。
控制耦合:两个模块彼此间传递的信息中有控制信息。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。
公共耦合:两个模块之间通过一个公共的数据区域传递信息。
内容耦合:一个模块需要涉及到另一个模块的内部信息。

系统交付后,修改偶尔会出现乱码的问题,该行为属于(42)维护。
(42)A.正确性 B.适应性 C.完善性 D.预防性
【答案】A
【解析】
更正性维护:更正交付后发现的错误
适应性维护:使软件产品能够在变化后或变化中的环境中继续使用
完善性维护:改进交付后产品的性能和可维护性
预防性维护:在软件产品中的潜在错误成为实际错误前,检测并更正它们

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则(43)是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为(44)。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为(45)。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为(46)。
(43)A.10,20,50,25,30,55,60,28,32,38 B.10,20,50,25,38,55,60,28,32,30
C.60,55,50,38,32,30,28,25,20,10 D.10,20,60,25,30,55,50,28,32,38
(44)A.普通二叉树 B.完全二叉树 C.二叉排序树 D.满二叉树
(45)A.3 B.4 C.5 D.6
(46)A.lgn B.nlgn C.n D.n2
【答案】A B B B
【解析】

下图是(47)设计模式的类图,该设计模式的目的是(48),图中,Decorator和Component之间是(49)关系, ConcreteDecorator和Decorator之间是(50)关系。

(47)A.适配器 B.桥接 C.装饰 D.代理
(48)A.将一个类的接口转换为客户期望的另一种接口,使得原本因接口不匹配而无法合作的类可以一起工作
B.将一个抽象与其实现分离开,以便两者能够各自独立地演变
C.为一个对象提供代理以控制该对象的访问
D.动态地给一个对象附加额外的职责,不必通过子类就能灵活地增加功能
(49)A.依赖和关联 B.依赖和继承 C.关联和实现 D.继承和实现
(50)A.依赖 B.关联 C.继承 D.组合
【答案】C D C C
【解析】
图中Component定义一个对象接口,可以给这些对象动态地添加职责
ConcreteComponent定义一个对象,可以给这个对象添加一些职责
Decorator维持一个指向Compnonent对象的指针,并定义一个与Component接口一致的接口
ConcreateDecorator向组件添加职责
装饰(Decorator)模式适应于:在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时
Decorator和Component之间应为关联与实现关系
ConcreteDecorator和Decorator之间是继承(泛化)关系

软件测试的对象不包括(51)。
(51)A.代码 B.软件测试文档 C.相关文件数据 D.开发人员
【答案】D
【解析】

集成测试的集成方式不包括(52)。
(52)A.一次性集成 B.自中间到两端集成 C.自顶向下集成 D.自底向上集成
【答案】B
【解析】
集成测试的集成方式包括:一次性集成、自底向上、自顶向下、混合式等。

以下测试项目不适合采用自动化测试的是(53)。
(53)A.负载压力测试 B.需要反复进行的测试
C.易用性测试 D.可以录制回放的测试
【答案】C
【解析】
易用性是指软件产品被理解、学习、使用和吸引用户的能力。易用性涉及易理解、易学习、美观性、一致性、业务符合性等方面,这些不适合采用自动化测试。

以下关于软件测试目的的叙述中,不正确的是(54)。
(54)A.测试是程序的执行过程,目的在于发现错误
B.一个好的测试用例在于能发现至今未发现的错误
C.分析错误产生原因不便于软件过程改进
D.通过对测试结果分析整理,可以修正软件开发规则
【答案】C
【解析】

以下关于软件测试分类的叙述中,不正确的是(55)。
(55)A.按照软件开发阶段可分为单元测试、集成测试、系统测试等
B.按照测试实施组织可分为开发方测试、用户测试和第三方测试等
C.按照测试技术可分为白盒测试、黑盒测试等
D.按照测试持续时长可分为确认测试、验收测试等
【答案】D
【解析】
按开发阶段划分:单元测试、集成测试、系统测试、确认测试、验收测试
按测试技术划分:白盒测试、黑盒测试、灰盒测试
按实施组织划分:开发方测试、用户测试、第三方测试

以下关于软件质量属性的叙述中,不正确的是(56)。
(56)A.功能性是指软件满足明确和隐含要求功能的能力
B.易用性是指软件能被理解、学习、使用和吸引用户的能力
C.效率是指软件维持规定容量的能力
D.维护性是指软件可被修改的能力
【答案】C
【解析】

Bug记录信息包括(57)。
①被测软件名称 ②被测软件版本 ③测试人 ④错误等级
⑤开发人 ⑥详细步骤
(57)A.①③④⑥ B.①②④⑥ C.①②③④⑥ D.①②③④⑤⑥
【答案】C
【解析】

自动化测试的优势不包括(58)。
(58)A.提高测试效率 B.提高测试覆盖率
C.适用于所有类型的测试 D.更好地利用资源
【答案】C
【解析】
自动化测试的优势:提高测试质量、提高测试效率、提高测试覆盖率、执行手工测试不能完成的测试任务、更好地利用资源、增进测试人员与开发人员之间的合作伙伴关系

以下关于因果图法测试的叙述中,不正确的是(59)。
(59)A.因果图法是从自然语言书写的程序规格说明中找出因和果
B.因果图法不一定需要把因果图转成判定表
C.为了去掉不可能出现的因果组合,需要标明约束条件
D.如果设计阶段就采用了判定表,则不必再画因果图
【答案】B
【解析】
因果图导出测试用例的步骤
分析程序规格说明的描述中:原因和结果
分析程序规格说明描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图”
标明约束条件
把因果图转换成判定表
为判定表中每一列表示的情况设计测试用例
因果图法需要转换成判定表,然后再设计测试用例

一个程序的控制流图中有8个节点、12条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是(60)。
(60)A.2 B.4 C.6 D.8
【答案】C
【解析】
控制流程图的环路复杂性 V(G)等于:
(1)控制流程图中的区域个数。
(2)边数-结点数+2。
(3)判定数+1。

对于逻辑表达式(((a|b)‖(c>2))&&d<0),需要(61)个测试用例才能完成条件组合覆盖。
(61)A.2 B.4 C.8 D.16
【答案】C
【解析】

(62)不属于网络测试对象。
(62)A.服务器 B.路由器 C.网段 D.CPU
【答案】D
【解析】
CPU属于服务器的资源,不属于网络资源。

(63)不属于网络测试的测试类型。
(63)A.可靠性测试 B.可接受性测试 C.存储容量测试 D.吞吐量测试
【答案】C
【解析】
网络测试的类型为:网络可靠性测试、网络可接受性测试、网络瓶颈测试、网络容量规划测试、网络升级测试、网络功能/特性测试、网络吞吐量测试、网络响应时间测试、衰减测试、网络配置规模测试、网络设备评估测试等

(64)不属于数据库性能测试的测试指标。
(64)A.内存利用 B.会话统计 C.带宽 D.SQL执行情况
【答案】C
【解析】

以下关于文档测试的叙述中,不正确的是(65)。
(65)A.文档要面向所有级别读者
B.文档中用到的术语要符合行业规范
C.需要检查所有信息是否真实正确
D.需要检查软件返回结果跟文档描述是否一致
【答案】A
【解析】
检查软件返回结果跟文档描述是否一致属于一致性方面
检查所有信息是否真实正确属于正确性方面
检查术语符合行业规范属于属于范畴
文档面向读者应该定位要明确,不能一个文档面向所有级别

以下关于web测试的叙述中,不正确的是(66)。
(66)A.与其它系统的测试内容不同
B.与其它系统的测试手段基本相同
C.与其它系统的测试重点不同
D.与其它系统采用的测试工具部分不同
【答案】A
【解析】

用户口令测试应考虑的测试点包括(67)。
①口令时效 ②口令长度 ③口令复杂度 ④口令锁定
(67)A.①③ B.②③ C.①②③ D.①②③④
【答案】D
【解析】

以下不属于易用性测试的是(68)。
(68)A.安装测试 B.负载测试 C.功能易用性测试 D.界面测试
【答案】B
【解析】

通过遍历用例的路径上基本流和备选流的黑盒测试方法是(69)。
(69)A.等价类划分法 B.因果图法 C.边界值分析法 D.场景法
【答案】D
【解析】
场景法从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景;通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果:场景法=基本流+备用流

以下关于软件质量保证的叙述中,不正确的是(70)。
(70)A.软件质量是指软件满足规定或潜在用户需求的能力
B.质量保证通过预防、检查与改进来保证软件质量
C.质量保证关心的是开发过程活动本身
D.质量保证的工作主要是通过测试找出更多问题
【答案】D
【解析】

The project workbook is not so much a separate document as it is a structure imposed on the documents that the project will be producing anyway.
All the documents of the project need to be part of this (71). This includes objectives ,external specifications , interface specifications , technical standards , internal specifications and administrative memoranda(备忘录).
Technical prose is almost immortal. If one examines the genealogy (手册) of a customer manual for a piece of hardware or software , one can trace not only the ideas , but also many of the very sentences and paragraphs back to the first (72) proposing the product or explaining the first design. For the technical writer, the paste-pot is as mighty as the pen.
Since this is so, and since tomorrow’s product-quality manuals will grow from today’s memos, it is very important to get the structure of the documentation right. The early design of the project (73) ensures that the documentation structure itself is crafted, not haphazard. Moreover, the establishment of a structure molds later writing into segments that fit into that structure.
The second reason for the project workbook is control of the distribution of (74). The problem is not to restrict information, but to ensure that relevant information gets to all the people who need it.
The first step is to number all memoranda, so that ordered lists of titles are available and h worker can see if he has what he wants. The organization of the workbook goes well beyond this to establish a tree-structure of memoranda. The (75) allows distribution lists to be maintained by subtree, if that is desirable.
(71)A.structure B.specification C.standard D.objective
(72)A.objective B.memoranda C.standard D.specification
(73)A.title B.list C.workbook D.quality
(74)A.product B.manual C.document D.information
(75)A.list B.document C.tree-structure D.number
【答案】A B C D C
【解析】
项目工作手册不是单独的一篇文档,它是对项目必须产出的一系列文档进行组织的一种结果。
项目的所有文档都必须是该结构的一部分。这包括目标,外部规范说明,接口规范,技术标准,内部规范和管理备忘录(备忘录)。
技术说明几乎是必不可少的。如果某人就硬件和软件的某部分,去查看一系列相关的用户手册。他发现的不仅仅是思路,而且还有能追溯到最早备忘录的许多文字和章节,这些备忘录对产品提出建议或者解释设计。对于技术作者而言,文章的剪裁粘贴与钢笔一样有用。基于上述理由,再加上“未来产品”的质量手册将诞生于“今天产品”的备忘录,所以正确的文档结构非常重要。事先将项目工作手册设计好,能保证文档的结构本身是规范的,而不是杂乱无章的。另外,有了文档结构,后来书写的文字就可以放置在合适的章节中。使用项目手册的第二个原因是控制信息布。控制信息发布并不是为了限制信息,而是确保信息能到达所有需要它的人的手中项目手册的第一步是对所有的备忘录编号,从而每个工作人员可以通过标题列表来检索是否有他所需要的信息。还有一种更好的组织方法,就是使用树状的索引结构。而且如果需要的话,可以使用树结构中的子树来维护发布列表。

试题一

【问题1】(3分)
请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。

【问题2】(8分)
请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

【问题3】(4分)
请给出问题2中控制流图的线性无关路径。

答案:
【问题1】
i<ncycle;
i>=ncycle;
j<cyclelen;
j>=cyclelen;
pos>=panonopt;
pos<panonopt;
【问题2】

V(g)=4
【问题3】
1、2、8
1、2、3、4、2…
1、2、3、4、5、6、4…
1、2、3、4、5、7、4…

试题二
【说明】
某连锁酒店集团实行积分奖励计划,会员每次入住集团旗下酒店均可以获得一定积分,积分由欢迎积分加消费积分构成。其中欢迎积分跟酒店等级有关,具体标准如表2-1所示;消费积分跟每次入住消费金额有关,具体标准为每消费1元获得2积分(不足1元的部分不给分)。此外,集团会员分为优先会员、金会员、白金会员三个级别,金会员和白金会员在入住酒店时可获得消费积分的额外奖励,奖励规则如表2-2所示。
表2-1 集团不同等级酒店的欢迎积分标准

表2-2 额外积分奖励规则

该酒店集团开发了一个程序来计算会员每次入住后所累积的积分,程序的输入包括会员级别L、酒店等级C和消费金额A(单位:元),程序的输出为本次积分S。其中,L为单个字母且大小写不敏感,C为取值1到6的整数,A为正浮点数且最多保留两位小数,S为整数。

【问题1】(7分)
采用等价类划分法对该程序进行测试,等价类表如表2-3所示,请补充表2-3中空(1)-(7)。
表2-3 等价类

【问题2】(13分)
根据以上等价类表设计的测试用例如下表所示,请补充表2-4中空(1)-(13)。
表2-4 测试用例

答案:
【问题1】
(1)P (2)1 (3)4、5 (4)最多带2位小数的正浮点数
(5)MGP以外的单个字母 (6)小于1的整数 (7)最多两位小数的负浮点数
【问题2】
(1)300 (2)100 (3)3,6,8 (4)6
(5)1(非字母) (6)FF(非单个字母)
(7)N/A (8)2.3(非整数)
(9)1,13,8 (10)7(大于6的整数)
(11)a(非浮点数) (12)-100.12(最多带两位小数的负浮点数)
(13)100.123(超过两位小数的正浮点数)
解析:
【问题1】
等价类划分原则:
在输入条件规定了取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类
在输入条件规定了输入值得集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类
在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类
在规定了输入数据必须遵守的规则的情况下,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类
本题中:
会员等级L为单个字母且大小写不敏感:结合表2-2,则有效等价类为M、G、P;无效等价类为非字母、非单个字母、MGP以外的单个字母;所以(1)处填写P;(5)处填写MGP以外的单个字母
酒店等级C为1~6的整数,结合表2-1,则有效等价类为 1、(2、3)、(4、5)、6;无效等价类为非整数、小于1的整数、大于6的整数;所以(2)处填写1,(3)处填写4、5,(6)处填写小于1的整数
消费金额为正浮点数且最多保留两位小数,则有效等价类为最多带2位小数的正浮点数;无效等价类为非浮点数,多余两位小数的浮点数、最多两位小数的负浮点数;所以(7)处填写最多两位小数的负浮点数

试题三
【说明】
某公司欲开发一套基于Web的房屋中介系统,以有效管理房源和客户,提升成交效率。该系统的主要功能是:
(1)房源管理。员工或客户对客户拟出售/出租的意向房进行登记和管理。
(2)客户管理。员工对客户信息进行管理,支持客户交互。
(3)房源推荐。根据客户的需求和房源情况,进行房源推荐。
(4)交易管理。对租售客户双方进行交易管理,收取中介费,更改客户状态。

【问题1】(6分)
系统前端采用HTML5实现,以使用户可以通过电脑和不同移动设备的浏览器进行访问。请设计兼容性测试矩阵,对系统浏览器兼容性进行测试。

【问题2】(8分)
客户交易时,前端采用表单提交价格(正整数,单位:元)和中介费比例(0到1之间的小数,保留小数点后2位),针对这一功能设计4个测试用例。

【问题3】(6分)
采用性能测试工具在对系统性能测试时,采用Apdex(应用性能指数)对用户使用该系统的性能满意度进行度量,系统需要满足的Apdex指数为0.85以上。
Apdex量化时,对应的用户满意度分为三个区间,通过响应时间阈值(Threshold)T来划分,Apdex的用户满意度区间如下:
满意:(0,T],让用户感到很愉快
容忍: (T,4T],慢了一点,但还可以接受,继续这一应用过程
失望:高于4T,太慢了,受不了,用户决定放弃这个应用
Apdex的计算入如下:
Apdex= (满意的样本数+容忍的样本数/2) /总样本数
针对用户功能,本系统设定T=2秒,记录响应时间,统计样本数量,2秒以下记录数4000,2~8秒记录数1000,大于8秒500。
请计算本系统的Apdex指数,并说明本系统是否到达要求。
答案:
【问题1】

【问题2】
10000,0.12(整数,0~1之间的小数)
1000.99,0.12(非整数,0~1之间的小数)
10000,1(整数,非小数)
10000,2.12(整数,不在0~1之间的小数)
【问题3】
不满足要求:Apdex=(4000+1000/2)/(4000+1000+500)=0.82,小于0.85的要求值

试题四
【说明】
某软件的积分计算模块每天定时根据用户发布的文章数、文章阅读数来统计用户所获取的积分,用户分为普通用户和专家用户,两类用户具有不同的积分系数。
图4-1是该模块的类图,图中属性和操作前的“+”、“#”和“-”分别表示公有成员、保护成员和私有成员。

图4-1类图
其中:
(1)类Expert重新实现了类User的方法calPoints();
(2)方法calPoints()根据每个用户每天的文章数(articleNum)、文章阅读数(readNum)来计算当天的积分;
(3)类System中的方法statPoints()中首先调用了该类的方法load(),获取本系统用户列表,然后调用了类User中的方法calPoints()。
现拟采用面向对象的方法进行测试。

【问题1】(4分)
(1)图4-1所示的类图中,类System和User之间是什么关系?
(2)类Expert重新实现了类User的方法calPoints(),这是面向对象的什么机制?

【问题2】(6分)
类Expert中的方法calPoints()和getPoints()是否需要重新测试?

【问题3】(10分)
(1)请结合题干说明中的描述,给出测试类User方法calPoints()时的测试序列。
(2)从面向对象多态特性考虑,测试类System中方法statPoints()时应注意什么?
(3)请给出图4-1中各个类的测试顺序。

答案:
【问题1】
1、关联关系
2、多态
【问题2】
calpoints()需要重新测试
gepoints()无须重新测试
【问题3】
1、users()à setArticlenum()à setReadNum()à calpoints()
2、只需要在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例。要注意User中calpoints()和Expert中calpoints()的分别调用。
3、load()à users()à setArticlenum()à setReadNum()à User.calpoints()àexpert. calpoints()à statPoints()或者先测试User类和expert类,然测试load(),最后StatPoints()

试题五
【说明】
某智能家居系统软件设计中,家庭内网节点软件设计包括协调器软件、现场采集/执行器(室内温湿度采集节点、模拟台灯控制节点、模拟雨水窗户监控节点、模拟空调控制节点和火灾监测节点)的软件设计。软件功能组成如图5-1所示。

图5-1 软件功能组成图
整个系统中,协调器是整个家庭内网的核心和起点,负责管理各个节点设备与PC网关的信息和控制指令的传输。温湿度采集终端将传感器的数据以点播的形式发送给协调器,其他采集/控制节点以广播的形式与协调器进行数据的交换,协调器和PC机采用串口通信协议。协调器软件主要完成以下功能:
(1)创建信道,组建网络;如果失败,则继续创建;
(2)组建网络成功,则进行各层事件扫描;
(3)如果检测到应用层有事件,则转第(4)步,否则反复扫描各层事件;
(4)判断数据类型, 如果是室内环境数据,则经串口发送到网关;如果是控制指令,则向控制节点发送控制指令;如果前面两者均不是,则不处理;
(5)继续扫描各层事件。

【问题1】(4分)
在本软件开发过程中,开发人员使用了基于模型的嵌入式代码生成技术,目前对模型验证最主要的方法是(1)。通过此方法验证后,利用此验证结果可对模型的覆盖率进行分析,模型的覆盖率类型一般包括(2)(至少写出两种类型)。
(1)备选项:
A.评审 B.分析 C.仿真 D.测试

【问题2】(10 分)
为了测试此软件功能,测试人员设计了表5-1所示的测试用例,请填写该表中的空(1) ~ (5)。
表5-1 测试用例

【问题3】(6 分)
覆盖率是度量测试完整性和测试有效性的一个指标。在嵌入式软件白盒测试过程中,通常以语句覆盖率、条件覆盖率和MC/DC覆盖率作为度量指标。
在实现第4条功能时,设计人员采用了下列算法:
if (( 数据有效TRUE) && (数据类型室内环境数据))
{ 数据经串口发送到网关; }
if ((数据有效TRUE) && ( 数据类型控制指令))
{ 向控制节点发送控制指令; }
请指出对上述算法达到100%语句覆盖、100%条件覆盖和100%MC/DC覆盖所需的最少测试用例数目,并填写在表5-2的空(1) ~ (3)中。
表5-2 测试覆盖用例统计表

答案:
【问题1】
分析
条件覆盖、判定覆盖、MC/DC
【问题2】
(1)各层扫描 (2)室内环境数据
(3)模拟雨水窗户监控节点发送控制指令
(4)台灯 (5)空调控制指令
【问题3】
2
2
3
解析:
【问题1】
模型验证的主要方法是分析:正确性分析;有效性分析;有用性分析;高效性分析
正确性分析:(模型稳定性分析,稳健性分析,收敛性分析,变化趋势分析,极值分析等)
有效性分析:误差分析,参数敏感性分析,模型对比检验
有用性分析:关键数据求解,极值点,拐点,变化趋势分析,用数据验证动态模拟。
高效性分析:时空复杂度分析与现有进行比较
模型的覆盖率类型:条件、判定、MC/DC
【问题3】
本题中两个if语句为顺序结构,当第1组数据类型为室内环境为真时,第2组数据类型为控制指令就会出现假
对于语句覆盖,选择 :数据类型有效为真和一个数据类型为室内环境;数据类型有效为真和一个数据类型为控制指令
条件覆盖,选择 :数据类型有效为真和一个数据类型为室内环境为真;数据类型有效为假和一个数据类型为控制指令为真;
MC/DC, 1个数据有效条件为假,数据类型有效为真并1个数据类型等于室内环境数据,数据类型有效为真并1个数据类型等于控制指令,所以参考答案为3。

在这里插入图片描述

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值