软件测试 - ISO 标准
软件测试 - 相关 ISO/IEC 和 IEEE 标准
Section titled “软件测试 - 相关 ISO/IEC 和 IEEE 标准”国际标准在指导软件质量保证和测试实践方面发挥着至关重要的作用。组织通常采用这些标准来改进其流程、确保产品质量并满足合同或法规要求。本章重点介绍与软件测试相关的关键 ISO/IEC 和 IEEE 标准。
ISO/IEC 25000 系列 (SQuaRE)
Section titled “ISO/IEC 25000 系列 (SQuaRE)”ISO/IEC 25000 系列,称为 SQuaRE (System and Software Quality Requirements and Evaluation,系统与软件质量需求和评估),提供了衡量软件产品质量的全面框架。它取代了较旧的标准,如 ISO/IEC 9126 和 ISO/IEC 14598。SQuaRE 被组织成几个部分:
- ISO/IEC 2500n - Quality Management Division(质量管理部分): 定义了质量管理的通用模型、术语和指南。
- ISO/IEC 2501n - Quality Model Division(质量模型部分): 描述了产品质量模型(内部/外部和使用质量)。
- ISO/IEC 2502n - Quality Measurement Division(质量测量部分): 提供了质量测量的参考模型和定义。
- ISO/IEC 2503n - Quality Requirements Division(质量需求部分): 指导质量需求的规范。
- ISO/IEC 2504n - Quality Evaluation Division(质量评估部分): 详细说明了评估软件质量的过程和方法。
ISO/IEC 25010 - 系统和软件质量模型
Section titled “ISO/IEC 25010 - 系统和软件质量模型”作为 SQuaRE 的关键部分,ISO/IEC 25010 定义了软件产品的产品质量模型,包含八个特性:
- Functional Suitability(功能适用性): 功能满足明确和隐含需求的程度。
- Performance Efficiency(性能效率): 在规定条件下,性能与所使用资源的相对关系(例如,时间行为、资源利用率、容量)。
- Compatibility(兼容性): 产品与其他产品交换信息或在共享相同硬件或软件环境下执行其所需功能的程度。
- Usability(易用性): 特定用户在特定使用情境下使用产品,以有效性、效率和满意度达到特定目标的程度(包括学习能力、可操作性、用户错误防护、用户界面美学、可访问性)。
- Reliability(可靠性): 系统在规定条件下、在规定时间内执行指定功能的程度(例如,成熟度、可用性、容错性、可恢复性)。
- Security(安全性): 产品保护信息和数据,使人员或其他产品能够获得与其类型和授权级别相符的数据访问权限的程度(例如,保密性、完整性、不可抵赖性、可追溯性、真实性)。
- Maintainability(可维护性): 目标维护人员修改产品的有效性和效率程度(例如,模块化、可重用性、可分析性、可修改性、可测试性)。
- Portability(可移植性): 系统从一种硬件、软件或其他操作或使用环境转移到另一种环境的有效性和效率程度(例如,适应性、可安装性、可替换性)。
ISO/IEC 25010 还定义了一个“使用质量(Quality in Use)”模型,从用户角度关注有效性、效率、满意度、无风险以及情境覆盖。
ISO/IEC/IEEE 29119 - 软件测试标准
Section titled “ISO/IEC/IEEE 29119 - 软件测试标准”这是一套国际公认的软件测试标准,旨在覆盖整个软件测试生命周期。它旨在取代或超越几个与测试相关的较旧的 IEEE 标准。主要部分包括:
- ISO/IEC/IEEE 29119-1: Concepts and Definitions(概念与定义) - 提供软件测试词汇表。
- ISO/IEC/IEEE 29119-2: Test Processes(测试过程) - 定义了一个通用的测试过程模型,可在任何软件开发生命周期中实施。
- ISO/IEC/IEEE 29119-3: Test Documentation(测试文档) - 规定了测试文档(例如,Test Plan、Test Design Specification、Test Case Specification、Test Report)的模板和示例。这部分深受 IEEE 829 标准的影响。
- ISO/IEC/IEEE 29119-4: Test Techniques(测试技术) - 提供了常见软件测试设计技术的定义和示例(例如,equivalence partitioning、boundary value analysis、decision tables、state transition testing)。
- ISO/IEC/IEEE 29119-5: Keyword-Driven Testing(关键词驱动测试) - 提供了关键词驱动测试自动化的标准。
尽管内容全面,该标准在测试社区中也面临一些争议和讨论。欲了解更多信息,请搜索“ISO 29119 software testing standard”。
ISO/IEC 9241-11 - 人机交互人体工程学 - 第 11 部分:易用性:定义和概念
Section titled “ISO/IEC 9241-11 - 人机交互人体工程学 - 第 11 部分:易用性:定义和概念”该标准提供了关于易用性的指导,将其定义为“特定用户在特定使用情境下使用系统、产品或服务,以有效性、效率和满意度达到特定目标的程度”。它强调易用性取决于使用情境,并通过用户表现和满意度来衡量,而不仅仅是产品功能。
其他相关 IEEE 标准
Section titled “其他相关 IEEE 标准”尽管 ISO/IEC/IEEE 29119 旨在整合许多测试标准,但一些较早的 IEEE 标准仍然被引用或提供基础概念:
| 标准 | 描述 |
|---|---|
| IEEE 829-2008 | 软件和系统测试文档标准(主要已整合到 ISO/IEC/IEEE 29119-3 中)。 |
| IEEE 1008-1987 (已归档) | 软件单元测试标准(概念仍然相关,现代框架提供实现)。 |
| IEEE 1012-2016 | 系统、软件和硬件 Verification and Validation (V&V) 标准。 |
| IEEE 1028-2008 | 软件评审和审计标准(涵盖检查、走查等)。 |
| IEEE 730-2014 | 软件质量保证流程标准。 |
实际应用:组织可以参考这些标准来构建其测试流程、定义文档、选择合适的测试技术并建立质量模型。像 ISTQB (International Software Testing Qualifications Board,国际软件测试资质认证委员会) 这样的认证机构也基于与这些国际标准一致的概念来制定其教学大纲。