软件评测师 · 高频练习

判定覆盖和条件覆盖怎么区分?

中级 单选题 第 615 题 中等 软件评测师白盒测试判定覆盖条件覆盖测试覆盖准则
题目

某程序中有判断语句 if (A && B)。测试人员希望让整个判断结果至少出现一次真、一次假;另一个测试目标是让条件 A 和条件 B 本身都至少取到一次真、一次假。关于这两个覆盖目标,下列说法较合理的是()。

A 前者更偏判定覆盖,后者更偏条件覆盖
B 前者是数据库事务,后者是路由聚合
C 只要语句执行一次,就一定满足所有覆盖准则
D 条件覆盖永远不需要关注条件取值
题目类型:原创高频考点题 用途:用于帮助理解软件评测师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

判定覆盖关注每个判定的整体结果是否至少取到真和假;条件覆盖关注每个基本条件本身是否至少取到真和假。以 if (A && B) 为例,判定结果是整个 A && B 的真假,条件则是 A、B 两个基本条件。二者有联系,但不能互相等同。

选项分析

A

正确。整体判定结果对应判定覆盖,基本条件取值对应条件覆盖。

B

错误。数据库事务和路由聚合与测试覆盖准则无关。

C

错误。语句执行一次只能说明语句覆盖可能满足,不能保证判定、条件和路径覆盖。

D

错误。条件覆盖正是关注基本条件的真假取值。

本题为什么容易错

这题容易把“判定”和“条件”混成一个东西。判定是整个判断表达式,条件是表达式里的基本逻辑项。一个判定里可能有多个条件。

先看结论

简短答案

判定覆盖和条件覆盖怎么区分,正确答案是 A(前者更偏判定覆盖,后者更偏条件覆盖)。判定覆盖关注每个判定的整体结果是否至少取到真和假;条件覆盖关注每个基本条件本身是否至少取到真和假。以 if (A && B) 为例,判定结果是整个 A && B 的真假,条件则是 A、B 两个基本条件。二者有联系,但不能互相等同。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
前者更偏判定覆盖,后者更偏条件覆盖 本题正确答案 正确。整体判定结果对应判定覆盖,基本条件取值对应条件覆盖。 看到题干核心场景时优先联想到它
前者是数据库事务,后者是路由聚合 本题干扰项 错误。数据库事务和路由聚合与测试覆盖准则无关。 看到该词不要急着选,先判断是否真正解决题干问题
只要语句执行一次,就一定满足所有覆盖准则 本题干扰项 错误。语句执行一次只能说明语句覆盖可能满足,不能保证判定、条件和路径覆盖。 看到该词不要急着选,先判断是否真正解决题干问题
条件覆盖永远不需要关注条件取值 本题干扰项 错误。条件覆盖正是关注基本条件的真假取值。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 前者是数据库事务,后者是路由聚合:错误。数据库事务和路由聚合与测试覆盖准则无关。
  • 只要语句执行一次,就一定满足所有覆盖准则:错误。语句执行一次只能说明语句覆盖可能满足,不能保证判定、条件和路径覆盖。
  • 条件覆盖永远不需要关注条件取值:错误。条件覆盖正是关注基本条件的真假取值。
复习

知识点详解

测试覆盖准则是软件评测师考试中需要结合场景理解的考点。围绕“判定覆盖和条件覆盖怎么区分”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某程序中有判断语句 if (A && B)。测试人员希望让整个判断结果至少出现一次真、一次假;另一个测试目标是让条件 A 和条件 B 本身都至少取到一次真、一次假。关于这两个覆盖目标,下列说法较合理的是()”,它指向的核心答案是 A(前者更偏判定覆盖,后者更偏条件覆盖)。

备考速记

备考速记:题干如果强调“测试覆盖准则”中的关键目标,就先联想到 测试覆盖准则;如果选项里出现 前者是数据库事务,后者是路由聚合、只要语句执行一次,就一定满足所有覆盖准则、条件覆盖永远不需要关注条件取值,不要只看名称熟悉,要判断它们是否真正对应题干场景。

测试覆盖准则在测试覆盖准则场景中的作用

测试覆盖准则在本题中的核心价值,是解决“某程序中有判断语句 if (A && B)。测试人员希望让整个判断结果至少出现一次真、一次假;另一个测试目标是让条件 A 和条件 B 本身都至少取到一次真、一次假。关于这两个覆盖目标,下列说法较合理的是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出测试覆盖准则场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查测试覆盖准则的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把测试覆盖准则和前者是数据库事务,后者是路由聚合、只要语句执行一次,就一定满足所有覆盖准则、条件覆盖永远不需要关注条件取值放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
测试覆盖准则在软件评测师软考中的考法

软考选择题通常不会只考概念定义,还会把测试覆盖准则放到测试覆盖准则场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

老师讲白盒覆盖时,最怕学生一口气背很多名词但不看对象。这个题里“整个判断结果真/假”是判定覆盖的口吻;“A 和 B 各自真/假”是条件覆盖的口吻。

考点定位

覆盖准则题要先找观察对象:语句覆盖看语句有没有执行,判定覆盖看判断结果真假,条件覆盖看每个条件取值真假,路径覆盖看执行路径。

易错提醒

  • 只满足判定覆盖,却没有让每个条件都取到真假。
  • 只满足条件覆盖,却忽略判定整体结果是否真假都出现。
  • 把语句覆盖当成最强覆盖准则。

备考提示

  • 白盒覆盖按观察粒度记:语句、判定、条件、判定条件、路径。
  • 遇到 if (A && B) 或 if (A || B),先拆出整体判定和基本条件。
  • 软件评测师刷题时,这类覆盖题适合自己写两三组测试数据验证,不要只背定义。

你可能还想了解

  • 判定覆盖和条件覆盖怎么区分?
  • 测试覆盖准则是什么?
  • 测试覆盖准则在软件评测师考试中怎么考?
  • 软件评测师测试覆盖准则题怎么理解?
  • 判定覆盖和条件覆盖区别怎么考?
  • 软件评测师白盒测试覆盖怎么考?

本文小结

本题核心考点是测试覆盖准则在测试覆盖准则场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(前者更偏判定覆盖,后者更偏条件覆盖)。