image

编辑人: 人逝花落空

calendar2025-06-12

message7

visits738

2024年05月软件评测师上午题答案及解析

一、单选题

1、软件工程学科出现的主要原因是(  )。

A、程序设计语言的发展

B、其他相关工程学科的发展

C、计算机科学的发展

D、软件危机的产生

解析:

软件工程学科出现的主要原因是软件危机的产生。由于软件危机的出现,人们开始意识到软件开发过程中的问题,为了有效地解决这些问题,引入了工程化的管理理念,从而产生了软件工程学科。因此,答案为D。

2、在需求分析阶段,开发人员最根本、最首要的任务是(  )。

A、确定软件系统要做什么

B、确定采用的开发技术

C、确定软件系统的结构

D、确定划分的功能模块

解析:

在需求分析阶段,开发人员最根本、最首要的任务是确定软件系统要做什么,即确定软件系统的功能需求。其他选项如确定采用的开发技术、确定软件系统的结构和确定划分的功能模块等,都是在需求分析阶段之后阶段的任务。因此,正确答案是A。

3、以下关于软件测试策略的叙述中,不正确的是(  )。

A、测试是系统性的工程活动,需要组织、协调和管理

B、需要实现测试代价和测试质量的最佳平衡

C、测试不可随心所欲、漫无目的的进行

D、软件是逻辑产品,对其进行完全测试是可能的

解析:

在软件测试中,完全测试是不可能的。由于软件产品的复杂性和资源的有限性,无法对软件开展穷举式的测试。因此,选项D是不正确的叙述。测试需要系统性的工程活动,需要组织、协调和管理,并且需要实现测试代价和测试质量的最佳平衡,同时测试不可随心所欲、漫无目的的进行。因此,选项A、B、C都是正确的。

4、在计算机网络协议体系结构中,(  )工作在物理层。

A、以太网交换机

B、路由器

C、集线器

D、防火墙

解析:

集线器工作于OSI参考模型的物理层,其主要功能是接收来自多个计算机的数据,并将其广播到所有连接的端口。因此,选项C是正确的。其他选项如以太网交换机、路由器和防火墙都工作在网络层及以上层次,不直接处理物理层的信号和数据传输。

5、以下工作中,操作系统不负责(  )。

A、所有程序的启动和结束

B、并发控制

C、系统调用和中断

D、程序的编译

解析:

程序的编译是由编译器来完成的,编译器并不是操作系统的一部分,而是建立在操作系统之上的软件。操作系统主要负责所有程序的启动和结束、并发控制以及系统调用和中断。因此,选项D是操作系统不负责的工作。

6、以下不属于测试原则的是(  )。

A、不完全性原则

B、合理性原则

C、不相关性原则

D、可接受性原则

解析:

在软件测试中,测试原则包括不完全性原则、合理性原则、相关性原则和可接受性原则等。选项C中的“不相关性原则”并不是测试原则之一,因此是不属于测试原则的。而选项A、B、D都是正确的测试原则。因此,正确答案是C。

7、某一软件项目的规模较小,开发人员对用户领域不熟悉,且开发技术中还存在一些不确定因素,则最适合采用的过程模型是(  )。

A、瀑布模型

B、螺旋模型

C、增量模型

D、原型模型

解析:

对于规模较小的软件项目,当开发人员对用户领域不熟悉且开发技术中存在不确定因素时,最适合采用原型模型。原型模型允许在开发过程中逐步明确和细化需求,通过快速构建原型来验证需求和设计的可行性,从而降低了开发风险。同时,原型模型适用于需求不确定性较高的项目,可以灵活应对需求变化。因此,选项D是正确答案。

8、软件项目管理负责(  )的一切活动。

A、软件开发过程

B、软件设计过程

C、软件生命周期

D、软件维护过程

解析:

软件项目管理负责软件生命周期的一切活动,包括软件开发过程、软件设计过程以及软件维护过程。因此,答案为C。

9、完整的计算机系统应包括(  )。

A、运算器、控制器和寄存器

B、主机、操作系统和应用软件

C、外部设备和主机

D、配套的硬件设备和软件系统

解析:

计算机系统包括硬件和软件两部分,硬件是指计算机的物理装置,包括运算器、控制器、存储器、输入设备和输出设备等;软件是指计算机程序、数据和相关的文档。因此,完整的计算机系统应包括配套的硬件设备和软件系统。

10、以下语言中,常用于嵌入式系统开发的是(  )。

A、PHP+XML

B、Python

C、C/C++

D、javaScript

解析:

嵌入式系统开发常用的编程语言包括C语言和C++。C语言是嵌入式系统开发中非常流行的编程语言之一,因为它具有高效、低层次的特点,能够充分利用嵌入式系统有限的资源。C++语言是在C语言基础上发展起来的,不仅保留了C语言的高效性,还引入了面向对象的特性,对于大型嵌入式系统的开发,C++可以提供更好的代码组织结构和可维护性。因此,常用于嵌入式系统开发的是C/C++语言。

11、在(  )机制中,如果事务T获得了数据项Q上的锁,则可读但不能写Q。

A、共享锁

B、排他锁

C、授权锁

D、死锁

解析:

在共享锁机制中,如果事务T获得了数据项Q上的锁,那么T可以读取Q但不能写入Q。这是共享锁的基本特性,允许多个事务同时读取同一数据项,但限制了对数据的修改,以确保并发控制。因此,正确答案是A。

12、以下关于软件缺陷的叙述中,不正确的是(  )。

A、各个阶段引入缺陷的修复代价有巨大差异

B、软件缺陷必然是显现的

C、应根据缺陷的严重性和优先级进行处理

D、编码阶段的缺陷更容易被发现

解析:

关于软件缺陷的叙述中,选项B“软件缺陷必然是显现的”是不正确的。实际上,软件缺陷可能是显现的,但更多情况下是隐藏的。缺陷的存在可能导致软件产品在某种程度上不能满足用户的需求。其他选项A、C、D都是关于软件缺陷的正确叙述,因此不正确的是选项B。

13、CPU执行算术运算或者逻辑运算时,其ALU(算术逻辑运算部件)将计算结果保存在(  )中。

A、程序计数器(PC)

B、指令寄存器(IR)

C、地址寄存器(AR)

D、累加器(AC)

解析:

CPU执行算术运算或逻辑运算时,其ALU(算术逻辑运算部件)将计算结果保存在累加器(AC)中。累加器是一个通用寄存器,为ALU提供了一个工作区,用于暂存数据。在执行算术或逻辑运算时,相关数据会从其他寄存器或内存取出,与累加器中的数据进行运算,然后将结果存回累加器中。因此,正确答案是D。

14、以下关于MVC框架的描述中,不正确的是(  ) 。

A、有利于工程化软件开发

B、提高软件运行效率

C、提高可维护性

D、易于重用

解析:

MVC框架是一种软件设计典范,旨在通过分离业务逻辑、数据和界面显示来提高软件的可维护性和重用性。虽然MVC框架确实有利于工程化软件开发,提高可维护性和易于重用,但它并不直接提高软件的运行效率。因此,选项B描述为不正确。

15、以下关于汇编语言的叙述中,正确的是(  )。

A、汇编程序是将汇编语言源程序翻译成机器语言程序的一种软件

B、将汇编语言源程序转换成目标程序的软件称为解释程序

C、依据抽象层次可将汇编语言视为高级程序语言

D、汇编语言源程序可以直接在计算机上运行

解析:

此题考察对汇编语言的理解。

A选项正确,汇编程序是将汇编语言源程序翻译成机器语言程序的一种软件。

B选项错误,将汇编语言源程序转换成目标程序的软件称为汇编器,而非解释程序。解释程序是用来解释执行其他计算机语言写的源程序的。

C选项错误,依据抽象层次,汇编语言被视为一种低级语言,因为它介于机器语言和高级语言之间。它提供的抽象层次较低,更接近具体的机器指令。

D选项错误,汇编语言源程序不能直接在计算机上运行,需要通过汇编程序翻译成机器语言后才能被计算机执行。

综上,正确答案是A。

16、保障网络安全的基本目标就是要具备安全保护能力、隐患发现能力、应急反应能力和(  )能力。

A、故障恢复

B、信息对抗

C、资金保障

D、组织协调

解析:

保障网络安全的基本目标包括安全保护能力、隐患发现能力、应急反应能力和信息对抗能力。因此,正确答案为B,即信息对抗能力。

17、以下关于兼容性测试的叙述中,不正确是(  )。

A、互操作性测试的目标是评估两个或多个系统、产品或组件能够交换信息并使用已交换的信息的程度

B、用于评估在共享相同的硬件或软件环境下,产品、系统或组件能够与其它产品、系统或组件交换信息或执行其所需功能的程度

C、共存性测试的目标是评估在与其它产品共享通用的环境和资源的条件下,产品能够有效执行其所需功能并且不会对其它产品造成负面影响的程度

D、共存性测试要对数据格式可交换性等进行测试

解析:

互操作性测试确实要对数据格式可交换性等进行测试,所以选项A是正确的。选项B描述了兼容性测试的一个方面,即评估产品或系统在共享相同硬件或软件环境下与其他产品或系统的信息交换和功能执行情况,也是正确的。共存性测试的目标是评估产品在与其他产品共享通用环境和资源的条件下能否有效执行功能,并且不会对其他产品造成负面影响,所以选项C也是正确的。而选项D中被描述为“共存性测试要对数据格式可交换性等进行测试”,这与互操作性测试的描述混淆了,实际上互操作性测试更侧重于数据格式可交换性和数据传输的交换接口等方面的测试,因此选项D是不正确的。

18、以下关于基于规格说明的测试技术中组合测试的叙述中,不正确的是(  )。

A、将被测软件抽象成一个受到多个参数影响的系统

B、将被测软件的参数和参数取值按一定组合策略来规划测试

C、对于取值范围连续或者存在过多取值的参数,需要先使用其它测试技术

D、其目的是为了彻底解决组合爆炸问题

解析:

组合测试的目的并不是为了彻底解决组合爆炸问题,而是为组合爆炸情况提供一种相对合理的解决方案,在保证错误检出率的前提下采用较少的测试用例。因此,选项D是不正确的叙述。

19、对于逻辑表达式((w & 0xffff) == 0 && interactive),需要(  )个测试用例才能完成条件组合测试。

A、8

B、2

C、16

D、4

解析:

逻辑表达式中有两个条件,即"(w & 0xffff) == 0"和"interactive"。由于这两个条件是通过逻辑与(&&)连接的,因此需要考虑这两个条件的所有可能组合。每个条件都有两种可能的结果:真(true)或假(false)。因此,两个条件的总的可能组合数为2的2次方,即4个测试用例可以覆盖所有可能的条件组合,从而完成条件组合测试。因此,需要4个测试用例。

20、不同层次的存储介质的速度、成本和容量指标不同,如果按照存储介质存取速度从高到低的顺序排列,正确的是(  )。

A、寄存器-Cache-内存-外存

B、Cache-寄存器-内存-外存

C、寄存器-内存-Cache-外存

D、Cache-寄存器-外存-内存

解析:

不同层次的存储介质在速度、成本和容量方面确实有差异。按照存储介质存取速度从高到低的顺序排列,正确的是寄存器-Cache-内存-外存,因此答案选A。寄存器的存取速度最快,其次是Cache,接着是内存,最慢的是外存。

21、以下关于符合性测试评价报告的叙述中,不正确的是(  )。

A、应包含使用的文档及其标识

B、效果声明应写明测试结果和评价只与被测试和被评价项有关

C、应包含用于进行测试的所有软硬件系统的配置

D、当评价过程存在不符合项时,应在符合项清单中单独列出不符合项

解析:

符合性测试评价报告应包含用于进行测试的计算机系统,包括具体的硬件配置(如CPU型号和主频、内存大小、硬盘大小、网络设备等)和软件配置(如操作系统、数据库、中间件、浏览器、第三方软件等)的信息,以确保测试结果的准确性和完整性。选项C中的描述不够具体,没有明确指出应包含哪些具体的硬件配置和软件配置,因此是不正确的叙述。

22、绘制分层数据流图的方法不包括(  )。

A、抽象到具体

B、逐步求精

C、自底向上

D、逐层分解

解析:

绘制分层数据流图的方法不包括自底向上。绘制分层数据流图是根据自顶向下逐层分解的思想,将数据流图按照层次结构来绘制,包括抽象到具体、逐步求精和逐层分解等方法。因此,选项C是不正确的。

23、(  )是指多个实体间的相互关联。

A、联系实例

B、表

C、联系集

D、联系

解析:

联系是指多个实体间的相互关联,例如常见的2个实体间的联系类型有一对一、一对多、多对一、多对多四种情况。因此,正确答案为D。

24、模块A和模块B之间是标记耦合,则(  )。

A、这两个模块之间传递的是简单的数据值

B、这两个模块之间传递的是数据结构

C、这两个模块访问相同的公共数据

D、这两个模块之间传递的是控制变量

解析:

标记耦合指的是两个模块之间通过参数表(数据结构)传递记录信息。根据参照解析,选项A描述的是数据耦合,选项C是公共耦合,选项D是控制耦合。因此,选项B正确,这两个模块之间传递的是数据结构。

25、以下关于基于规格说明的测试技术中语法测试的叙述中,不正确的是(  )。

A、测试条件为输入的全部或部分语法模型

B、语法模型表示为多个规则

C、语法只能用严格的形式化文本来表示

D、对形式化方法描述的规格说明,可以使用形式化的语法进行测试设计

解析:

关于基于规格说明的测试技术中语法测试的叙述,C选项“语法只能用严格的形式化文本来表示”是不正确的。实际上,语法可以用文本或图形形式来表示。例如,巴科斯范式(Backus-Naur Form,BNF)是一种形式化元语言,它以文本形式来表示语法;而抽象语法树(Abstract Syntax Tree,AST)则以图形化的方式来表示形式化语法。因此,C选项是不正确的叙述。

26、以下关于性能效率测试的叙述中,不正确的是(  )。

A、用于评估在指定条件下使用资源的性能

B、如果达不到预期要求,可以给出系统的性能瓶颈

C、可以考察系统的可移植性,预估是否可以满足移植到其它平台的性能

D、其目的包括获得系统的性能表现情况等

解析:

性能效率测试主要用于评估系统在指定条件下的性能表现,包括使用资源的性能、系统的响应时间和吞吐量等。它可以帮助识别系统的性能瓶颈,并考察系统是否能够满足未来的负载需求。然而,性能效率测试并不涉及系统的可移植性测试,因此选项C是不正确的叙述。可移植性测试主要关注系统在不同平台或环境之间的兼容性,确保系统能够成功移植到其他平台上运行。

27、以下关于可靠性测试的叙述中,不正确的是(  )。

A、容错性测试用于评估当存在硬件或软件故障时,系统运行符合预期的程度

B、易恢复性测试用于评估当发生中断或失效时,系统能正常运行的程度

C、可用性测试用于评估系统在需要使用时能够进行操作和访问的程度

D、成熟性测试用于评估系统在正常运行时满足可靠性的程度

解析:

易恢复性测试用于评估当发生中断或失效时,系统能够恢复直接受影响的数据并重建期望的系统状态的程度。因此,选项B中的描述“易恢复性测试用于评估系统能正常运行的程度”是不准确的。

28、设某C程序中有以下变量声明(定义),则表达式(  )的值为0(即逻辑假)。

int a= 1,b=0;

char c = '0';

A、(a && b)||(a && c)

B、!(a||b)&& c

C、a||b && c

D、(a||!b) && (!a||c)

解析:

首先,我们需要知道逻辑运算符的优先级:逻辑与(&&)的优先级高于逻辑或(||)。在给定的变量声明中,我们有int a= 1,b=0;和char c = ‘0’;。接下来我们分析每个选项:

A. (a && b) || (a && c)
- 第一个括号内的表达式 a && b 为假(因为b为0),但 a && c 为真(因为a为1,c为字符’0’,在逻辑上非零值被视为真)。因此整个表达式为真。

B. !(a || b) && c
- a || b 的结果为真(因为a为1),然后对其取反得到假。后面的 && c 在逻辑与操作中,由于前面的假值,整个表达式的结果为假(即值为0)。

C. a || b && c
- 这个表达式没有使用括号明确指定运算顺序,但按照逻辑与的优先级高于逻辑或的规则,先计算b && c得到假(因为b为假),然后与a进行逻辑或操作,结果为真。

D. (a || !b) && (!a || c)
- (a || !b) 为真(因为a为1),后面是 && (!a || c),由于前面的真值,整个表达式的结果取决于(!a || c),由于a为1,所以 !a 为假,而c为真(字符’0’被视为真),因此整个表达式为真。

根据以上分析,只有选项B的表达式值为逻辑假(即值为0)。因此,正确答案是B。

29、不能通过(  )在一个关系中唯一地标识一个元组。

A、候选码

B、主码

C、超码

D、外码

解析:

在一个关系中,不能通过外码唯一地标识一个元组。外码是关系之间的一种引用关系,它表示一个关系中的属性(或属性组)是另一个关系的主码,但它本身并不具备在一个关系中唯一标识元组的能力。超码、候选码和主码则具备这种能力,因为它们是可以唯一标识关系中元组的属性或属性组合。因此,选项D是正确的。

30、电子邮件地址ruankao@163.com中,“ruankao”是(  )。

A、用户名

B、ISP名

C、域名

D、服务器名

解析:

电子邮件地址ruankao@163.com中,"ruankao"是用户名。电子邮件地址的一般格式为:用户名@主机名,因此,“ruankao”是用户名。

31、当一个信息包被创建并通过互联网传送时,存在无限期地从一个路由器传递到另一个路由器的风险。为避免这种风险,IP报文首部中定义了(  )字段。

A、分片偏移

B、首部校验和

C、TTL

D、TOS

解析:

根据描述,为避免信息包无限期地从路由器传递到另一个路由器,需要在IP报文首部中定义某种字段来限制其生存时间。TTL(Time To Live)字段正是起到这个作用,每当数据包经过一个路由器时,其TTL值会被减一,当TTL值为0时,路由器会丢弃该数据包。因此,选项C是正确的。

32、满足3NF的关系模式一定满足(  )。

A、5NF

B、4NF

C、2NF

D、BCNF

解析:

满足3NF的关系模式一定满足2NF。在数据库设计中,范式(Normal Form)是用来评价关系模式规范化的程度。常见的范式有1NF、2NF、3NF、BCNF等,其中3NF是比2NF更高一级的范式。因此,一个满足3NF的关系模式必定已经满足了更低级别的范式要求,包括2NF。所以正确答案是C。

33、需求规格说明书的内容不包括(  )。

A、软硬件或其他外部系统接口

B、功能需求

C、模块划分及之间的接口

D、质量属性

解析:

需求规格说明书的内容主要包括功能需求、软硬件或其他外部系统接口、性能需求、质量属性等方面的描述。而模块划分及之间的接口是软件设计阶段的产物,不属于需求规格说明书的内容。因此,选项C是正确答案。

34、以下关于维护性测试的叙述中,不正确的是(  )。

A、易测试性的目标是评估能够为系统建立测试准则,并通过测试执行来确定测试准则被满足的有效性和效率的程度

B、可重用性通过资产的可重用性、编码规则符合性来测试

C、易修改性测试从扩充系统应用、软件版本更新方式等方面进行验证

D、模块化测试根据用户文档集,从识别软件名称和版本号、软件运行中异常等方面进行测试

解析:

根据题目描述,关于维护性测试的叙述中,选项D中的描述不正确。易分析性测试内容确实包括根据用户文档集进行的测试,但主要侧重于软件名称、版本号、运行中的异常等方面的验证,而不是仅仅依据用户文档集进行模块化测试。因此,选项D是不正确的叙述。

35、以下关于软件测试分类的叙述中,不正确的是(  )。

A、按是否关联代码分为动态测试和静态测试

B、按测试实施主体分为开发方测试、用户方测试和第三方测试

C、按工程阶段分为单元测试、集成测试、系统测试、确认测试和验收测试

D、按软件质量特性分为功能性测试、性能效率测试等

解析:

在软件测试的分类中,按是否关联代码来分类,应该是分为白盒测试(已知软件内部逻辑结构)和黑盒测试(只关注输入和输出),而不是动态测试和静态测试。因此,选项A中的描述是不正确的。其他选项描述了软件测试的不同分类方式,都是正确的。

36、在关系模型中,用(  )来指代行。

A、关系

B、属性

C、元组

D、实例

解析:

在关系模型中,用元组来指代行。元组是关系表中的一行数据,包含了对应行的所有属性值。因此,正确答案为C。

37、以下关于信息安全测试的真实性测试的叙述中,不正确的是(  )。

A、需要评估系统提供的鉴别机制的数量是否满足规定的鉴别技术数量

B、其目标是评估对象或资源的身份标识能够被证实符合其声明的程度

C、需要评估系统提供的鉴别规则是否与设计说明书中规定的鉴别规则一致

D、若采用用户名密码的方式鉴别用户身份,用户密码应具备一定的复杂性

解析:

信息安全测试的真实性测试的目的是评估系统是否能够正确地鉴别用户身份,确保只有经过授权的用户才能访问系统资源。在测试过程中,确实需要评估系统提供的鉴别机制的数量是否满足规定的鉴别技术数量(选项A),同时需要确保这些鉴别机制能够符合其声明的程度(选项B)。对于采用用户名密码的方式鉴别用户身份的情况,用户密码确实应该具备一定的复杂性以增强安全性(选项D)。然而,关于需要评估系统提供的鉴别规则是否与设计说明书中规定的鉴别规则一致的说法是不正确的。实际上,应该评估系统的鉴别规则是否与需求规格说明书或产品说明中规定的鉴别规则一致,而不是设计说明书中的规则。因此,不正确的选项是C。

38、事务的ACID属性不包括(  )。

A、持久性

B、一致性

C、并发性

D、原子性

解析:

事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。因此,选项C“并发性”不属于事务的ACID属性。

39、对C语言源程序进行编译的过程中,能找出程序中存在的(  )错误。

A、变量未声明

B、指针异常

C、数组元素下标越界

D、堆栈溢出

解析:

在C语言源程序的编译过程中,主要可以找出的是语法错误,如变量未声明等静态错误。编译错误是程序在不运行状态下发现的,只有选项A中的变量未声明这类错误可以在编译过程中被编译器识别并提示。而其他选项中的错误类型(如指针异常、数组元素下标越界、堆栈溢出等)都需要运行程序才能发现,因此不会在编译过程中被找出。

40、在软件质量因素中,软件在异常条件下仍能正常运行的能力称为软件的(  )。

A、健壮性

B、安全性

C、可靠性

D、可用性

解析:

软件的健壮性是指软件在异常条件下仍能正常运行的能力,也被称为鲁棒性。它指的是软件对于规范要求以外的输入情况的处理能力,能够判断出这个输入不符合规范要求,并能有合理的处理方式。因此,选项A“健壮性”是正确答案。选项B“安全性”关注的是软件保护数据和程序不受破坏的能力;选项C“可靠性”关注的是软件在特定条件下完成特定任务的能力;选项D“可用性”关注的是软件易于学习和使用以及用户交互的效率。这三个选项与题目的描述不符。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2024年05月软件评测师上午题答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share