Ruankao Software Evaluator (Intermediate) study materials
Ruankao Software Evaluator (Intermediate) study resources

Ruankao Software Evaluator (Intermediate) practice questions

One question at a time. Build your Ruankao Software Evaluator (Intermediate) understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Computer Fundamentals and Software Engineering

在软件能力成熟度模型CMMI中,将组织的过程改进等级划分为五个等级,其中关注点从“项目管理”转向“量化管理”的关键等级是:

  1. 已定义级(第3级)
  2. 量化管理级(第4级) Correct answer.
  3. 优化级(第5级)
  4. 已管理级(第2级)

Explanation

CMMI第4级为量化管理级,要求组织使用统计与量化技术对过程性能和产品质量进行度量与控制。第2级关注项目级管理,第3级关注组织级标准过程,第5级关注持续过程改进。因此从定性管理转向定量管理的关键跃迁发生在第4级。

Question 2Computer Fundamentals and Software Engineering

某软件企业采用敏捷开发,团队在每个迭代结束时交付可运行软件并邀请客户评审。这种做法的核心价值最符合敏捷宣言中的哪一条?

  1. 可工作的软件高于详尽的文档 Correct answer.
  2. 个体和互动高于流程和工具
  3. 客户合作高于合同谈判
  4. 响应变化高于遵循计划

Explanation

敏捷宣言强调“可工作的软件高于详尽的文档”,其含义是通过持续交付可运行的增量来证明进度与价值,而非依赖文档描述。迭代末交付可运行软件并演示,正是这一价值观的直接体现。客户合作与响应变化虽与评审相关,但核心落点是可运行增量。

Question 3Computer Fundamentals and Software Engineering

在结构化分析方法中,数据流图(DFD)用于描述系统的功能与数据流动,下列元素中不属于DFD基本组成元素的是:

  1. 外部实体
  2. 数据存储
  3. 控制流 Correct answer.
  4. 加工(处理)

Explanation

DFD的四种基本元素是外部实体、加工、数据流和数据存储,用来刻画数据在系统中的变换与流动。控制流描述的是程序执行的时序与条件,属于程序流程图或状态图的表达范畴。因此控制流不属于DFD的组成元素。

Question 4Computer Fundamentals and Software Engineering

某模块的扇入为5、扇出为3,则该模块在结构图中的耦合与规模特征最恰当的判断是:

  1. 该模块被较多上层模块调用,属于公共底层模块,需重点保证其接口稳定 Correct answer.
  2. 该模块扇出大于扇入,说明其内聚度必然很低
  3. 该模块调用较多下层模块,属于控制型高层模块,应优先拆分
  4. 该模块扇入与扇出相等,说明结构图中存在循环调用

Explanation

扇入指有多少上层模块调用该模块,扇出指该模块调用多少下层模块。扇入为5说明它是被多个模块复用的公共底层模块,接口变更影响面大,应重点保证稳定性。扇入与扇出的大小关系不能直接推断耦合、内聚或是否存在循环调用。

Question 5Computer Fundamentals and Software Engineering

在软件测试中,白盒测试的语句覆盖要求是:

  1. 程序中的每条路径至少执行一次
  2. 每条判定语句的真假分支至少各执行一次
  3. 程序中每条可执行语句至少执行一次 Correct answer.
  4. 每个判定的每个条件的所有取值组合至少出现一次

Explanation

语句覆盖是最弱的逻辑覆盖准则,只要求程序中每条可执行语句至少被执行一次。判定覆盖关注每个判定的真假分支,条件组合覆盖关注条件取值组合,路径覆盖关注路径。它们依次比语句覆盖更强。

Question 6Computer Fundamentals and Software Engineering

某程序含两个相互独立的判定,若采用判定覆盖设计测试用例,至少需要的用例数是:

  1. 3
  2. 2 Correct answer.
  3. 1
  4. 4

Explanation

判定覆盖要求每个判定至少取真、取假各一次。由于两个判定相互独立,一个用例可同时使两个判定取真,另一个用例可同时使两个判定取假,因此最少2个用例即可满足。若要覆盖两个判定的全部四种真假组合,则需要4个用例。

Question 7Computer Fundamentals and Software Engineering

在软件工程中,McCabe环路复杂度用于度量程序的逻辑复杂性,其值等于:

  1. 程序中的变量个数
  2. 模块之间的调用边数
  3. 程序中的语句总数
  4. 判定节点数加1 Correct answer.

Explanation

McCabe环路复杂度V(G)等于控制流图中判定节点数加1,也等于边数减节点数加2,或等于线性无关路径数。它反映的是程序控制流的复杂程度,与语句总数、变量个数无直接关系。因此判定节点数加1是正确表述。

Question 8Computer Fundamentals and Software Engineering

某函数控制流图的判定节点数为6,则其McCabe环路复杂度为:

  1. 7 Correct answer.
  2. 12
  3. 5
  4. 6

Explanation

按McCabe定义,环路复杂度V(G)等于判定节点数加1。判定节点数为6时,V(G)=6+1=7,表示该函数至少有7条线性无关路径需要测试。因此正确结果为7。

Question 9Computer Fundamentals and Software Engineering

在软件维护分类中,为适应运行环境变化(如操作系统升级、数据库版本变更)而修改软件的活动属于:

  1. 预防性维护
  2. 适应性维护 Correct answer.
  3. 纠正性维护
  4. 完善性维护

Explanation

适应性维护指为使软件适应外部环境变化(硬件、操作系统、编译器等)而进行的修改。纠正性维护针对已发现的缺陷,完善性维护针对新增功能与性能提升,预防性维护针对未来可维护性。因此环境变化引起的修改属于适应性维护。

Question 10Computer Fundamentals and Software Engineering

某系统上线后用户反馈某功能计算结果错误,开发人员定位并修复了该缺陷。按照维护工作量占比的一般规律,这类维护活动属于哪一类?

  1. 预防性维护
  2. 纠正性维护 Correct answer.
  3. 完善性维护
  4. 适应性维护

Explanation

纠正性维护指对软件运行中发现的错误进行诊断和修复,题干中计算结果错误属于功能性缺陷,修复活动即纠正性维护。虽然在实际维护工作量中完善性维护占比通常最大,但本题针对的是单个缺陷修复行为,应归为纠正性维护。

Question 11Computer Fundamentals and Software Engineering

在软件配置管理中,基线(baseline)的作用是:

  1. 记录开发人员的每日工作日志
  2. 自动生成程序源代码
  3. 为配置项提供一个稳定的、经评审确认的参照点,其变更须受控 Correct answer.
  4. 替代需求规格说明书的全部内容

Explanation

基线是经过评审和批准的一组配置项,构成后续开发与变更控制的稳定参照点。基线一经建立,对其变更必须走变更控制流程。基线并不等同于需求文档,也不能自动生成代码或记录工作日志。

Question 12Computer Fundamentals and Software Engineering

某项目在需求阶段冻结了需求基线,之后客户提出新增功能。按照配置管理规范,最恰当的处理方式是:

  1. 提交变更申请,经变更控制委员会评估批准后实施并记录 Correct answer.
  2. 先实现功能,待项目结项时再补办变更手续
  3. 拒绝该变更,因为基线一旦建立不可更改
  4. 由开发人员直接修改代码并同步更新需求文档

Explanation

基线建立后并非不可变更,而是必须通过正式的变更控制流程:提出变更申请、由变更控制委员会评估影响、批准后实施,并做好配置记录与版本追踪。直接修改或事后补办都会破坏配置的可追溯性。

Question 13Computer Fundamentals and Software Engineering

在软件需求工程中,用于描述系统与外部参与者之间交互行为、强调事件顺序的UML图是:

  1. 类图
  2. 用例图
  3. 顺序图 Correct answer.
  4. 部署图

Explanation

顺序图属于交互图,按时间顺序展示对象之间消息的传递,强调交互的事件次序。类图描述静态结构,用例图描述参与者与系统功能的边界关系,部署图描述物理节点部署。因此强调事件顺序的交互图是顺序图。

Question 14Computer Fundamentals and Software Engineering

某团队需要表达一个对象在其生命周期内对事件的响应以及状态迁移,最合适的UML图是:

  1. 活动图
  2. 对象图
  3. 状态机图 Correct answer.
  4. 组件图

Explanation

状态机图刻画单个对象在生命周期中经历的状态以及触发状态迁移的事件,适合表达对象的行为随事件变化的规律。活动图强调控制流与并发活动,组件图和对象图属于结构建模。因此描述状态迁移应选状态机图。

Question 15Computer Fundamentals and Software Engineering

在软件项目管理中,关键路径法(CPM)所指的关键路径是:

  1. 风险最高的活动所组成的路径
  2. 网络图中总持续时间最长的路径,决定项目最短工期 Correct answer.
  3. 项目中成本最高的活动序列
  4. 包含活动数量最多的路径

Explanation

关键路径是项目网络图中从起点到终点总持续时间最长的路径,它决定了项目的最短可能完成时间。关键路径上的活动没有浮动时间,任一延误都会导致项目延期。关键路径与成本高低、活动数量多少没有必然关系。

Question 16Computer Fundamentals and Software Engineering

某项目网络图中,某活动的最早开始时间为第8天,最晚开始时间为第11天,则该活动的总浮动时间为:

  1. 3天 Correct answer.
  2. 11天
  3. 19天
  4. 8天

Explanation

总浮动时间等于最晚开始时间减去最早开始时间,即11-8=3天。浮动时间表示活动在不影响项目总工期的前提下可以推迟的时间量。浮动时间为0的活动位于关键路径上。

Question 17Computer Fundamentals and Software Engineering

在软件质量模型中,ISO/IEC 25010将“在规定条件下软件在规定时间段内完成规定功能的能力”定义为:

  1. 易用性
  2. 可靠性 Correct answer.
  3. 可移植性
  4. 可维护性

Explanation

可靠性指系统在规定条件和规定时间内执行规定功能的能力,通常用平均无故障时间等指标度量。可维护性关注修改的难易,易用性关注用户使用的有效性,可移植性关注跨环境迁移能力。因此该定义对应可靠性。

Question 18Computer Fundamentals and Software Engineering

某软件对输入参数不进行合法性校验,攻击者通过构造特殊输入导致程序缓冲区溢出。该缺陷最直接对应的软件质量属性是:

  1. 可维护性
  2. 性能效率
  3. 安全性 Correct answer.
  4. 兼容性

Explanation

安全性包含保密性、完整性和抗抵赖性等子特性,其中对输入进行校验以抵御恶意输入是安全性的基本要求。缓冲区溢出属于典型的安全漏洞。性能、兼容性与可维护性均不直接描述抵御恶意攻击的能力。

Question 19Computer Fundamentals and Software Engineering

在面向对象设计中,里氏替换原则(LSP)要求:

  1. 子类必须完全复制父类的实现代码
  2. 类应当只包含一个方法
  3. 任何父类出现的地方都可以用子类对象替换而不破坏程序正确性 Correct answer.
  4. 高层模块应当直接依赖具体实现类

Explanation

里氏替换原则要求子类型能够替换其基类型而不改变程序的正确性,即子类应遵守父类设定的行为契约。这通常意味着子类不应强化前置条件或弱化后置条件。复制实现、单一方法、依赖具体实现均与该原则无关。

Question 20Computer Fundamentals and Software Engineering

某系统定义抽象类Shape,其子类Circle与Square均实现area()方法,客户端代码仅依赖Shape接口计算面积。该设计主要体现了哪一设计原则?

  1. 单一职责原则
  2. 依赖倒置原则 Correct answer.
  3. 接口隔离原则
  4. 开闭原则

Explanation

依赖倒置原则要求高层模块和低层模块都依赖抽象,抽象不依赖细节。客户端仅依赖Shape抽象而调用area(),即依赖抽象而非具体类,正是依赖倒置的体现。若新增图形无需修改客户端,也同时满足开闭原则,但题干强调依赖抽象这一核心特征。

Question 21Computer Fundamentals and Software Engineering

在软件设计模式中,观察者模式的主要意图是:

  1. 定义对象间一对多的依赖关系,当一个对象状态改变时自动通知所有依赖者 Correct answer.
  2. 将抽象部分与实现部分分离,使二者可独立变化
  3. 为子系统提供统一的简化接口
  4. 保证一个类只有一个实例

Explanation

观察者模式建立主题与观察者之间的一对多依赖,主题状态变化时自动通知并更新所有观察者,实现发布订阅式的松耦合。单例模式保证唯一实例,桥接模式分离抽象与实现,外观模式提供统一接口。

Question 22Computer Fundamentals and Software Engineering

某系统需要为不同数据库提供统一的数据访问入口,同时屏蔽底层多种数据库驱动的差异,且未来可能新增数据库类型。最适宜采用的设计模式是:

  1. 适配器模式
  2. 观察者模式
  3. 外观模式 Correct answer.
  4. 单例模式

Explanation

外观模式为复杂的子系统提供统一的高层接口,使客户端无需了解底层多个驱动的差异,符合“统一入口、屏蔽差异”的需求。适配器虽可转换接口,但通常针对单个不兼容接口,而非为多驱动子系统提供统一门面。

Question 23Computer Fundamentals and Software Engineering

在软件逆向工程与再工程中,对已有系统进行分析以恢复其设计信息、但不改变系统本身的活动称为:

  1. 再工程
  2. 逆向工程 Correct answer.
  3. 重构
  4. 前向工程

Explanation

逆向工程是对现有系统进行分析以识别其构件及相互关系、建立更高层抽象表示的过程,本身不改变系统。重构是在不改变外部行为的前提下改善内部结构,再工程则是在逆向工程基础上重建系统。前向工程指从需求出发的正常开发过程。

Question 24Computer Fundamentals and Software Engineering

某遗留系统业务逻辑仍正确,但代码结构混乱、缺少文档,团队决定在保持外部行为不变的前提下整理代码结构、提取方法并消除重复。该活动属于:

  1. 再工程
  2. 重构 Correct answer.
  3. 逆向工程
  4. 软件移植

Explanation

重构是在不改变软件外部可观察行为的前提下,改善其内部结构的一系列活动,如提取方法、消除重复代码。逆向工程是恢复设计信息,再工程是更大范围的系统重建,移植是更换运行平台。因此该活动属于重构。

Question 25Software Testing Fundamentals and Process Models

在软件能力成熟度模型(CMMI)中,过程改进的五个成熟度级别里,哪一个级别的核心特征是组织建立了量化的过程目标并用统计方法管理过程绩效?

  1. 优化级(第5级)
  2. 已定义级(第3级)
  3. 已管理级(第2级)
  4. 量化管理级(第4级) Correct answer.

Explanation

CMMI 第4级称为量化管理级,组织在此级别为质量与过程绩效建立量化目标,并运用统计过程控制方法管理子过程。第5级侧重基于量化数据的持续过程改进,而非建立量化管理本身。

Question 26Software Testing Fundamentals and Process Models

某测试团队采用 V 模型组织开发与测试活动,下列关于 V 模型的说法中正确的是?

  1. 需求分析阶段对应验收测试,测试计划在该阶段即开始编写 Correct answer.
  2. 编码完成后才开始编写所有层次的测试计划
  3. 单元测试计划在详细设计阶段编写,用于验证详细设计
  4. V 模型只适用于敏捷开发,不适用于传统瀑布项目

Explanation

V 模型强调测试活动与开发阶段的一一对应:需求分析对应验收测试,概要设计对应系统测试,详细设计对应集成测试,编码对应单元测试。并且测试计划与用例设计在对应的开发阶段早期就启动,以尽早发现缺陷。

Question 27Software Testing Fundamentals and Process Models

在软件测试基本原则中,关于“缺陷集群性(Pareto 原则)”的描述,下列哪一项最准确?

  1. 测试用例应由独立于开发的人员设计
  2. 穷尽测试是不可能的,需基于风险选择测试范围
  3. 大多数缺陷集中在少数模块中,应重点测试这些模块 Correct answer.
  4. 测试应尽早开始以降低修复成本

Explanation

缺陷集群性指出缺陷并非均匀分布,通常约80%的缺陷集中在约20%的模块中,因此应根据历史缺陷数据对高风险模块加大测试投入。这一原则与尽早测试、穷尽测试不可能等原则是不同的测试原则。

Question 28Software Testing Fundamentals and Process Models

某项目采用增量开发模型,每个增量交付后都需回归验证此前增量功能未被破坏。下列测试类型中最适合承担该职责的是?

  1. 负载测试
  2. 验收测试
  3. 探索性测试
  4. 回归测试 Correct answer.

Explanation

回归测试的目的是在软件修改或新增增量后,确认原有功能未被破坏,因此适合在每次增量交付后重复执行。探索性测试侧重同时学习和设计测试,验收测试关注用户需求满足,负载测试关注性能。

Question 29Software Testing Fundamentals and Process Models

在敏捷开发中,下列哪项活动通常在每个 Sprint 结束时进行,用于检视产品增量并收集反馈?

  1. 每日站会
  2. Sprint 回顾会议
  3. Sprint 计划会议
  4. Sprint 评审会议 Correct answer.

Explanation

Sprint 评审会议在 Sprint 结束时召开,团队向利益相关者演示可工作的产品增量并收集反馈,以调整产品待办列表。Sprint 回顾会议则聚焦团队自身过程改进,二者目的不同。

Question 30Software Testing Fundamentals and Process Models

关于静态测试与动态测试的区别,下列说法正确的是?

  1. 静态测试只能发现编码错误,无法发现设计文档中的问题
  2. 静态测试需要运行被测程序,动态测试不需要运行程序
  3. 静态测试通过评审和静态分析发现缺陷,动态测试通过运行程序观察结果 Correct answer.
  4. 动态测试不需要测试用例,静态测试必须设计测试用例

Explanation

静态测试不运行程序,依靠评审、走查和静态分析工具检查文档与代码;动态测试则通过执行程序并观察实际结果与预期结果的差异来发现缺陷。两者互补,均需系统化的方法支持。

Question 31Software Testing Fundamentals and Process Models

在软件测试过程中,测试用例设计活动最应依据下列哪组输入?

  1. 测试需求、设计规格说明与风险分析结果 Correct answer.
  2. 用户培训手册与运维操作指南
  3. 项目预算表与人员排期表
  4. 缺陷修复记录与版本发布说明

Explanation

测试用例设计需要以可测试的需求、设计规格说明以及风险分析结果为依据,从而确定测试条件并覆盖关键功能与高风险区域。预算、排期属于管理输入,缺陷记录更多用于回归与测试改进。

Question 32Software Testing Fundamentals and Process Models

下列关于软件测试目的的描述中,最符合软件评测师考试所依据的测试理念的是?

  1. 测试的目的是发现缺陷并评估软件质量,为质量决策提供信息 Correct answer.
  2. 测试的目的是替代开发阶段的设计评审
  3. 测试的目的是证明软件中不存在任何缺陷
  4. 测试的目的是向客户展示软件功能可正常运行

Explanation

测试的基本目的是尽早发现缺陷、评估产品质量并降低质量风险,为发布决策提供客观信息。测试无法证明软件无缺陷,也不是单纯的演示活动或评审的替代品。

Question 33Software Testing Fundamentals and Process Models

某模块输入参数要求为 1 到 100 之间的整数。采用等价类划分法,下列哪组划分同时包含有效等价类与无效等价类?

  1. {1..50}、{51..100}
  2. {1..100}、{小于1}、{大于100} Correct answer.
  3. {整数}、{非整数}
  4. {1}、{100}

Explanation

等价类划分需将输入域划分为有效等价类与无效等价类。对 1 到 100 的约束,有效类为 1 至 100,无效类为小于 1 和大于 100,从而以最少用例覆盖各类。

Question 34Software Testing Fundamentals and Process Models

某程序要求输入年龄为 18 至 60(含端点)。采用边界值分析法,最少应选取哪组测试数据?

  1. 17、61
  2. 17、18、60、61 Correct answer.
  3. 18、30、60
  4. 18、60

Explanation

边界值分析关注边界上、边界内和边界外的取值。对闭区间 18 至 60,应选取下边界 18、上边界 60 以及紧邻的无效值 17 和 61,才能同时验证边界接受与拒绝行为。

Question 35Software Testing Fundamentals and Process Models

某登录功能要求用户名长度为 6 到 12 个字符且只能包含字母。若采用决策表设计测试用例,下列哪一项最可能作为条件桩(条件项)出现?

  1. 用户是否点击登录按钮
  2. 数据库服务器的响应时间
  3. 测试人员的工作经验
  4. 用户名长度是否在 6 到 12 之间 Correct answer.

Explanation

决策表以影响处理逻辑的条件组合为条件桩,用户名长度是否符合要求直接决定校验结果,是典型的条件项。按钮点击属于操作触发,响应时间与人员经验均不影响该业务规则判定。

Question 36Software Testing Fundamentals and Process Models

某系统状态机包含“未登录-已登录-锁定”三种状态,从“已登录”可因连续输错密码进入“锁定”。按状态转换测试设计用例,至少需要覆盖什么?

  1. 仅覆盖最常走的登录路径
  2. 覆盖所有合法状态转换以及非法转换的处理 Correct answer.
  3. 覆盖所有输入数据的等价类
  4. 仅覆盖所有合法状态

Explanation

状态转换测试要求覆盖状态图中的合法转换,并验证非法转换被正确拒绝,从而发现状态控制逻辑缺陷。仅覆盖状态或主路径会遗漏异常转换处理。

Question 37Software Testing Fundamentals and Process Models

在使用判定覆盖(分支覆盖)设计测试用例时,下列描述正确的是?

  1. 要求每个判定的真、假分支至少各执行一次 Correct answer.
  2. 要求程序中每条可执行语句至少执行一次
  3. 要求循环体至少执行零次和一次
  4. 要求每个判定中的每个条件的可能取值至少出现一次

Explanation

判定覆盖要求每个判定的取真与取假结果都至少出现一次,因此每个分支至少被执行一次。语句覆盖只关注语句执行,条件覆盖关注判定内部各条件的取值,三者强度不同。

Question 38Software Testing Fundamentals and Process Models

某段代码包含判定 A 与判定 B,其中判定 A 由条件 a1 与 a2 组成。若测试集满足条件组合覆盖,则下列说法正确的是?

  1. 测试集必然满足判定覆盖 Correct answer.
  2. 测试集必然满足路径覆盖
  3. 测试集必然满足条件覆盖但不必满足判定覆盖
  4. 测试集只需覆盖 a1 与 a2 各取真一次

Explanation

条件组合覆盖要求每个判定中所有原子条件的全部取值组合至少出现一次,因此每个判定的真、假结果都会出现,必然满足判定覆盖。但它不保证覆盖所有执行路径。

Question 39Software Testing Fundamentals and Process Models

在集成测试中,采用自顶向下策略时,为模拟尚未开发的底层模块,需要编写什么?

  1. 桩模块(stub) Correct answer.
  2. 驱动模块(driver)
  3. 测试夹具(fixture)
  4. 测试预言(oracle)

Explanation

自顶向下集成从上层模块开始,需要桩模块模拟被调用的下层模块,返回预设结果。驱动模块用于自底向上策略中调用被测的上层模块。测试预言用于判定结果正确性,测试夹具用于准备测试环境。

Question 40Software Testing Fundamentals and Process Models

某团队采用冒烟测试作为构建准入检查。下列关于冒烟测试的描述最恰当的是?

  1. 对系统全部功能进行穷尽验证
  2. 只在产品发布前执行一次
  3. 对核心功能进行快速验证以决定构建是否值得进一步测试 Correct answer.
  4. 专门用于测量系统吞吐量

Explanation

冒烟测试针对构建版本的核心功能进行快速验证,用于判断该构建是否稳定到可以进入后续更深入的测试。它能及早拒绝严重缺陷的构建,节省测试资源。

Question 41Software Testing Fundamentals and Process Models

在缺陷生命周期中,测试人员提交缺陷后,开发人员认为该现象属于设计允许的行为而拒绝修改,此时缺陷通常进入哪个状态?

  1. 已修复(Fixed)
  2. 重新打开(Reopened)
  3. 已关闭(Closed)
  4. 已拒绝(Rejected) Correct answer.

Explanation

当开发人员判定报告的现象并非缺陷或不予修改时,缺陷被置为拒绝状态,并需说明理由,由测试人员复核。若复核后仍认为存在问题,可进一步升级或重新打开。

Question 42Software Testing Fundamentals and Process Models

关于软件测试计划的编制时机与内容,下列说法正确的是?

  1. 测试计划只需列出测试人员名单即可
  2. 测试计划应在测试执行全部结束后编写,以总结测试工作
  3. 测试计划应在项目早期编制,并随项目进展进行评审与更新 Correct answer.
  4. 测试计划一经批准便不得修改

Explanation

测试计划属于早期测试活动,应在需求阶段启动编制,明确范围、策略、资源、进度与风险,并在项目推进中根据变更进行评审和更新。它包含的内容远不止人员名单。

Question 43Software Testing Fundamentals and Process Models

某项目需求频繁变更且交付周期短,团队希望以迭代方式持续交付可工作的软件。下列过程模型中最契合该情形的是?

  1. 瀑布模型
  2. 敏捷开发模型 Correct answer.
  3. 螺旋模型
  4. V 模型

Explanation

敏捷开发以短迭代、持续交付可工作软件和响应变化为核心价值,适合需求频繁变更、周期短的项目。瀑布与 V 模型强调阶段顺序和文档基线,对变更的适应能力较弱。

Question 44Software Testing Fundamentals and Process Models

在螺旋模型中,每一轮螺旋通常包含的四个象限活动依次是?

  1. 编码、测试、部署、维护
  2. 需求、设计、实现、验收
  3. 确定目标与约束、风险分析与降低、开发与验证、评审与计划下一轮 Correct answer.
  4. 计划、执行、检查、处理

Explanation

螺旋模型每一轮迭代包含四个象限:确定本轮目标与约束、进行风险分析并采取降低风险的措施、开发并验证产品、由客户评审并规划下一轮。其显著特点是风险驱动的迭代演进。

Question 45Software Testing Fundamentals and Process Models

某测试团队在需求评审中发现一处需求描述存在歧义,可能导致开发与测试理解不一致。该缺陷最恰当的归类是?

  1. 代码缺陷
  2. 界面缺陷
  3. 需求缺陷 Correct answer.
  4. 性能缺陷

Explanation

需求描述歧义属于需求阶段工作产品的缺陷,应在需求评审中记录并跟踪修改,避免其流入设计与编码阶段放大修复成本。缺陷分类应依据缺陷所在的工作产品与产生阶段。

Question 46Software Testing Fundamentals and Process Models

某团队对同一被测系统分别采用语句覆盖与判定覆盖设计测试集,测得语句覆盖率为 100%,判定覆盖率为 85%。下列分析最合理的是?

  1. 说明判定覆盖率无需关注,语句覆盖已足够
  2. 说明语句覆盖率的统计有误,两者必然相等
  3. 说明测试集已充分,可以停止测试
  4. 说明存在未被执行的判定分支,应补充用例提升判定覆盖 Correct answer.

Explanation

语句覆盖 100% 而判定覆盖不足,说明所有语句都被执行过,但部分判定的某个分支从未被走到,典型情形是短路求值或复合条件。判定覆盖通常强于语句覆盖,应补充用例覆盖未执行分支。

Question 47Software Testing Fundamentals and Process Models

某程序对输入金额执行如下处理:若金额大于 1000 则打九折,否则不打折;同时对金额为负数的输入应报错。若仅用等价类划分设计用例,下列哪一设计最可能遗漏缺陷?

  1. 仅测试金额为 500 的输入 Correct answer.
  2. 测试 500、1500 与 -1 三个输入
  3. 测试 1000 与 1001 两个输入
  4. 仅测试金额为 1500 的输入

Explanation

仅测试 500 只覆盖了“不打折”这一有效等价类,既未覆盖“打九折”分支,也未覆盖负数无效等价类,容易遗漏分支逻辑与错误处理缺陷。合理设计应覆盖各有效类与无效类。

Question 48Software Testing Fundamentals and Process Models

某项目采用持续集成,每次代码提交都触发自动化回归测试。若回归测试集运行时间过长导致反馈延迟,下列改进措施中最合理的是?

  1. 将所有手工测试改为随机点击测试
  2. 按风险与变更影响对用例分级,提交时运行快速核心集,夜间运行全量集 Correct answer.
  3. 取消回归测试以缩短反馈时间
  4. 要求开发人员停止提交代码直至测试集缩减完成

Explanation

回归测试集可按风险、使用频率和与变更的关联度分级,形成快速反馈的冒烟/核心集与周期性执行的全量集,从而在保证覆盖率的同时控制反馈时间。取消回归会显著增加回归缺陷风险。

Question 49Software Testing Fundamentals and Process Models

某团队在评审测试用例时发现,大量用例仅验证正常业务流程,异常流程与边界条件覆盖不足。从测试过程改进角度看,最有效的系统性措施是?

  1. 要求开发人员自行完成全部异常测试
  2. 增加测试执行轮次以弥补覆盖不足
  3. 减少需求评审以节省时间投入用例编写
  4. 在用例设计阶段引入基于风险的测试分析与覆盖准则检查 Correct answer.

Explanation

覆盖不足的根因在于设计阶段的测试分析不充分,应在用例设计时结合风险分析识别高风险场景,并用覆盖准则(如判定覆盖、边界值)检查用例完备性。单纯增加执行轮次无法弥补设计层面的遗漏。

Question 50Software Testing Fundamentals and Process Models

在软件测试过程模型中,V模型将测试级别与开发阶段对应起来。下列关于V模型的描述中,正确的是哪一项?

  1. V模型中的测试仅包含动态执行,不包含任何评审活动
  2. 验收测试主要验证模块内部逻辑结构是否正确
  3. 所有测试活动都集中在编码完成之后统一进行
  4. 单元测试与编码阶段相对应,系统测试与需求分析阶段相对应 Correct answer.

Explanation

V模型的左侧为开发阶段(需求分析、概要设计、详细设计、编码),右侧为对应的测试级别,编码对应单元测试,需求分析对应系统测试与验收测试,因此测试计划可以提前在开发阶段编制。该模型强调测试与开发阶段的对应关系,使各测试级别有明确的依据。