一、引言:质量的维度与标准的价值

在软件定义一切的时代,一个看似简单的问题却常常困扰着从业者:什么样的软件算是"好软件"?如何系统性地验证软件确实达到了"好"的标准?又如何规范地记录和沟通验证的过程?

这并非技术问题,而是工程管理问题。国际标准的存在,正是为了解决这些根本性困惑。它们为软件质量提供了共同语言、为测试活动提供了通用框架、为文档编写提供了标准模板。

更值得注意的是,随着人工智能技术的爆发式发展,传统软件质量模型已不足以覆盖算法特有的挑战——公平性、可解释性、鲁棒性等成为新的质量维度。中国在这一领域率先构建了国家标准体系,为全球算法治理提供了"中国方案"。

本文将按照从通用到专用、从国际到国内的逻辑,为您完整呈现这场质量保障领域的知识盛宴。


二、ISO/IEC 25010:软件质量的"宪法"

2.1 核心定位与演变历程

ISO/IEC 25010 的全称是《系统和软件工程—系统和软件质量模型》(Systems and software engineering — Systems and software quality model)。它的核心使命是:定义"软件质量是什么"

如果把软件工程比作建筑行业,ISO/IEC 25010就是《建筑设计规范》——它告诉你什么样的房子才算好房子:结构是否稳固、布局是否合理、是否节能环保。

该标准经历了两个重要版本:

  • ISO/IEC 9126 (1991/2001):经典版本,定义了6大质量特性

  • ISO/IEC 25010:2011:重大更新,扩展为8大特性+5大使用质量特性

  • ISO/IEC 25010:2024:最新修订版,本文重点阐述

2.2 2024版核心变化

2024年版是一次重要进化,主要变化包括:

对比项 2011版 2024版 解读
模型结构 两个独立模型 统一模型(内外部质量+使用质量) 结构更紧凑
术语 特性/子特性 质量维度/子维度 避免与"功能性"混淆
可维护性 5个子特性 新增灵活性 呼应敏捷/微服务
使用质量 抗风险性 信任 从规避风险到建立信心
兼容性 分散定义 统一整合 逻辑更清晰

2.3 内外部质量维度详解(8个维度)

维度1:功能性(Functional Suitability)

定义:软件提供满足明示和隐含需求功能的能力。

三个子维度:

  • 功能完整性:覆盖所有规定任务的程度

  • 功能正确性:提供精确结果的能力

  • 功能恰当性:功能促进用户达成目标的程度

实践示例:一个银行App的转账功能,完整性要求支持同行/跨行转账,正确性要求金额计算无误,恰当性要求界面引导用户顺利完成转账。

维度2:性能效率(Performance Efficiency)

定义:使用适当资源展现性能的能力。

三个子维度:

  • 时间特性:响应速度、处理时间

  • 资源利用率:CPU、内存、网络消耗

  • 容量:最大处理能力

实践示例:双11期间,电商系统需在资源有限的情况下支撑亿级并发。

维度3:兼容性(Compatibility)

定义:与其他组件或系统共享环境、信息的能力。

两个子维度:

  • 共存性:与其他产品共存而不互相干扰

  • 互操作性:交换信息并使用所交换信息

实践示例:微信分享功能需与iOS/Android系统及各类目标App互操作。

维度4:易用性(Usability)

定义:特定用户在特定环境下有效、高效、满意地达成目标的能力。

六个子维度:

  • 可辨识性:用户识别产品是否适合其需求

  • 易学性:学习使用的容易程度

  • 易操作性:操作控制的容易程度

  • 用户差错防御:防止用户出错及错误恢复

  • 用户界面美观性:界面令人愉悦的程度

  • 可访问性:残疾人等特殊群体的使用能力

维度5:可靠性(Reliability)

定义:在规定条件和时间内无故障运行的能力。

四个子维度:

  • 成熟性:正常操作下满足可靠性要求的程度

  • 可用性:需要时可操作可访问的程度

  • 容错性:故障时维持规定性能的能力

  • 易恢复性:中断后重建性能并恢复数据的能力

维度6:安全性(Security)

定义:保护信息和数据,确保只有授权访问的能力。

五个子维度:

  • 保密性:数据仅被授权者访问

  • 完整性:防止未经授权的篡改

  • 抗抵赖性:证明已发生操作的能力

  • 可问责性:将操作追溯到执行实体

  • 真实性:验证主体或资源身份

维度7:可维护性(Maintainability)

定义:被有效高效修改以纠错、改进或适应变化的能力。

2024版新增:灵活性(Flexibility)

六个子维度:

  • 模块化:组件独立,修改影响小

  • 可重用性:组件可在其他系统使用

  • 易分析性:诊断缺陷的容易程度

  • 易修改性:有效高效修改的能力

  • 易测试性:验证修改的容易程度

  • 灵活性(新增):轻松扩展或修改以应对新需求

维度8:可移植性(Portability)

定义:从一种环境有效高效迁移到另一种环境的能力。

三个子维度:

  • 适应性:无需修改即可适应不同环境

  • 易安装性:安装/卸载的容易程度

  • 易替换性:替换其他产品的能力

2.4 使用质量维度详解(5个维度)

使用质量关注用户在实际使用中的体验,而非软件本身的属性。

  1. 有效性:用户准确、完整达成目标的程度

  2. 效率:用户消耗适当资源的程度(时间、精力)

  3. 满意度:用户产生积极感受的程度

  4. 信任(2024版关键演变):用户对产品按预期运行、利益受保护的信心程度——涵盖隐私、安全、AI公平性等

  5. 上下文覆盖:产品在多样化物理和社会环境下被使用的程度

2.5 应用场景

场景 应用方式
需求定义 作为非功能需求检查清单
质量评估 设计测试用例的基准框架
产品比较 客观比较不同软件的质量
合同签订 供需双方共同语言

三、ISO/IEC 29119:软件测试的"过程圣经"

3.1 核心定位

如果说25010是"什么是好软件",那么ISO/IEC 29119就是"如何验证软件确实好"。它的核心是提供一套覆盖软件测试全生命周期的综合标准集

3.2 标准结构

ISO/IEC 29119是一个系列标准,由多个部分组成:

部分 内容 说明
第1部分 概念和定义 统一测试术语
第2部分 测试过程 核心部分,定义分层测试过程
第3部分 测试文档 取代IEEE 829,提供文档模板
第4部分 测试技术 测试设计技术指南
第5部分 关键字驱动测试 自动化测试方法

3.3 核心详解:第2部分测试过程模型

这是理解29119的关键。它定义了三个层次的测试过程:

层级1:组织测试过程(最高层,跨项目)

责任人:测试总监、质量副总裁
核心产出

  • 组织测试策略:总体方针、风险模型

  • 组织测试资产库:可重用测试用例、工具

  • 测试度量体系:缺陷密度、测试效率指标

层级2:测试管理过程(项目层)

责任人:测试经理
三个核心活动

  1. 测试计划:分析依据、定义范围、基于风险测试

  2. 测试监督与控制:监控进度、收集指标、动态调整

  3. 测试完成:评估出口准则、归档资产

层级3:动态测试过程(执行层)

责任人:测试分析师、测试员
四个阶段循环

  1. 测试设计与实现:创建测试用例、测试规程

  2. 测试环境搭建:配置软硬件和数据环境

  3. 测试执行:运行测试、记录结果、报告缺陷

  4. 测试完成:评估是否达到出口准则

3.4 核心理念:基于风险的测试

29119将基于风险的测试提升为核心方法论:

  • 测试是风险缓解活动

  • 资源优先分配:高风险区域投入更多测试

  • 贯穿所有层级:从策略到执行

3.5 与现代开发的适配(敏捷/DevOps)

29119的关键设计原则是可裁剪性。在敏捷环境中:

  • 过程迭代化:每个Sprint都运行完整的小型测试过程

  • 文档轻量化:测试计划简化为测试清单

  • 持续集成:自动化测试在每次构建后执行


四、IEEE 829:测试文档的"经典模板"

4.1 核心定位与历史地位

IEEE 829《软件和系统测试文档标准》的核心是"如何撰写测试文档"。它是测试文档领域的先驱和经典标准,影响深远。

现状:已被ISO/IEC 29119-3取代,但思想仍在行业广泛使用。

4.2 8种核心文档

文档类型 内容 对应实践
测试计划 范围、方法、资源、进度 测试活动总纲
测试设计规格说明 测试方法、标识相关用例 设计阶段的产出
测试用例规格说明 输入、预期输出、条件 具体测试用例
测试规程规格说明 执行步骤 测试脚本
测试项目传递报告 发布的软件项版本 版本发布说明
测试日志 按时间记录执行细节 执行流水账
测试意外事件报告 与预期不符的事件 缺陷报告
测试总结报告 总结结果、评估结论 发布质量报告

4.3 核心理念

  • 可追溯性:需求→设计→用例→结果,环环相扣

  • 标准化沟通:统一格式便于不同角色理解

  • 过程资产:用于复盘、传承、审计


五、三者的关系:大厦、流程与表单

用一个比喻总结三大国际标准的关系:

标准 比喻 核心问题
ISO/IEC 25010 建筑设计规范 什么是好房子?
ISO/IEC 29119 施工管理手册 如何建造和检查?
IEEE 829 标准化表单 如何记录过程?

一句话总结

  • 25010告诉你"什么是好"

  • 29119告诉你"如何做好"

  • 829告诉你"如何记录做好的过程"


六、算法开发国标:中国的前瞻性布局

6.1 核心现状

这是本文最前沿的部分。关于"算法开发"的国标,目前中国没有单一、独立的强制性国家标准,但已经形成了覆盖算法全生命周期的完善标准体系,特别是在人工智能算法领域走在全球前列。

核心特点

  1. 聚焦人工智能和机器学习算法

  2. 强调可信赖与安全(公平、透明、可问责)

  3. 场景化与行业化先行

  4. 与法规政策协同

6.2 标准体系框架

text

算法国标体系
├── 基础通用类:术语、架构、生命周期
├── 数据与算力类:数据质量、数据安全
├── 算法模型与技术类:开发流程、模型评估
├── 可信赖与安全类:AI治理、安全、可解释
└── 行业应用类:金融、医疗、自动驾驶

6.3 核心标准详解

GB/T 43861-2024《人工智能 机器学习模型生命周期过程》

地位:最接近"算法开发国标"的核心标准

内容:规定了ML模型的完整生命周期过程:

  • 构思:定义问题、需求分析、确定约束

  • 数据工程:收集、清洗、标注、增强

  • 模型工程:特征工程、算法选择、训练、调优

  • 验证与评估:性能、鲁棒性、公平性测试

  • 部署与运维:发布、集成、监控、更新

意义:为AI算法开发提供标准化、工程化的流程指南。

GB/T 43435-2023《信息技术 人工智能 可信赖人工智能指南》

地位:中国版"可信AI"的顶层指导标准

内容:定义可信赖AI的核心属性

  • 准确性、可靠性、韧性

  • 安全性、隐私保护

  • 公平性、透明性、可解释性

  • 可问责性

意义:为算法开发设立伦理和治理框架。

GB/T 43779-2024《信息技术 人工智能 人工智能系统评估规程》

地位:算法和AI系统评估的"操作手册"

内容:规定评估的通用框架、维度和方法

  • 功能性:是否满足需求

  • 效率:资源消耗、响应时间

  • 可靠性/韧性:对抗攻击抵抗能力

  • 安全性:安全漏洞

  • 可维护性:模型更新迭代难易度

数据相关核心标准
  • GB/T 36344-2018《数据质量评价指标》:准确性、完整性、一致性、时效性

  • GB/T 37973-2019《大数据安全管理指南》:数据安全要求

6.4 与传统软件标准的关系

算法开发标准并非孤立存在,而是对传统标准的继承、扩展和特化

text

传统软件质量(ISO 25010: 功能性、性能、安全性...)
        ↓ 继承与扩展
AI算法质量 = 传统软件质量 + AI特有质量
(公平、可解释、可问责、鲁棒、无偏见...)
        ↓ 具体化
GB/T 43435(可信赖指南)、GB/T 43779(评估规程)

关键区别:AI算法增加了传统软件没有的质量维度:

  • 公平性/无偏见:算法不能因种族、性别等因素歧视用户

  • 可解释性/透明性:黑盒决策必须能被人类理解

  • 可问责性:明确算法决策的责任归属

  • 鲁棒性:对对抗样本、数据漂移的抵抗能力


七、实践应用指南

7.1 传统软件项目

建立质量与测试体系

  1. 以ISO/IEC 25010为框架定义非功能需求

  2. 以ISO/IEC 29119为流程建立测试体系

  3. 参考IEEE 829设计测试文档模板(可精简)

7.2 AI算法项目

合规与最佳实践路径

第一步:建立生命周期过程体系

  • 将GB/T 43861作为流程建设蓝图

  • 设立算法质量保证角色

第二步:实施"可信赖-by-Design"

  • 依据GB/T 43435进行早期风险评估

  • 将公平、安全、可解释作为设计约束

第三步:开展多维度评估

  • 上线前按GB/T 43779进行全面评估

  • 评估报告作为上线必要文件

第四步:关注行业监管

  • 跟踪金融、医疗、推荐服务等行业标准

  • 满足《算法推荐管理规定》等法规要求


八、未来展望

8.1 国际趋势

  • 标准化与敏捷的融合:可裁剪性将成为所有标准的核心设计原则

  • AI治理标准化:ISO/IEC正在制定AI管理系统标准(ISO/IEC 42001)

  • DevOps与测试的深度整合:持续测试成为主流

8.2 中国路径

  • 标准体系将持续完善:更多AI细分领域标准将发布

  • 从推荐性走向强制性:关键领域可能出台强制性要求

  • 国际话语权提升:中国标准有望成为国际参考


九、总结

本文系统梳理了从传统软件到现代算法的完整质量标准体系:

标准/体系 核心定位 适用对象
ISO/IEC 25010 定义质量是什么 所有软件产品
ISO/IEC 29119 规范测试过程 测试活动
IEEE 829 标准化文档 测试文档
中国算法国标体系 规范AI开发 AI/ML算法

核心启示

  1. 标准不是束缚,而是最佳实践的结晶

  2. 可裁剪性比生搬硬套更重要

  3. 质量保障应从项目第一天开始,而非测试阶段才介入

  4. AI时代,可信赖成为质量的新核心维度

对于从业者而言,理解这些标准不仅是职业发展的需要,更是交付高质量、可信赖软件产品的基本功。在软件定义一切、算法驱动未来的时代,质量保障能力将直接决定企业和产品的成败。


参考文献

  1. ISO/IEC 25010:2024 Systems and software engineering — Systems and software quality model

  2. ISO/IEC 29119 (all parts) Software and systems engineering — Software testing

  3. IEEE 829-2008 IEEE Standard for Software and System Test Documentation

  4. GB/T 43861-2024 人工智能 机器学习模型生命周期过程

  5. GB/T 43435-2023 信息技术 人工智能 可信赖人工智能指南

  6. GB/T 43779-2024 信息技术 人工智能 人工智能系统评估规程

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐