🏠 首页›第三梯队 · 上午选择得分点 · 第 11 小时 · 软件可靠性

软件可靠性基础知识

选择 2~3 分论文相关
📄 教材出处 · 第 11 小时《软件可靠性》 (书第 105–111 页) ▸ 查看原文摘录 打开教材 PDF ↗
第 105 页 ↗软件可靠性基础知识 11.0 章节考点分析 主要学习软件可靠性基本概念、建模、管理、设计、测试和评价等内容。
第 106 页 ↗ 11.1 软件可靠性基本概念 【基础知识点】 1.软件可靠性的定义 软件可靠性是指在规定的时间内,软件不引起系统失效的概率。
第 107 页 ↗软件可靠性基础知识 99 (5)系统对软件的依赖性强,对生产活动和社会生活影响日益增大。
第 108 页 ↗(3)软件可靠性建模方法包括:种子法、失效率类、曲线拟合类、可靠性增长、程序结构分 析、输入域分类、执行路径分析方法、非齐次泊松过程、马尔可夫过程、贝叶斯分析。
第 109 页 ↗软件可靠性基础知识 101 (4)系统配置技术:可以分为双机热备技术和服务器集群技术。
第 110 页 ↗4.软件可靠性测试的实施 用时间定义的软件可靠性数据分为4类:失效时间数据、失效间隔时间数据、分组时间内的失 效数、分组时间的累积失效数。

知识点目录(共 5 项)

  1. 可靠性基本概念:可靠度 / 失效分类
  2. 定量描述:MTTF / MTTR / MTBF、可用性 = MTTF/(MTTF+MTTR) 计算
  3. 可靠性建模(Jelinski-Moranda 等模型特性)与可靠性管理阶段活动
  4. 可靠性设计:避错与容错(检错 / 降级 / 恢复)、N 版本程序设计 vs 恢复块方法对比(高频)、防卫式程序设计
  5. 可靠性测试目的与测试用例 / 记录 / 报告组成;可靠性评价

知识点详解

一、软件可靠性基本概念

定义(原文级背诵):软件可靠性是指在规定的时间内,软件不引起系统失效的概率。该概率是系统输入和系统使用的函数,也是软件中存在的缺陷的函数;系统输入将确定是否会遇到已存在的缺陷。

可靠性目标:用户对软件性能满意程度的期望,用可靠度、平均失效时间(MTTF)、故障强度等描述。

可靠性测试的意义 5 条:① 软件失效可能造成灾难性后果;② 软件失效在计算机系统失效中比例较高;③ 相比硬件可靠性技术,软件可靠性技术不成熟;④ 软件可靠性问题造成软件费用增长;⑤ 系统对软件依赖性强,对生产活动和社会生活影响日益增大。

广义 vs 狭义可靠性测试:广义——为最终评价可靠性,运用建模、统计、试验、分析和评价等一系列手段实施的测试;狭义——为获取可靠性数据,按预先确定的测试用例,在软件预期使用环境中实施的测试。

二、可靠性建模与影响因素

影响可靠性的因素 5 个:运行环境、软件规模、软件的内部结构、软件开发方法和开发环境、软件的可靠性投入。

建模方法 10 种(认得出即可):种子法、失效率类、曲线拟合类、可靠性增长、程序结构分析、输入域分类、执行路径分析、非齐次泊松过程、马尔可夫过程、贝叶斯分析。模型有预测能力与质量、假设适用性等特性——评价模型时从"模型假设的适用性、预测的能力与质量、输出值能否满足评价需求、使用的简便性"4 方面选择。

三、可靠性设计(案例 + 选择双考点,必背)

四大设计技术:容错设计技术、检错技术、降低复杂度设计、系统配置技术。

技术内容关键辨析
容错设计① 恢复块设计:选择一组操作作为容错设计单元,把普通程序块变成恢复块(主块失败→后备块接管)恢复块=后向恢复、动态备用、接受测试;N 版本=前向恢复、多数表决、多版本并行——"表决=N 版本,接受测试=恢复块"(与 H14 容错呼应)
② N 版本程序设计:多个模块/不同版本,相同初始条件与输入,对结果实行多数表决,防某一版本故障提供错误服务
③ 冗余设计:完整系统之外设计不同路径、不同算法或不同实现方式的模块/系统作备份,故障时替换
检错技术自动检错报告,不能自动解决故障、需人工干预代价低于容错和冗余;四要素:检测对象、检测延时、实现方式、处理方式(真题:选"检测延时")
降低复杂度设计保证功能基础上简化结构、缩短代码、优化数据流向复杂度与可靠性负相关
系统配置技术双机热备 + 服务器集群双机三种模式辨析见下图;集群节点故障时应用被另一节点自动接管
双机热备 Active/Standby 一台工作,一台后备 数据同时写入两台 保证数据即时同步 真题关键词:"监控准备状态" 双机互备 两台运行相对独立的应用 互为后备 A 坏了 B 兼管 A 的应用 关键词:"相对独立、互为后备" 双机双工 两台同时运行相同应用 互为后备 负载均衡式双活 关键词:"同时运行相同应用" 双机方案都用"心跳"(Heartbeat)方法保证主系统与备用系统的联系
图 1 双机热备 / 互备 / 双工三模式辨析
⚠️ 真题辨析:"Active/Standby 方式,Active 工作、Standby 监控准备,数据同时往两台写入保证即时同步" = 双机热备(不是互备/双工)。判别锚点:工作/后备分开=热备;各管一摊互救=互备;同时干同样的活=双工。

四、可靠性测试与管理

可靠性测试流程 5 环节:可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果分析。运行剖面=为软件的使用行为建模、开发使用模型,明确需测试内容;测试用例要能反映实际使用情况,优先测试最重要和最频繁使用的功能。

用时间定义的可靠性数据 4 类:失效时间数据、失效间隔时间数据、分组时间内的失效数、分组时间的累积失效数。

可靠性评价三步:① 选择可靠性模型;② 收集可靠性数据;③ 可靠性评估和预测。数据收集可行办法 4 条:尽可能早地确定可靠性模型、数据收集计划要有较强可操作性、重视测试数据的分析和整理、充分利用技术手段(数据库技术)完成分析统计。评估预测以可靠性模型分析为主,以失效数据的图形分析法和试探性数据分析技术等为辅。

💡 本节框架:"定义(规定时间不失效概率)→ 目标三指标 → 建模影响因素 5 → 设计四技术(容错 3 招/检错 4 要素/降复杂度/系统配置 3 模式)→ 测试 5 环节 → 数据 4 类 → 评价 3 步"。高频三件套:N 版本 vs 恢复块辨析、检错四要素(检测延时)、双机三模式。