软件设计师 · 高频练习

白盒测试中语句覆盖和判定覆盖有什么区别?

中级 单选题 第 143 题 中等 软件设计师白盒测试语句覆盖判定覆盖
题目

在白盒测试中,某覆盖准则要求程序中每条可执行语句至少执行一次;另一覆盖准则要求每个判断的真、假分支至少各执行一次。下列说法正确的是()。

A 前者是语句覆盖,后者是判定覆盖
B 前者是判定覆盖,后者是语句覆盖
C 二者都属于数据库连接方式
D 二者都只用于页面配色
题目类型:原创高频考点题 用途:用于帮助理解软件设计师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

语句覆盖要求每条可执行语句至少执行一次,是较弱的白盒覆盖标准。判定覆盖要求每个判定的真、假结果至少各出现一次,覆盖强度通常高于语句覆盖。

选项分析

A

正确。语句覆盖看语句执行,判定覆盖看判定真假分支。

B

错误。把两个覆盖准则反过来了。

C

错误。覆盖准则属于白盒测试,不是数据库连接方式。

D

错误。页面配色与白盒覆盖无关。

本题为什么容易错

这题容易错在觉得语句执行到了,分支就一定覆盖了。实际上某个 if 的一条分支执行了,不代表另一个分支也执行过。

先看结论

简短答案

白盒测试中语句覆盖和判定覆盖有什么区别,正确答案是 A(前者是语句覆盖,后者是判定覆盖)。语句覆盖要求每条可执行语句至少执行一次,是较弱的白盒覆盖标准。判定覆盖要求每个判定的真、假结果至少各出现一次,覆盖强度通常高于语句覆盖。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
前者是语句覆盖,后者是判定覆盖 本题正确答案 正确。语句覆盖看语句执行,判定覆盖看判定真假分支。 看到题干核心场景时优先联想到它
前者是判定覆盖,后者是语句覆盖 本题干扰项 错误。把两个覆盖准则反过来了。 看到该词不要急着选,先判断是否真正解决题干问题
二者都属于数据库连接方式 本题干扰项 错误。覆盖准则属于白盒测试,不是数据库连接方式。 看到该词不要急着选,先判断是否真正解决题干问题
二者都只用于页面配色 本题干扰项 错误。页面配色与白盒覆盖无关。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 前者是判定覆盖,后者是语句覆盖:错误。把两个覆盖准则反过来了。
  • 二者都属于数据库连接方式:错误。覆盖准则属于白盒测试,不是数据库连接方式。
  • 二者都只用于页面配色:错误。页面配色与白盒覆盖无关。
复习

知识点详解

判定覆盖是软件设计师考试中需要结合场景理解的考点。围绕“白盒测试中语句覆盖和判定覆盖有什么区别”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“在白盒测试中,某覆盖准则要求程序中每条可执行语句至少执行一次;另一覆盖准则要求每个判断的真、假分支至少各执行一次。下列说法正确的是()”,它指向的核心答案是 A(前者是语句覆盖,后者是判定覆盖)。

备考速记

备考速记:题干如果强调“判定覆盖”中的关键目标,就先联想到 判定覆盖;如果选项里出现 前者是判定覆盖,后者是语句覆盖、二者都属于数据库连接方式、二者都只用于页面配色,不要只看名称熟悉,要判断它们是否真正对应题干场景。

判定覆盖在判定覆盖场景中的作用

判定覆盖在本题中的核心价值,是解决“在白盒测试中,某覆盖准则要求程序中每条可执行语句至少执行一次;另一覆盖准则要求每个判断的真、假分支至少各执行一次。下列说法正确的是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出判定覆盖场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查判定覆盖的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把判定覆盖和前者是判定覆盖,后者是语句覆盖、二者都属于数据库连接方式、二者都只用于页面配色放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
判定覆盖在软件设计师软考中的考法

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

解题思路

题干中“每条语句至少执行一次”对应语句覆盖;“每个判断真、假分支都执行”对应判定覆盖。不要看到覆盖就都叫路径覆盖。

考点定位

白盒测试覆盖准则常按强度比较:语句覆盖较弱,判定覆盖关注分支真假,条件覆盖关注每个条件取值,路径覆盖更强但成本高。

易错提醒

  • 语句覆盖不一定覆盖所有分支。
  • 判定覆盖要求每个判断结果至少取真和假。
  • 路径覆盖更强,但路径数量可能很多。

备考提示

  • 复习白盒覆盖时,可以用一个简单 if-else 代码片段自己设计用例。
  • 看到“每条语句”,选语句覆盖;看到“真假分支”,选判定覆盖。

你可能还想了解

  • 白盒测试中语句覆盖和判定覆盖有什么区别?
  • 判定覆盖是什么?
  • 判定覆盖在软件设计师考试中怎么考?
  • 软件设计师判定覆盖题怎么理解?
  • 语句覆盖和判定覆盖区别怎么考?
  • 软件设计师白盒测试怎么考?

本文小结

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