【系统分析师_知识点整理】 13.软件实现与测试

**核心考向:**程序设计方法与风格、软件测试定义 / 原则 / 对象、黑盒 / 白盒 / 灰盒测试(覆盖标准、用例设计为高频)、静态 / 动态测试、测试阶段(单元 / 集成 / 系统 / 验收)、测试类型(功能 / 性能 / 安全 / 回归 / 冒烟)、McCabe 环路复杂度计算、测试组织与部署;第二版新增(软件实现概述、多类测试分类、测试组织、软件部署)为必考重点,白盒覆盖等级、死锁临界类计算、McCabe 计算、测试阶段辨析为案例 / 计算核心出题点。

**解题关键:**覆盖等级从低到高严格区分、黑盒用例方法按场景匹配、McCabe 三公式优先记判定节点法、测试阶段依据 / 方法 / 内容不混淆、新增知识点精准记忆、易混概念(负载 / 压力 / 并发)对比记忆。

一、软件实现概述

核心考点

三类程序设计方法、程序设计风格(四大特性)、代码重用层次、编码规范、第二版新增内容。

知识点梳理

  1. 软件实现核心任务:将设计结果转为程序代码,属于软件工程实施环节。
  2. 三类程序设计方法(必背)
    • 结构化:自顶向下、逐步求精、单入口单出口;经典 3 结构 + 扩展 2 结构 + 修正 1 结构。
    • 面向对象(OOP):对象映射问题域,提升可靠性、可维护性、可复用性。
    • 可视化:控件搭积木式构建界面,快速开发 UI。
  3. 程序设计风格(选择题高频)
    • 可理解性:有意义命名、注释、视觉组织、清晰 IO。
    • 可复用性:高内聚、小规模、接口与实现分离、少用全局变量。
    • 可扩展性:封装、多态、少用多分支。
    • 健壮性:防误操作、参数校验、先测试后优化。
  4. 编码规范:命名、注释、编程风格、版本管理四方面。
  5. 软件重用三层次:代码重用→设计结果重用→分析结果重用(层次由低到高)。
  6. 第二版新增:软件实现概述,为基础考查点。

二、软件测试概述

核心考点

IEEE 定义、测试目的(三方视角)、测试原则(10 条)、测试对象、第二版新增测试分类。

知识点梳理

  1. IEEE 定义:人工 / 自动运行系统,检验需求、找差异。
  2. 测试目的
    • 用户:找缺陷,判断是否接受。
    • 开发者:证明无错、满足需求。
    • 测试人员:发现 / 预测错误、评价可靠性。
  3. 测试对象:源程序 / 目标代码、开发文档、配置数据(全覆盖)。
  4. 10 大测试原则(必背)
    • 测试用例必须含预期输出。
    • 程序员 / 开发组织不自测自己程序。
    • 用例覆盖有效 + 无效输入。
    • 不穷举测试、尽早测试、追溯到需求。
  5. 第二版新增:多种软件测试分类、软件测试组织,为高频考点。

三、软件测试方法(计算 + 案例)

核心考点

黑盒 / 白盒 / 灰盒辨析、白盒 6 类覆盖等级(排序 + 定义) 、黑盒用例设计、McCabe 环路复杂度计算、静态 / 动态测试区别。

知识点梳理

1. 按代码可见度分
  • 黑盒(功能):不看代码,测界面与功能;用例:等价类、边界值、错误推测、因果图、判定表、场景法。
  • 白盒(结构) :看代码逻辑,测覆盖;覆盖等级从低到高:语句覆盖→判定覆盖→条件覆盖→判定 / 条件覆盖→条件组合覆盖→修改条件判断覆盖(MC/DC)。
  • 灰盒:介于两者之间,多用于集成测试,关注输入输出 + 内部状态。
2. McCabe 环路复杂度(计算题必背)

优先用:判定节点个数 + 1备选:边数 - 顶点数 + 2;封闭区域数 + 1。

3. 按是否运行分
  • 静态测试:不运行程序,代码检查、走查、审查、桌面检查;发现 30%-70% 逻辑缺陷。
  • 动态测试:运行程序,构造用例→执行→分析结果;含自动化测试(单元 / 接口 / UI)。

解题思路

  1. 覆盖等级题:严格按从低到高排序,题目问 "最强覆盖" 选路径 / 修改条件判断覆盖。
  2. McCabe 计算:数判断节点(if/while/for 等)直接 + 1,最快最准。
  3. 黑盒用例:边界值必选范围两端 + 紧邻外值;等价类有效类全覆盖、无效类单覆盖。

四、软件测试类型(选择题高频)

核心考点

功能 / 性能(负载 / 压力 / 并发)/ 安全 / 兼容、测试阶段(单元 / 集成 / 系统 / 验收)、回归 / 冒烟测试。

知识点梳理

1. 按测试对象
  • 功能测试:数据驱动,只测功能,不看代码。
  • 性能测试:含负载(压到瓶颈持续跑)、压力(不断加压到瓶颈)、并发(逐步加压找瓶颈)、容量、可靠性
  • 安全测试:应用本身 + 数据安全(存储 / 传输)。
  • 兼容 / 界面 / 易用性 / 稳定性测试。
2. 按测试阶段(核心辨析)
阶段 测试依据 主要方法 执行者 核心目标
单元测试 详细设计、代码 白盒为主 开发人员 最小模块正确性
集成测试 概要设计、单元结果 黑 + 白 + 灰盒 测试人员 模块间接口
系统测试 需求规格 黑盒 测试人员 整体系统符合需求
验收测试 用户需求、合同 黑盒 用户 / 第三方 交付上线
  • 验收测试策略:正式、非正式、Beta 测试(用户真实环境)。
3. 其他重要类型
  • 回归测试:改代码后重测,防引入新错误;策略:全测、风险选测、剖面选测、改部测。
  • 冒烟测试:快速验证版本稳定性,不破坏主干,硬件 "通电不冒烟" 引申。
4. 第二版新增

软件部署、多类专项测试(App/Web/ 大数据 / AI / 小程序)。

解题思路

  1. 阶段辨析:看依据文档→需求 = 系统 / 验收;概要 = 集成;详细 = 单元。
  2. 性能易混:压力是 "加压到崩",负载是 "崩了继续跑"。
  3. 回归 / 冒烟:回归防新错,冒烟验主干稳定。

五、软件测试组织与部署

核心考点

测试过程、配置管理、缺陷管理、运维指标(MTTR/MTBF/MTTF/MTTA)、部署步骤。

知识点梳理

  1. 测试过程:需求分析→计划→设计→环境搭建→执行→缺陷管理。
  2. 测试配置管理:管理计划、用例、版本、工具、结果。
  3. 缺陷管理:定优先级、同步状态。
  4. 软件部署:收集→打包→安装→配置→发布;步骤:环境准备→安装→配置→验证。
  5. 运维核心指标(必背)
    • MTTR:平均故障修复时间
    • MTBF:平均故障间隔时间
    • MTTF:平均无故障时间
    • MTTA:平均应答时间

解题思路

指标题:带 Repair 是修复,Between 是间隔,Time To Failure 是无故障,Acknowledgement 是应答,抓词根直接选。

相关推荐
小陈phd2 小时前
多模态大模型学习笔记(二十九)—— 生成对抗网络(GAN)从原理到实战:实现第一个生成模型
笔记·学习·生成对抗网络
龙智DevSecOps解决方案2 小时前
TESSY v5.1 新功能详解 :引入 Hyper Coverage 与基于变更的测试,大幅缩短 CI 测试时间
自动化测试·软件测试·ci/cd·单元测试·嵌入式开发·tessy
Heartache boy2 小时前
野火STM32_HAL库版课程笔记-TB6612FNG驱动有刷电机
笔记·stm32·单片机
iiiiii112 小时前
【理论推导】指数族分布的核心性质:对数配分函数的梯度为什么是充分统计量的期望?
人工智能·笔记·深度学习·数学·机器学习·概率论·指数族分布
淬炼之火2 小时前
笔记:LoRA,一种针对大语言模型的参数高效微调方法
人工智能·笔记·语言模型
小清兔2 小时前
unity中的音频相关_笔记
笔记·unity·音视频
深蓝海拓2 小时前
西门子S7-1500PLC的PEEK/POKE学习笔记
笔记·学习
南境十里·墨染春水2 小时前
C++ 笔记:std::bind 函数模板详解
前端·c++·笔记
Oll Correct2 小时前
实验十三:IPv4子网划分与基础路由配置实验——基于Cisco Packet Tracer的跨网段通信验证
网络·笔记