系统分析师 | 开源课程 | 专栏
ONEP软考智能体专属增值服务:涵盖软考AI工具全版本教程、软考课堂干货、论文解读、高项考点精讲与视频课程,提供全流程备考增值支持。
本篇内容摘要

系统分析师第14章软件实现与测试速通:编码方法与四阶段测试、白盒黑盒覆盖率标准,讲清系统化找 bug 体系,逐子章节精摘助你速记实现测试考点。本速通把覆盖率等级记准记牢,测试题不踩坑。

教材速通
2026-08-02T07:56:17+00:00
☆
▶

speedrun20|第14章软件实现与测试(单元覆盖率)速通

ONEPSOFT | 软考学习知识库


speedrun20|第14章软件实现与测试(单元覆盖率)速通

一、章节定位

一句话概括:本章讲 " 怎么把设计变成代码,以及怎么系统地找 bug"——编码方法 + 四阶段测试 + 白盒/黑盒覆盖标准。

  • 题型覆盖:综合知识【✓✓】 | 案例分析【✓】 | 论文【○】
  • 重要性等级:【★★★★★】——测试四分类、白盒六覆盖 (由弱到强)、黑盒方法、McCabe 圈复杂度是选择题高密度考点
  • 教材出处:第 14 章 软件实现与测试

二、本章在讲什么(系统性阐述)

实现与测试像施工与验收:先按图施工 (编码),再做 " 试块检验 (单元)→分项工程验收 (集成)→竣工验收 (系统)→业主验房 (验收)" 四级测试。

本章三块:

  1. 编码实现:结构化/OOP/可视化程序设计,影响可靠性、可维护性、可复用性。
  2. 测试分类(按阶段):单元、集成、系统、验收,测试对象/人员/方法逐级变化;还有回归测试、冒烟测试。
  3. 覆盖标准:白盒 (结构) 六覆盖由弱到强——语句→判定→条件→判定/条件→条件组合→MC/DC;黑盒 (功能) 用等价类、边界值等。McCabe 圈复杂度度量模块复杂度 (间接度量可维护性)。

三、教材原文精摘(原封不动,逐子章节全覆盖)

测试定义(14.2.1)原文:软件测试是使用手动或自动手段运行或测量软件系统的过程,目的是检验软件系统是否满足规定需求,并找出与预期结果之间的差异。IEEE 定义为 " 使用人工或自动的手段来运行或测试系统,以检验是否满足规定需求,并找出差异 "。

测试目的 原文:尽可能多地找出软件中潜在的各种错误和缺陷(逆向/发散思维,而非证明无错)。

单元测试(14.4.2)原文:单元测试在编码后或编码前进行,对象是模块(最小可测试单元),白盒测试工程师或开发人员用白盒为主、黑盒为辅,测模块接口、局部数据、路径、错误处理、边界。

集成测试 原文:集成测试在单元测试之后,对象是模块间的接口,测模块间数据传输、功能冲突、全局数据结构。

系统测试 原文:系统测试在集成测试之后,对象是整个系统(软件 + 硬件),黑盒工程师用黑盒,测功能、界面、可靠性、易用性、性能、兼容性、安全性。

验收测试 原文:验收测试在系统测试通过后,对象是整个系统,最终用户/需求方用黑盒,是部署前最后一个测试操作。

白盒覆盖(14.3.1)原文:覆盖标准由弱到强:①语句覆盖 (每条语句至少一次);②判定覆盖 (每个判定分支至少一次);③条件覆盖 (每条件取各种值);④判定/条件覆盖;⑤条件组合覆盖 (每判定各条件每种组合至少一次);⑥修改条件判断覆盖 MC/DC。

黑盒测试 原文:功能测试、数据驱动测试;把程序看作黑盒子,完全不考虑内部结构,在接口处测试,只检查功能是否按需求规格正常使用。方法:等价类划分、边界值分析、错误推测、因果图、判定表、正交试验、功能图、场景法。

McCabe 圈复杂度 原文:1976 年 McCabe 提出,基于程序模块程序图中环路的个数度量软件复杂性,也称 McCabe 环路。反映源代码结构复杂度,复杂度高通常可维护性差。

逐段讲解:

  • 针对测试定义:测试是 " 找差异/找 bug",不是 " 证明没 bug"。这是测试思想的基石。
  • 针对测试目的:逆向思维——目标是尽可能多找缺陷。
  • 针对单元测试:最小单元=模块,开发/白盒为主,重点测接口、局部数据、路径、边界、错误处理。
  • 针对集成测试:重点是 " 模块间接口 " 是否对得上,容易暴露全局数据结构冲突。
  • 针对系统测试:整系统 + 硬件,黑盒,覆盖功能/性能/安全等非功能。
  • 针对验收测试:用户主导,部署前最后一关。
  • 针对白盒六覆盖:必考 " 由弱到强 " 顺序,MC/DC 最强 (航空等关键领域要求)。
  • 针对黑盒方法:等价类、边界值最常用;黑盒不看内部只看功能。
  • 针对 McCabe:环路数=复杂度,越高越难维护。和 V(G)=E-N+2 等公式常考 (本清单无,属补充)。

四、核心知识树

第 14 章 软件实现与测试

├── 编码实现

│ ├── 结构化/OOP/可视化

│ └── 影响可靠/维护/复用

├── 测试四阶段

│ ├── 单元 (模块/白盒)

│ ├── 集成 (接口)

│ ├── 系统 (整机/黑盒)

│ └── 验收 (用户)

├── 白盒覆盖 (弱→强)

│ └── 语句→判定→条件→组合→MC/DC

├── 黑盒方法

│ └── 等价类/边界值/因果图

└── McCabe 圈复杂度

└── 环路数=复杂度

五、知识脑图总结

思维导图(结构化呈现)

  • 第14章 实现与测试
    • 编码
      • 结构化 OOP
    • 测试阶段
      • 单元
      • 集成
      • 系统
      • 验收
    • 白盒覆盖
      • 语句到MC/DC
    • 黑盒
      • 等价类边界值
    • McCabe
      • 环路复杂度

六、关键概念速解

概念教材定义(原文关键词)大白话速解考试怎么考
软件测试运行系统找与预期差异找 bug 不是证无罪选择:测试目的/定义
单元测试最小单元=模块,白盒为主试块检验选择:对象/方法
集成测试测模块间接口分项验收选择:与前后的区别
语句覆盖每条语句至少一次 (最弱)跑到每一行选择:覆盖由弱到强
MC/DC修改条件判断覆盖 (最强)每条件能独立影响结果选择:最强覆盖
等价类划分黑盒,输入分区一类取一个代表选择:黑盒方法
McCabe 圈复杂度程序图环路个数模块有多绕选择:复杂度/可维护性

七、记忆口诀 & 类比

  • 口诀:「单元集系验」→ 测试四阶段:单元、集成、系统、验收(由小到大)。
  • 口诀:「语判条组 MC」→ 白盒覆盖由弱到强:语句、判定、条件、判定/条件、条件组合、MC/DC。
  • 口诀:「黑盒等边界」→ 等价类划分、边界值分析(最常用黑盒方法)。
  • 类比:四级测试像施工验收链——试块检验 (单元)→分项工程验收 (集成)→竣工验收 (系统)→业主验房 (验收)。白盒覆盖等级像 " 检验细致程度 ",MC/DC 是最高标准 (像关键结构全检)。

八、易混淆点对比

易混项 A易混项 B核心区别
单元测试集成测试单元测模块内部;集成测模块间接口
系统测试验收测试系统由测试员做;验收由用户做、部署前最后一步
白盒测试黑盒测试白盒看内部逻辑 (结构);黑盒只看功能 (接口)
语句覆盖判定覆盖语句=每行一次;判定=每个分支一次 (更强)
判定覆盖条件覆盖判定看分支;条件看每个子条件取值

九、与其他章节的关联

  • 上游/前置:第 13 章详细设计(测试依据设计)、第 11 章需求 (SRS 是验收依据)。
  • 下游/依赖:第 15 章运维(测试不充分→线上故障多)。
  • 联动考点:McCabe 圈复杂度与第 13 章可维护性、第 15 章预防性维护呼应;覆盖率与配置管理回归测试。
  • 联动薄弱项:测试阶段把 " 自动化回归 + 监控告警 " 做扎实,运维 (本清单#38) 接手后故障数与定位时间都会大幅下降。测试是运维的前置防线。

十、考试出题方式

  • 选择题:四阶段测试的对象/方法区分;白盒六覆盖由弱到强排序与判定;黑盒方法;McCabe 与可维护性。
  • 案例分析:给代码片段问应达到哪种覆盖、还差哪个判定未覆盖。
  • 论文:一般不单独考论文,常作为其他方向的支撑内容。

相关学习内容推荐......

⤴️分享
⬅️返回
ONEPSOFT品牌标识
ONEP软考 | 开源知识库
© 2025 ONEPSOFT. All rights reserved.