**核心考向:**程序设计方法与风格、软件测试定义 / 原则 / 对象、黑盒 / 白盒 / 灰盒测试(覆盖标准、用例设计为高频)、静态 / 动态测试、测试阶段(单元 / 集成 / 系统 / 验收)、测试类型(功能 / 性能 / 安全 / 回归 / 冒烟)、McCabe 环路复杂度计算、测试组织与部署;第二版新增(软件实现概述、多类测试分类、测试组织、软件部署)为必考重点,白盒覆盖等级、死锁临界类计算、McCabe 计算、测试阶段辨析为案例 / 计算核心出题点。
**解题关键:**覆盖等级从低到高严格区分、黑盒用例方法按场景匹配、McCabe 三公式优先记判定节点法、测试阶段依据 / 方法 / 内容不混淆、新增知识点精准记忆、易混概念(负载 / 压力 / 并发)对比记忆。
一、软件实现概述
核心考点
三类程序设计方法、程序设计风格(四大特性)、代码重用层次、编码规范、第二版新增内容。
知识点梳理
- 软件实现核心任务:将设计结果转为程序代码,属于软件工程实施环节。
- 三类程序设计方法(必背)
- 结构化:自顶向下、逐步求精、单入口单出口;经典 3 结构 + 扩展 2 结构 + 修正 1 结构。
- 面向对象(OOP):对象映射问题域,提升可靠性、可维护性、可复用性。
- 可视化:控件搭积木式构建界面,快速开发 UI。
- 程序设计风格(选择题高频)
- 可理解性:有意义命名、注释、视觉组织、清晰 IO。
- 可复用性:高内聚、小规模、接口与实现分离、少用全局变量。
- 可扩展性:封装、多态、少用多分支。
- 健壮性:防误操作、参数校验、先测试后优化。
- 编码规范:命名、注释、编程风格、版本管理四方面。
- 软件重用三层次:代码重用→设计结果重用→分析结果重用(层次由低到高)。
- 第二版新增:软件实现概述,为基础考查点。
二、软件测试概述
核心考点
IEEE 定义、测试目的(三方视角)、测试原则(10 条)、测试对象、第二版新增测试分类。
知识点梳理
- IEEE 定义:人工 / 自动运行系统,检验需求、找差异。
- 测试目的
- 用户:找缺陷,判断是否接受。
- 开发者:证明无错、满足需求。
- 测试人员:发现 / 预测错误、评价可靠性。
- 测试对象:源程序 / 目标代码、开发文档、配置数据(全覆盖)。
- 10 大测试原则(必背)
- 测试用例必须含预期输出。
- 程序员 / 开发组织不自测自己程序。
- 用例覆盖有效 + 无效输入。
- 不穷举测试、尽早测试、追溯到需求。
- 第二版新增:多种软件测试分类、软件测试组织,为高频考点。
三、软件测试方法(计算 + 案例)
核心考点
黑盒 / 白盒 / 灰盒辨析、白盒 6 类覆盖等级(排序 + 定义) 、黑盒用例设计、McCabe 环路复杂度计算、静态 / 动态测试区别。
知识点梳理
1. 按代码可见度分
- 黑盒(功能):不看代码,测界面与功能;用例:等价类、边界值、错误推测、因果图、判定表、场景法。
- 白盒(结构) :看代码逻辑,测覆盖;覆盖等级从低到高:语句覆盖→判定覆盖→条件覆盖→判定 / 条件覆盖→条件组合覆盖→修改条件判断覆盖(MC/DC)。
- 灰盒:介于两者之间,多用于集成测试,关注输入输出 + 内部状态。
2. McCabe 环路复杂度(计算题必背)
优先用:判定节点个数 + 1备选:边数 - 顶点数 + 2;封闭区域数 + 1。
3. 按是否运行分
- 静态测试:不运行程序,代码检查、走查、审查、桌面检查;发现 30%-70% 逻辑缺陷。
- 动态测试:运行程序,构造用例→执行→分析结果;含自动化测试(单元 / 接口 / UI)。
解题思路
- 覆盖等级题:严格按从低到高排序,题目问 "最强覆盖" 选路径 / 修改条件判断覆盖。
- McCabe 计算:数判断节点(if/while/for 等)直接 + 1,最快最准。
- 黑盒用例:边界值必选范围两端 + 紧邻外值;等价类有效类全覆盖、无效类单覆盖。
四、软件测试类型(选择题高频)
核心考点
功能 / 性能(负载 / 压力 / 并发)/ 安全 / 兼容、测试阶段(单元 / 集成 / 系统 / 验收)、回归 / 冒烟测试。
知识点梳理
1. 按测试对象
- 功能测试:数据驱动,只测功能,不看代码。
- 性能测试:含负载(压到瓶颈持续跑)、压力(不断加压到瓶颈)、并发(逐步加压找瓶颈)、容量、可靠性。
- 安全测试:应用本身 + 数据安全(存储 / 传输)。
- 兼容 / 界面 / 易用性 / 稳定性测试。
2. 按测试阶段(核心辨析)
| 阶段 | 测试依据 | 主要方法 | 执行者 | 核心目标 |
|---|---|---|---|---|
| 单元测试 | 详细设计、代码 | 白盒为主 | 开发人员 | 最小模块正确性 |
| 集成测试 | 概要设计、单元结果 | 黑 + 白 + 灰盒 | 测试人员 | 模块间接口 |
| 系统测试 | 需求规格 | 黑盒 | 测试人员 | 整体系统符合需求 |
| 验收测试 | 用户需求、合同 | 黑盒 | 用户 / 第三方 | 交付上线 |
- 验收测试策略:正式、非正式、Beta 测试(用户真实环境)。
3. 其他重要类型
- 回归测试:改代码后重测,防引入新错误;策略:全测、风险选测、剖面选测、改部测。
- 冒烟测试:快速验证版本稳定性,不破坏主干,硬件 "通电不冒烟" 引申。
4. 第二版新增
软件部署、多类专项测试(App/Web/ 大数据 / AI / 小程序)。
解题思路
- 阶段辨析:看依据文档→需求 = 系统 / 验收;概要 = 集成;详细 = 单元。
- 性能易混:压力是 "加压到崩",负载是 "崩了继续跑"。
- 回归 / 冒烟:回归防新错,冒烟验主干稳定。
五、软件测试组织与部署
核心考点
测试过程、配置管理、缺陷管理、运维指标(MTTR/MTBF/MTTF/MTTA)、部署步骤。
知识点梳理
- 测试过程:需求分析→计划→设计→环境搭建→执行→缺陷管理。
- 测试配置管理:管理计划、用例、版本、工具、结果。
- 缺陷管理:定优先级、同步状态。
- 软件部署:收集→打包→安装→配置→发布;步骤:环境准备→安装→配置→验证。
- 运维核心指标(必背)
- MTTR:平均故障修复时间
- MTBF:平均故障间隔时间
- MTTF:平均无故障时间
- MTTA:平均应答时间
解题思路
指标题:带 Repair 是修复,Between 是间隔,Time To Failure 是无故障,Acknowledgement 是应答,抓词根直接选。