2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析B卷(带答案)第89期

2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析B卷

(带答案)

一.综合题(共15题)

1.

单选题

对于逻辑表达式(((a|b)‖(c>2))&&d

问题1选项

A.2

B.4

C.8

D.16

【答案】C

【解析】条件覆盖的测试用例数为:2^n,本题条件为(a|b)、c>2、d<0三个条件。

2.

单选题

现欲开发某高校一卡通系统,用于替换一个已经存在的系统,则最适于采用()过程模型。

问题1选项

A.瀑布

B.原型化

C.增量

D.螺旋【答案】A

【解析】计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序;以项目阶段评审和文档控制为手段有效地对整个开发过程进行指导;

其优点是:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试;

其缺点是:客户必须能够完整、正确、清晰地表达他们的需要;在开始的2~3个阶段中,很难评估真正的进度状态;当项目结束时,出现大量的集成和测试工作;直到项目结束之前,都不能演示系统的能力;需求或设计中的错误往往只有到了项目后期才能够被发现,对项目风险控制能力较弱,从而导致项目常常延期完成,开发费用超出预期。

适用项目:需求明确、解决方案明确的项目

原型模型:开始于沟通,其目的是定义软件的总体目标,标识需求,然后快速制定原型开发的计划,定原型的目标和范围,采用快速设计方式对其进行建模,并构件原型。利用原型再通过与用户进行交互验证和进一步改进,重复这一过程最终得到令用户满意的软件产品

其优点是:利于增加软件人员和用户对系统需求的理解;原型的最终版本可作为产品或者最终系统的一部分;

其缺点是:文档容易被忽略;建立原型的许多工作被浪费;项目难以规划和管理。

适用项目:需求不明确,动态变化的项目(如界面的开发)

增量模型:融合了瀑布模型的基本成分和原型实现的迭代特征,假设可以将需求分段为一系列增量产品,每一增量可以分别开发。其特点:第1个增量往往是核心产品;客户对每个增量的使用和评估都作为下一个增量发布的新的特征和功能;增量模型强调每一个增量均发布一个可操作的产品;

其优点是:具有瀑布模型的所有优点;第一个可交付版本所需要的成本和时间很少;开发由增量表示小的系统所承担的风险不大;由于很快发布第一个版本,因此可以减少用户需求的变更;运行增量投资,即在项目开始时,可以仅对一个或两个增量投资。

其缺点是:如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;管理发生的成本、进度和配置的复杂性可能会超出组织的能力。

适用项目:需求大部分明确,系统较为复杂,有一定技术风险

螺旋模型:采用一种周期性的方法来进行系统开发,结合原型方法和瀑布模型;每一周期都包括制定计划、风险分析、实施工程和评审4个阶段,进行迭代

其优点是:客户始终参与,和管理层有效地交互;强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解。

其缺点是:需要具有相当丰富的风险评估经验,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;过多的迭代次数会增加开发成本,延迟提交时间

适用项目:庞大、复杂并具有高风险的系统

本题是替换现有的系统,需求已经很明确,所以用瀑布模型最合适

3.

单选题

堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左

右孩子元素。则()是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为()。对于10个结点的小顶堆,其对应的二叉树的高度(层数)为()。堆排序是一种基于堆结构的排序算法,该算法的时间复杂度为()。

问题1选项

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

问题2选项

A.普通二叉树

B.完全二叉树

C.二叉排序树

D.满二叉树

问题3选项

A.3

B.4

C.5

D.6

问题4选项A.lgn

B.nlgn

C.n

D.n2

【答案】第1题:A

第2题:B

第3题:B

第4题:B

【解析】

4.

单选题

以下不属于单元测试中局部数据结构测试内容的是()。

问题1选项

A.不一致的数据类型说明

B.全局变量的定义在各模块是否一致

C.使用尚未赋值的局部变量

D.变量错误的缺省值

【答案】B

【解析】单元测试的内容:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试;模块接口测试具体包括:调用所测模块时的输入参数与模块的形式参数在个数、属性、顺序上是否匹配;所测模块调用子模块时,其输入给子模块的参数与子模块中的形式参数在个数、属性、顺序上是否匹配;是否修改了只作输入用的形式参数;输出给标准函数的参数在个数、属性、顺序上是否正确;全局量的定义在各模块中是否一致;限制是否通过形式参数来传递。

局部数据结构测试包括:不正确或不一致的数据类型说明;使用尚未赋值或尚未初始化的变量;错误的初始值或错误的缺省值;变量名拼写错或书写错;不一致的数据类型。

选项B应属于接口测试的内容

5.

单选题

以下关于软件功能性的叙述中,不正确的是()。

问题1选项

A.适合性是指软件产品为指定任务和用户目标提供一组合适的功能的能力

B.准确性是指软件产品具有所需精确度的正确或相符结果及效果的能力

C.互操作性是指软件产品与一个或更多的规定系统进行交互的能力

D.保密安全是指软件产品进行保密安全教育的能力

【答案】D

【解析】软件质量模型包括6个特性功能性、可靠性、易用性、效率、维护性、可移植性;

功能性包括:适合性、准确性、互操作性、保密安全性等子特性

可靠性包括:成熟性、容错性、易恢复性等子特性

易用性包括:易理解性、易学性、易操作性、吸引性等子特性

效率包括:时间特性、资源利用等子特性

维护性包括:易分析性、易改变性、稳定性、易测试性等子特性

可移植性包括:适应性、易安装性、共存性、易替换性等子特性

功能性:是指当软件在指定条件下使用时,软件产品满足明确和隐含要求功能的能力

适合性:是指软件产品为指定的任务和用户目标提供一组合适的功能的能力

准确性:是指软件产品具有所需精度的正确或相符的结果及效果的能力

互操作性:是指软件产品与一个或更多的规定系统进行交互的能力

保密安全性:是指软件产品保护信息和数据的能力,以示未授权的人员或系统不能阅读或修改这些信息和数据,但不拒绝授权人员或对系统对它们的访问

功能性依从性:是指软件产品依附于同功能性相关的标准、约定、或法规以及类似规定的能力

6.

单选题

计算机中提供指令地址的程序计数器(PC) 在()中。

问题1选项A.控制器

B.运算器

C.存储器

D.I/O 设备

【答案】A

【解析】CPU主要由运算器、控制器、寄存器组和内部总线等部件组成

运算器由算术逻辑单元、累加寄存器、数据缓冲寄存器和条件状态寄存器组成,是数据加工处理部件,用于完成计算机的各种算术和逻辑运算

控制器用于控制整个CPU的工作,决定了计算机运行过程的自动化,不仅能保证程序的正确执行,而且还能处理异常事件,控制器一般包括指令控制逻辑(包括:指令寄存器、程序计数器、地址寄存器、指令译码器)、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分

试题答案

7.

单选题

以下关于面向对象基本概念的叙述中,不正确的是()。

问题1选项

A.类是具有相同属性和操作的一组对象的集合

B.继承是子类自动地拥有父类的全部或部分属性或操作的机制

C.一个子类只能有一个父类

D.对象是类的实例

【答案】C

【解析】对象:是基本运行时的实体,既包括数据(属性),也包括(行为)

类:类所包含的方法和数据描述一组对象的共同行为和属性;类是在对象之上的抽象,对象是类的具体化,是类的实例

继承:父类和子类之间共享数据和方法的机制

在面向对象中没有规定一个子类只能有一个父类,不同的程序设计语言有不同的规定,有些只能有一个(如java),有些可有多个(如C++)

8.

单选题

函数main()、f()的定义如下所示。调用函数f()时,第一个参数采用传值(call by value) 方式,第二个参数采用传引用(call by reference)方式,main()执行后输出的值为()。

问题1选项

A.2

B.3

C.8

D.10

【答案】C

【解析】传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。

引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。

在函数执行的过程中,f (5,x)f(int x,int &a)可以得出第一个参数x的取值为5(第一个参数为传值调用);第二个参数a取得左边main()函数中x的地址(第二个参数为传址调用);当运行x=2*a-1后,f()函数中x的取值变为3(2*2-1);当运行a=x+5后,a对应地址的取值被修改为8,也就是将main()函数中的x值修改为8;当运行return后,f()函数结束。这时main()函数中的x取值为8;所以当main()函数答应x值时,应该输出为8。

9.

单选题

为了提高模块独立性,模块之间最好采用()耦合。问题1选项

A.数据

B.标记

C.控制

D.公共

【答案】A

【解析】模块独立是值每个模块完成换一个相对独立的特定子功能,并且与其他模块之间的联系简单。衡量模块独立程度的标准有:聚合和耦合——高聚低耦;其中耦合是模块之间的相对独立性的度量;耦合类型从低到高如下所示:

非直接耦合:两个模块之间没有直接关系,它们的联系完全是通过主模块的控制和调用来实现的。

数据耦合:两个模块彼此间通过数据参数交换信息。

标记耦合:一组模块通过参数表传递记录信息,这个记录是某一个数据结构的子结构,而不是简单变量。控制耦合:两个模块彼此间传递的信息中有控制信息。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。

公共耦合:两个模块之间通过一个公共的数据区域传递信息。

内容耦合:一个模块需要涉及到另一个模块的内部信息。

10.

单选题

在C程序中,对于如下的两个for语句,其运行后a和b的值分别为()。

for(int a=0;a==0;a++);

for(int b=0;b=0;++b);

问题1选项

A.0,0

B.0,1

C.1,0

D.1,1

【答案】C

【解析】for循环语法:

for(①初始化表达式;②条件表达式;④累加器){

③循环体

}

执行流程:

(1)执行初始化表达式①;

(2)执行条件表达式②,如果条件满足,为true,执行循环体③,执行累加器④,继续执行条件表达式②,如果条件满足,为 true,执行循环体③,执行累加器④……以此类推,直到循环条件不满足,结束循环

本题中第一个for循环语句,第一次运行时先执行赋值语句a=0,然后进行条件比较a==0为真,然后执行循环题(本题循环体为空),再执行累计部分即a++;执行后a=1;再进行条件比较a==0为假,最后结束循环。所以这时a的值为1;

本题中第二个for循环语句,第一次运行时先执行赋值语句b=0,然后进行条件比较b=0为假(b=0是一个赋值语句不是一个条件表达式,判定结果为0即假),接下来就直接结束循环;所以这时b的值为0。

11.

单选题

某银行信用卡额度关系C(信用卡号,用户名,身份证号,最高消费额度,累计消费额)中,信用卡号唯一标识关系C的每一个元组。一个身份证只允许办理一张信用卡。关系C有()。

问题1选项

A.1个候选键,即信用卡号

B.2个候选键,即信用卡号、身份证号

C.1个候选键,即身份证号

D.1个候选键,即信用卡号、用户名

【答案】B

【解析】在关系数据库候选码/候选键:如果在一个关系中,存在一个属性(或属性组)都能用来唯一标识该关系的元组,并不含有多余的属性,这个属性(或属性组)称为该关系的候选码或候选键。

依据题干的描述信任卡号能唯一标识关系C的每一个元组,且不含多余属性,因此信任卡号为候选码

依据题干的描述,一个身份证只允许办理一张信任卡,也就是一个身份证只对应一张信任卡,身份证号函数决定信任卡号,综上所述身份证也能唯一标识每一个元组,且不含多余属性,因此身份证号为候选码综上所述,本题中存在2个候选码:信任卡号和身份证号12.

单选题

在C程序中,设有“int a=3,b=2,c=1;”,则表达式a>b>c的值是()。

问题1选项

A.0

B.1

C.2

D.不确定

【答案】A

【解析】关系运算>为左结合运算,所以表达式a>b>c,先计算a>b(3>2)结果为1(即等式成立);计算结果再与c进行运算即1>c(1>1)结果为0(即等式不成立)。

13.

案例题

阅读下列说明,回答问题1至问题3,将解答写在答题纸的对应栏内。

【说明】

某软件的积分计算模块每天定时根据用户发布的文章数、文章阅读数来统计用户所获取的积分,用户分为普通用户和专家用户,两类用户具有不同的积分系数。

图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()-getPoints()

2、只需要在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例。要注意User中calpoints()和Expert中calpoints()的分别调用。

3、User-Expert-System

【解析】【问题1】

关联关系

Expert是继承了user的方法,然后进行了重写,属于多态机制

【问题2】

对父类中已经测试过的成员函数,有两种情况需要在子类中重新测试:(1)继承的成员函数在子类中做了改动;(2)成员函数调用了改动过的成员函数的部分;本题中Expert的calpoints()重新修改了需要重新测试,而gepoints()没有变化,无须重新测试

【问题3】

1、calpoints()需要先获取用户(users())然后获取每天的文章数(setArticlenum()),文章阅读数(setReadNum())来计算积分,所以测试序列为:users()- setArticlenum()-setReadNum()-calpoints()-getPoints()

2、只需要在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例。

3、system中的statPoints()首先调用load(),然后user中的calpoints()而,calpoints()需要先获取用户(users())然后获取每天的文章数(setArticlenum()),文章阅读数(setReadNum())来计算积分,所以测试序列为:User-Expert-System

14.

单选题

结构化开发方法的体系结构设计的依据是结构化分析的()。

问题1选项

A.数据流图

B.状态迁移图

C.实体联系图

D.加工规格说明

【答案】A

【解析】数据流图(Data Flow Diagram,DFD):是一种最常用的结构化分析工具,从数据传递和加工的角度,以图形的方式刻画系统内数据的运动情况。

状态—迁移图(STD)或状态—迁移表被用来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为,属于结构化分析方法使用工具

加工规格说明:就是对DFD中的每个加工所作的说明,描述把输入数据流变换为输出数据流的加工过程实体联系图:提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。实体关系图表示在信息系统中概念模型的数据存储。常用于信息系统设计中

结构化设计是将结构化分析的结果(数据流图)映射成软件的体系结构(结构图(结构图:用来描述软件系统的体系结构,指出一个软件系统由哪些模块组成,以及模块之间的调用关系))。状态—迁移图用于行为建模,而不是结构建模。

15.

单选题

某个不确定有限自动机(S0为初态,S3为终态)如下图所示,()是该自动机可识别的字符串(即从初态到终态的路径中,所有边上标记的字符构成的序列)。

问题1选项

A.baabb

B.bbaab

C.aabab

D.ababa

【答案】A

【解析】确定的有限自动机(S,∑,f,s0,Z)

S是一个有限集,其每个元素称为一个状态

∑是一个有穷字母表,其每个元素称为一个输入字符

F是S× ∑→S上的单值部分映射

f(A ,a)=Q 表示当前状态为A,输入为a时,将转换到下一个状态Q,称Q为A的一个后记状态

s0 ∈S,是唯一的一个开始状态

Z是非空的终止状态集合,Z⊆S

非确定的有限自动机与确定的区别

F是S× ∑→2S上的映射

对于S中的一个给的状态及输入符号,返回一个状态的集合。即当前状态的后继状态不一定是唯一的

有向弧上的标记可以是ℇ

题干中有限自动机对应的正规式为:( a | b )* a b b,即以abb结尾的序列,题干选项中符合以abb结尾的选项为A

2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析AB卷(带答案)试题号:69

2022年职业考证-软考-软件评测师考试全真模拟易错、难点剖析AB 卷(带答案) 一.综合题(共15题) 1. 单选题 以下不属于网络测试的测试对象的是()。 问题1选项 A.网络平台 B.应用层 C.软件子系统 D.全局网络路径 【答案】C 【解析】网络测试对象(4种) 网络平台:包括网络操作系统、文件服务器和工作站 应用层:是指应用程序的客户端、桌面操作系统和数据库软件等 子系统:主要是指路由器、集线器、交换机和网桥 全局网络路径:是整个网络系统中重要的点对点路径 选项C属于干扰项 2. 单选题 在支持多线程的操作系统中,假设进程P创建了线程T1、T2和T3,那么以下叙述中错误的是()。问题1选项 A.线程T1、T2和T3可以共享进程P的代码段 B.线程T1、T2可以共享进程P中T3的栈指针 C.线程T1、T2和T3可以共享进程P打开的文件 D.线程T1、T2和T3可以共享进程P的全局变量 【答案】B 【解析】线程是进程中的一个实体,是系统独立分配和调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(如:程序计数器、一组寄存器和栈),其它的资源可以与同一进程中其它线程共享。结合本题选项来看,只有选项B(栈指针)是线程独有不能被共享的。 3. 单选题 标准符合性测试是软件测试的工作之一,这里的标准不包括()。 问题1选项 A.数据内容类标准 B.开发人员技术要求类标准 C.通信协议类标准 D.开发接口类标准 【答案】B 【解析】标准符合性测试:数据内容类标准;通信协议类标准;开发接口类标准(SQL标准符合性测试、ODBC标准符合性测试、JDBC标准符合性测试);信息编码类标准。 选项B为干扰项。 4. 单选题 嵌入式操作系统的特点之一是可定制,这里的可定制是指()。 问题1选项 A.系统构件、模块和体系结构必须达到应有的可靠性

相关主题
相关文档
最新文档