ISO/IEC 25041:2012 SQuaRE — 面向开发者、获取方和独立评估者的评估指南

从三方利益相关者视角出发的软件产品质量评估综合技术指南

1. ISO/IEC 25041 与 SQuaRE 评估框架概述

ISO/IEC 25041 是系统和软件质量需求与评估(SQuaRE)系列标准的关键组成部分,隶属于质量评估分部(ISO/IEC 2504n)。该国际标准为三种不同的利益相关者角色——开发者、获取方和独立评估者——提供了详细的评估指南。与采用通用方法的传统质量标准不同,ISO/IEC 25041 认识到每个利益相关者群体都有独特的目标、约束条件和软件产品访问权限。

对于实践工程师而言,ISO/IEC 25041 最有价值之处在于其基于角色的过程模型。它承认:开发者在集成测试期间评估自身产品的需求,与获取方评估供应商交付物的需求,或第三方实验室执行认证测试的需求,有着本质的区别。

该标准围绕适用于所有三个角色的五阶段评估过程进行组织:建立评估需求、规定评估、设计评估、执行评估、总结评估。每个阶段都有明确的输入、任务和输出,根据利益相关者的视角而有所不同。

阶段 开发者关注点 获取方关注点 独立评估者关注点
建立需求 从需求规格中定义质量目标 将业务需求映射到质量准则 验证需求的完整性
规定评估 从内部质量属性中选择度量 关注外部质量和使用质量度量 独立验证度量选择的合理性
设计评估 规划单元测试、集成测试和系统测试 设计验收测试场景 创建公正的测试协议
执行评估 运行自动化测试套件并收集度量 执行用户验收测试并见证测试 执行独立的测试活动
总结评估 生成内部质量报告和改进反馈 基于结果做出通过/不通过决策 发布正式认证报告
关键的工程见解:标准基于角色的分解防止了一个常见陷阱——将内部质量度量(如圈复杂度、代码覆盖率)与外部质量度量(如吞吐量、负载下的响应时间)混为一谈。开发者自然倾向于内部度量,但获取方关心的是可观察的行为——ISO/IEC 25041 强制要求在两者之间建立显式映射。

2. 五阶段评估过程详述

2.1 建立评估需求

初始阶段定义了评估的目的、范围和严格程度。对于开发者,这通常涉及从软件需求规格说明(SRS)中提取质量要求,并确定要评估的产品部分(模块、组件、子系统)。获取方则侧重于建立业务背景——在预期的运营环境中,哪些质量特性最为重要。独立评估者必须验证评估需求的完整性、一致性和可测试性。

标准引入了严格等级的概念,用于定义评估的严谨程度。较高的严格等级要求更彻底的测试、更大的样本量和更严格的通过/失败标准。这是一种实用的机制,用于将评估工作量与软件应用的关键性相匹配。

工业实践中的常见陷阱:在开始评估之前未能明确定义严格等级。如果没有这种事先约定,开发者可能假设低严格等级而测试不足,而获取方期望高严格等级,这会导致验收阶段的争议和高成本的返工。

2.2 规定和设计评估

在规定阶段,评估者选择合适的质量度量(或评估模块),定义单个度量的判定准则,并建立整体评估的判定准则。设计阶段将这些规格转化为具体的活动:时间安排、资源分配、环境搭建和测试过程定义。

ISO/IEC 25041 鼓励使用评估模块——针对特定质量特性的预定义、可复用的度量包、测量方法和判定准则。这种模块化方法显著减少了跨项目的重复工作,使组织能够逐步积累关于其产品质量的制度化知识。

从软件工程管理的角度看,建立评估模块库是一个组织可以进行的最高回报活动之一。每个模块代表了编码化的测试专业知识,可以一致地应用于各个项目,同时降低成本和风险。

2.3 执行和总结评估

执行阶段包括进行测量、在度量级别和整体评估级别应用判定准则,以及记录结果。标准强调了评审评估结果和为组织提供反馈的重要性——在质量测量和过程改进之间建立闭环。

总结阶段生成评估报告,必须包括:评估范围和目标、使用的质量模型、度量结果及其判定准则、发现的异常及其处理情况,以及整体符合性评估。对于独立评估者,该报告可作为认证的基础。

3. 工程设计见解与实践建议

挑战 ISO/IEC 25041 的解决方案 实施建议
利益相关者之间的质量优先级冲突 特定角色的评估视角允许每个利益相关者以不同权重衡量质量特性 使用与组织质量方针一致的加权评分矩阵
跨项目评估实践不一致 标准化的评估过程,包含定义的阶段和输出 为每个阶段创建带有角色特定检查清单的组织级模板
评估结果难以重现 强制要求记录评估设计、环境和过程 将评估脚本与产品代码一起纳入版本控制
评估成本与效益的不确定性 严格等级提供了基于风险的方法来调整工作量 根据软件关键性分类确定严格等级
对于采用 ISO/IEC 25041 的组织,建议首先实施开发者评估过程。它的进入门槛最低(开发者已经可以访问代码和工具),并能提供关于代码质量的即时反馈。随着质量计划的成熟,逐步增加获取方和独立评估者的过程。

4. 常见问题解答

问1:ISO/IEC 25041 与 ISO/IEC 25040 有何关系?
ISO/IEC 25040 提供了评估参考模型和通用指南,而 ISO/IEC 25041 提供了应用该模型的详细角色特定指南。可以将 25040 理解为”是什么”,将 25041 理解为”如何做”。
问2:ISO/IEC 25041 能否用于敏捷开发过程?
可以。五阶段评估过程与生命周期无关。在敏捷环境中,这些阶段被压缩到冲刺中,每个迭代都重新审视评估需求和规格。关键是在增量执行时保持逻辑顺序。
问3:符合性要求的最少文档是什么?
标准要求记录评估需求、规格、设计、结果和总结评估报告。详细程度应与定义的严格等级相对应。
问4:独立评估者的评估与认证有何区别?
独立评估是测量和评估质量的技术活动;认证是基于评估结果对符合性的正式声明。ISO/IEC 25041 涵盖技术评估过程,而认证方案使用评估结果进行正式认证。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注