ISO/IEC 25010 2023年底第2版:系统和软件工程-系统和软件质量要求与评估 (SQuaRE)-产品质量模型
0 序
- 引言:ISO/IEC 25010 2023年底第2版更新,国标估计几年后才会跟进更新,故启动翻译。
国际标准化组织(ISO the International Organization for Standardization)和国际电工委员会(IEC the International Electrotechnical
Commission)构成了世界标准化的专门体系。作为国际标准化组织或国际电工委员会成员的国家机构通过各自组织设立的技术委员会参与国际标准的制定,这些技术委员会负责特定领域的技术活动。国际标准化组织和国际电工委员会的技术委员会在共同感兴趣的领域开展合作。与国际标准化组织和国际电工委员会联络的其他国际组织、政府组织和非政府组织也参与了这项工作。
ISO/IEC 25010:2023第二版、ISO/IEC 25002:2024第一版和ISO/IEC 25019:2023的第一版取代了ISO/IEC 25010:2011第一版。
主要变化如下:
- 本文件修订了 ISO/IEC 25010:2011 的产品质量模型部分。其他部分移至关于质量模型概述和使用的ISO/IEC 25002 和关于使用质量模型的 ISO/IEC 25019。为了更好地理解和适应 ICT(信息和通信技术 information and communication technology)的最新发展,对产品质量模型的质量特性和子特性进行了修订。
- 产品质量模型的目标已扩展到包括各类ICT产品和信息系统。
- 无害性(Safety)作为质量特性被添加到了子特性中,即操作限制(operational constraint)、风险识别(risk identification)、故障安全(fail safe)、危险警告(hazard warning)和安全集成(safe integration)。
- 可用性(Usability)和可移植性(portability)分别由交互性(interaction capability)和灵活性(flexibility)取代。
- 包容性(Inclusivity)和自描述性(self-descriptiveness)、耐受性(resistance)和可扩展性(scalability)已分别作为交互性、安全性和灵活性的子特征添加。
- UI(User interface aesthetics 用户界面舒适性)和成熟度分别由用户粘性(user engagement)和无故障(faultlessness)取代。
- 可访问性分为包容性和用户支持(user assistance)。
- 一些特征和子特征被赋予了更准确的名称和定义。
1 简介
包括软件产品在内的 ICT(信息和通信技术 information and communication technology)产品越来越多地被用于开展各种组织和个人活动。要实现个人满意、组织成功和/或人类安全的目标,有赖于高质量的ICT产品。高质量的 ICT 产品对于为利益相关者提供价值和避免潜在的负面影响至关重要。在本文件中,"产品"一词用于信息和通信技术产品,包括软件、数据、硬件和通信设施以及其他信息和通信技术产品。产品会对许多利益相关者产生各种影响,包括那些开发、获取和使用产品的人。利益相关者还包括使用该产品的企业客户,以及在实际运行中使用该产品的信息系统影响下的公众。
对目标产品进行全面规范和评估是确保为利益相关者创造价值的关键因素。这可以通过定义与利益相关者对系统的目标和目的相关联的必要和期望的质量特性来实现。这包括与产品和数据相关的质量特性,以及系统对利益相关者的影响。
重要的是,应尽可能使用经过验证或广为接受的衡量标准和衡量方法来指定、衡量和评估质量特性。本文件中的质量模型可用于确定要求、满足标准和相应的测量方法。
本文件旨在与SQuaRE 系列国际标准(ISO/IEC 25000 至 ISO/IEC 25099)中的其他文件结合使用。
本文件是 SQuaRE 系列国际标准的一部分。图1说明了 SQuaRE 系列国际标准的组织结构。类似的标准被分为不同的分部。每个分部为确保系统和软件产品质量的不同功能提供指导和资源。本文件属于质量模型分部,与属于质量管理部门的 ISO/IEC 25002保持一致。
图 1 - SQuaRE 系列国际标准的组织结构 SQuaRE 系列中的部门包括
-
ISO/IEC 2500n--质量管理分部:定义了SQuaRE系列所有其他国际标准中提及的所有通用模型、术语和定义。该部门还为负责管理软件产品质量的要求、规范和评估的辅助功能提供要求和指导。此外,还提供了使用质量模型的实用指南。
- ISO/IEC 25000:SQuaRE指南
- ISO/IEC 25001:规划和管理
- ISO/IEC 25002: 质量模型概述与使用
-
ISO/IEC 2501n - 质量模型分部。介绍了计算机系统和软件产品、数据、信息技术服务和使用质量的详细质量模型。
- ISO/IEC 25010: 产品质量模型
- ISO/IEC TS 25011: 服务质量模型
- ISO/IEC 25012: 数据质量模型
- ISO/IEC 25019: ISO/IEC 25019:使用质量模型
-
ISO/IEC 2502n:质量测量(度量)分部。质量测量框架、质量测量的数学定义及其应用指南。举例说明了产品、数据、信息技术服务和使用中质量的内部和外部属性的质量测量。质量度量要素(QME)是产品内部和外部质量度量的基础,对其进行了定义和介绍。
-
ISO/IEC 2503n--质量要求分部:有助于明确基于质量模型和质量措施的质量要求。这些质量要求可用于为即将开发的信息系统和信息技术服务征集质量要求的过程,或作为评估过程的输入。
-
ISO/IEC 2504n--质量评估分部。为软件产品评估提供了要求、建议和指南,无论是由评估者、采购者还是开发者执行。此外,还提供了将一项措施记录为评估模块的指南。
-
ISO/IEC 25050 至 ISO/IEC 25099 - SQuaRE 扩展分部。即用型软件产品 (RUSP) 的质量要求和测试说明、可用性报告的通用行业格式 (CIF),以及云服务和人工智能等新技术的质量模型和衡量标准。
SQuaRE 标准可与 ISO/IEC/IEEE 12207 和 ISO/IEC/IEEE 15288 结合使用,尤其是质量要求的规范和评估流程。ISO/IEC 25030 描述了如何将质量模型用于系统和软件质量要求;ISO/IEC 25040 描述了如何将质量模型用于系统和软件质量评估。
SQuaRE 标准还可与有关软件过程评估的 ISO/IEC 33000 系列国际标准结合使用,以提供
- 在客户-供应商流程中定义软件产品质量的框架;
- 支持质量审查、验证和确认,以及建立定量质量特征的框架;
- 支持在管理过程中设定组织质量目标。
SQuaRE 标准可与 ISO 9001(涉及质量保证流程)结合使用,以提供以下功能
- 支持制定质量目标;
- 支持设计审查、验证和确认。
2 范围
本文件定义了一个产品质量模型,适用于 ICT(信息与通信技术)产品和软件产品。产品质量模型由与产品质量属性相关的九个特性(又细分为若干子特性)组成。这些特性和子特性为产品质量的规定、测量和评估提供了一个参考模型。
该模型可用于需求规格说明,以及由多个利益相关方(包括开发人员、采购人员、质量保证和控制人员以及独立评估人员)对目标产品在整个生命周期内的质量进行评估。产品生命周期中可受益于该模型的活动包括
- 征集并定义产品和信息系统需求;
- 验证需求定义的全面性;
- 确定产品和信息系统的设计目标,并设计必要的流程以达到质量要求;
- 确定产品和信息系统测试目标;
- 作为质量保证的一部分,确定质量控制标准;
- 确定产品和/或信息系统的验收标准;
- 确定产品质量特性的衡量标准,以支持这些活动。
3 术语和定义
在本文档中,以下术语和定义适用。ISO 和 IEC 在以下地址维护用于标准化的术语数据库:
- ISO 在线浏览平台:https://www.iso.org/obp/ui
- IEC 电子百科全书:网址:https://www.electropedia.org/
上图为2023年第二版的产品质量模型。下图为2011年第一版的产品质量模型:
3.1 功能适用性(functional suitability)
产品在规定条件下使用时,提供满足预定用户明示和暗示需求的功能的能力: 功能适用性不仅涉及功能是否满足明示和暗示的需求,还涉及功能规格(见 C.1)。
3.1.1 功能完备性(functional completeness)
产品提供一套涵盖所有指定任务和预期用户目标的功能的能力
3.1.2 功能正确性(functional correctness)
产品在预期用户使用时提供准确结果的能力: 精确性是正确性的属性之一。
- 示例
在科学软件等要求高精度的产品中,产品可提供所需程度的精确结果和准确结果。
3.1.3 功能适合性(functional appropriateness)
产品提供有助于完成特定任务和目标的功能的能力。与ISO 9241-110:2020:2e 中的任务适宜性相对应。
3.2 性能效率(performance efficiency)
产品在规定的时间和吞吐量参数内执行其功能的能力,以及在规定条件下有效利用资源的能力: 资源可以是CPU、内存、存储和网络设备。
注意:资源可包括其他软件产品、系统的软硬件配置、能源和材料(如打印纸、存储介质)。
3.2.1 时间特性(time behaviour)
产品在特定条件下执行特定功能的能力,使响应时间和吞吐率满足要求
3.2.2 资源利用性(resource utilization)
产品在特定条件下执行特定功能所使用的资源不超过特定数量的能力
3.2.3 容量(capacity)
产品满足产品参数最大限制要求的能力: 参数可包括可存储的项目数、并发用户数、通信带宽、事务吞吐量和数据库大小等。
3.3 兼容性(compatibility)
产品与其他产品交换信息和(或)在共享相同环境和资源的情况下执行其所需功能的兼容性。
3.3.1 共存性(co-existence)
产品在与其他产品共享共同环境和资源的情况下,有效地执行其所需功能,而不对任何其他产品造成有害影响的能力。
3.3.2 互操作性(interoperability)
产品与其他产品交换信息并相互使用已交换信息的能力。
注1:信息是有意义的数据;信息交换包括为交换而转换数据。
3.4 交互能力(interaction capability)
产品与特定用户进行交互的能力,即用户与系统之间通过用户界面交换信息以完成预定任务的能力。
注1:产品质量模型中的交互能力及其子特征主要是指用户(或操作者)能够在各种使用环境中完成特定任务的一组属性。使用中质量模型(ISO/IEC 25019)中定义的可用性则全面关注使用结果,以确定用户在特定使用环境中是否能有效、高效和满意地完成任务。
注2:交互能力是可用性的先决条件。
注3:ISO TR 25060 将交互本身定义为 "用户与交互系统之间通过用户界面进行的信息交流"。
3.4.1 可辨识性(appropriateness recognizability)
产品被用户识别为适合其需要的能力。
注1:可辨识性取决于从产品或系统和/或任何相关文件的初步印象中识别产品功能适宜性的能力。
注2: 产品可通过演示、教程、文档或网站主页上的信息,在用户开始全面使用产品之前提供信息,帮助用户就采用、获取或使用产品做出决定。
3.4.2 易学性(learnability)
产品使特定用户在特定时间内学会使用特定产品功能的能力。
3.4.3 易操作性(operability)
产品具有易于操作和控制的功能和属性的能力。
注1:根据ISO 9241-110 的定义,易操作性与可控性、用户错误的稳健性和用户期望的一致性有关。它还与物理接口设备(如鼠标、触摸笔)的有效性和效率有关。
3.4.4 用户差错防御性(user error protection)
产品防止操作错误的能力
3.4.5 用户粘性(user engagement)
产品以吸引和激励用户的方式展示功能和信息,鼓励用户持续互动的能力。
注:指产品能增加用户愉悦感和满意度的特性,如和谐的色彩、直观的用户界面和友好的语音引导。
3.4.6 包容性(inclusivity)
不同背景的人使用产品的能力: 背景包括(但不限于)不同年龄、能力、文化、种族、语言、性别、经济状况、教育程度、地理位置和生活状况的人。
3.4.7 用户支持(user assistance)
在特定的使用环境中,具有最广泛特征和能力的人使用产品实现特定目标的能力。
注1:能力范围包括语言差异和与年龄、视力、听力、手、臂和腿的使用等有关的残疾。
注2: 本文件和 ISO/IEC 25019 中的 "用户协助 "可采用一套具体的软件无障碍规则和方法。
- 示例:
一个系统,除了视觉显示外,还可以使用多种输入/输出方式,如语音、注视、触摸等,与用户进行交互,以适应视力、听力、可移动的身体部位或这些部位的变化等方面的差异。
注3: 由于用户实际使用环境的差异或变化,超出了最初需求所规定的范围,而给用户带来的不便或效果降低,可以通过重复质量改进周期,从这个质量特性的角度,通过迭代评估和需求定义来发现和解决问题。
例如,使用环境的差异或变化可包括以下情况:
- 在驾驶汽车或乘坐飞机时使用系统;
- 因事故或灾难而在短时间使用和小屏幕视图范围内以交互方式紧急使用系统时;
- 当用户是初学者或正在改变自己的任务目标、使用方法或技能和知识时;
- 当用户因伤病类型或痊愈或病情发展的时间变化而具有不同的体能时。
此外,其他质量(子)特性,通常如适应性(3.8.1)或灵活性(3.8),也可以协同应用,以提高用户协助和交互能力(3.4)。
3.4.8 自描述性(self-descriptiveness)
在用户需要时,产品能提供适当的信息,使用户在不与产品或其他资源进行过多交互的情况下,立即了解产品的功能和使用方法。
注1:其他资源包括用户文档、帮助台、其他用户和其他援助来源。
- 示例:
对用户的操作说明进行划分,并在有用的操作时机以交互方式逐步显示或讲述,以帮助用户轻松理解系统/软件的操作,并防止用户因同时接受过多说明而感到困惑。
3.5 可靠性(reliability)
产品在规定的条件下,在规定的时间内执行规定功能而不发生中断和故障的能力。
注1:软件不会磨损。可靠性的限制是由于需求、设计和实施中的故障或环境变化造成的。
注2: 依赖性(Dependability)经常被用作可靠性的同义词。然而,依赖性的范围更大,还包括安全性(3.6)、性能效率(3.2)和持续支持等。
3.5.1 无故障 (faultlessness)
产品在正常操作下无故障地执行规定功能的能力
注1: 无故障的概念也可应用于其他质量特性,以表示在正常操作下满足要求的程度。
3.5.2 可用性(availability)
产品在需要使用时的易操作性和可获得性。
注1:从外部来看,可用性可通过系统、产品或部件处于运行状态的总时间比例来评估。因此,可用性是无故障性(控制故障频率)、容错性(3.5.3)和易恢复性(3.5.4)(控制每次故障后的停机时间)的组合。
注2: 故障转移或系统复制可用于支持可用性。
3.5.3 容错性(fault tolerance)
产品在硬件或软件出现故障的情况下仍能按预期运行的能力。
3.5.4 易恢复性(recoverability)
产品在发生中断或故障时恢复直接受影响的数据并重建系统理想状态的能力。
注1:"易恢复性 "是指产品在发生中断或故障时恢复直接受影响数据并重新建立系统所需状态的能力: 产品的易恢复性决定了故障后不可用期的长短,在此期间,产品无法达到与故障前相同的使用水平。不过,产品的易恢复性取决于产品运行的计算机系统或其功能子集的易恢复性。
3.6 安全性(security)
产品保护信息和数据的能力,使个人或其他产品拥有与其授权类型和级别相适应的数据访问权限,并抵御恶意行为者的攻击模式。
注1:除产品或系统中存储的数据或由产品或系统存储的数据外,安全还适用于传输中的数据。
3.6.1 保密性(confidentiality)
产品确保只有获得授权的人才能访问数据的能力
3.6.2 完整性(integrity)
产品确保其系统和数据状态不会因恶意行为或计算机错误而被擅自修改或删除的能力
3.6.3 抗抵赖性(non-repudiation)
产品证明行动或事件已经发生的能力,使事件或行动事后无法推翻
3.6.4 可核查性(accountability)
产品使实体的行为能被唯一地追踪到该实体的能力
3.6.5 真实性(authenticity)
产品证明主体或资源的身份与所声称的身份一致的能力。
3.6.6 耐受性(resistance)
产品在受到恶意攻击时维持运行的能力: 恶意攻击可包括拒绝服务攻击、勒索软件攻击或其他恶意行为。
注:可以采用以下方法来提高产品耐受性:
- 使用安全(3.6)工具,如安全弱点诊断工具、漏洞扫描仪和静态分析工具,消除产品的潜在缺陷或弱点,从而不断保护自己免受众所周知的攻击;
- 通过安全软件编码和/或加入安全增强功能或机制,最大限度地降低产品的脆弱性;
- 出于安全考虑,在产品生命周期内保持产品更新。
参考资料
- 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
- 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
- python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
- Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html
- 如需英文原版可联系微信pythontesting
3.7 可维护性(maintainability)
产品由预定维护者进行有效和高效修改的能力。
注1:修改可包括更正、改进或调整产品以适应环境、要求和功能规格的变化。修改包括由专业支持人员进行的修改,以及由业务或操作人员或最终用户进行的修改。
注2: 可维护性包括更新和升级的安装。
注3: 可维护性既可以解释为产品为维护活动提供便利的固有能力,也可以解释为维护者为维护产品而体验到的使用质量。
3.7.1 模块化(modularity)
产品限制对一个组件的更改而不影响其他组件的能力。
注1:模块化意味着产品是由离散的模块或组件组成,其内容具有内聚性,与其他模块或组件的耦合度最小。
3.7.2 可重复使用性(reusability)
产品在多个系统中作为资产使用或用于构建其他资产的能力
3.7.3 可分析性(analysability)
对产品的一个或多个部件进行有效和高效评估的能力,以诊断产品的缺陷或故障原因, 或确定需要修改的部件。
注1:实施可包括为产品提供分析自身故障的机制,并在故障或其他事件发生前提供报告。
3.7.4 可修改性(modifiability)
在不引入缺陷或降低现有产品质量的情况下,对产品进行有效和高效修改的能力。
注1:实施包括编码、设计、记录和验证更改。
注2: 模块化(3.7.1)和可分析性(3.7.3)可影响可修改性。
注3: 可修改性是可变更性和稳定性的结合。
3.7.5 可测试性(testability)
产品在设计和执行客观可行的测试以确定是否满足要求方面的能力。
3.8 灵活性(flexibility)
产品适应需求、使用环境或系统环境变化的能力。
注1:使用环境的灵活性应考虑两个不同的方面,即技术和非技术方面。技术方面与产品的执行环境有关,如软件、硬件和通信设施;非技术方面与社会环境有关,如用户和任务,以及物理环境,如气候和自然。
3.8.1 适应性(adaptability)
产品在不同的硬件、软件或其他操作或使用环境下进行有效和高效调整或转换的能力。
注1:适应包括由专业支持人员进行的适应,以及由业务或操作人员或最终用户进行的适应。
注2:如果产品由最终用户进行改装,则与ISO 9241-110 中定义的个性化的适宜性相对应。
注3:由于用户实际使用环境的差异或变化超出了最初在要求中规定的范围而造成的无效或低效,可通过重复质量改进循环来解决,在此循环中,从该质量特性的角度反复进行评估和要求定义,并发现和解决问题。
此外,其他质量子特征,如包容性(3.4.6)和用户支持(3.4.7),也可以提高适应性和灵活性(3.8)。例如,使用环境的差异或变化可包括以下情况:
- 在水下或外太空等非预期情况下使用系统;
- 在能源供应较少或因事故或灾难而无法连接通信网络的有限运行模式下使用系统时;
- 最初未预料到的各类用户参与或受到影响时。
3.8.2 可扩展性(scalability)
产品处理不断增加或减少的工作量或调整其容量(3.2.3)以处理可变性的能力。
3.8.3 可安装性(installability)
产品在特定环境中有效、高效地成功安装和/或卸载的能力。
注1:如果产品由最终用户安装,则安装性会影响产品的适合性(3.1.3)和易操作性(3.4.3)。
3.8.4 可替换性(replaceability)
产品在相同环境中替代另一特定产品用于相同用途的能力。
注1:软件产品新版本的可替换性对用户升级非常重要。
注2:可替换性可以包括可安装性(3.8.3)和可适应性(3.8.1)两个属性。由于其重要性,这一概念被单独作为一个子特性引入。
注3:可替换性降低了锁定风险,这样就可以使用其他软件产品替代现有产品,例如通过使用标准文件格式。
3.9 无害性(Safety)
产品在规定条件下避免危及人的生命、健康、财产或环境的能力: 在本文件中,"Safety"被定义为描述产品能够避免不可容忍的暴露的能力。因此,该定义不同于其他有关safety的标准,后者将safety定义为免于不可接受的风险。
3.9.1 运行限制(operational constraint)
当遇到操作危险时,产品将其操作限制在安全参数或状态范围内的能力。
注1:操作危险是一种危险情况,是指在操作过程中人员、财产或环境面临不可接受的风险的情况。
- 例1:防止飞机因环境条件或飞行员失误而进入失速状态的约束。
- 例2:将放射装置释放的辐射量限制在安全阈值内的约束条件,与操作员的输入无关。
3.9.2 风险识别(risk identification)
产品识别可能使生命、财产或环境面临不可接受风险的事件或操作过程的能力。
3.9.3 故障安全(fail safe)
产品在发生故障时自动进入安全运行模式或恢复到安全状态的能力。
注1:当故障安全质量子特性用于复杂系统或软件时,通常很难确定哪种行为更安全。在这种情况下,可以使用功能Safety(3.9)概念,然后进行危害分析和安全风险评估,以得出安全目标和要达到的安全要求。
注2:可采用以下方法提高产品的质量子特性能力:
- 以消除或尽量减少故障造成的损害的方式运行;
- 实施一种机制,在发生故障时转移对足够多操作的控制,以继续保持安全性能。
示例:当正常运行出现故障时,交通信号灯在所有方向都恢复为红色闪烁。
3.9.4 危险警告 (hazard warning)
产品对操作或内部控制不可接受的风险发出警告的能力,使其能够在足够的时间内作出反应,以维持安全操作。
示例:行人交通信号灯在由绿灯转为黄灯或红灯之前发出警告信号,如显示剩余秒数。
3.9.5 安全集成(safe integration)
产品在与一个或多个组件集成期间和集成后保持安全(3.9)的能力。
4 产品质量模型
4.1 产品质量模型结构 产品质量模型将产品质量特性分为九个特征:
功能适用性、性能效率、兼容性、交互能力、可靠性、安全性、可维护性、灵活性和无害性。每个特性都由一组相关的子特性组成。
4.2 产品质量模型的目标
下图描述了不同的质量模型如何适用于信息系统或IT服务系统的不同组件。这些质量模型共同作为一个框架,可确保在明确要求、开发或评估信息系统、ICT 产品、数据或 IT 服务时,考虑到质量的所有相关方面。不过,每个模型中质量特性的优先级取决于信息系统的使用环境。使用环境代表了一系列相互作用的因素,包括
- 用户:使用系统的人员类型
- 目标:用户使用系统的目的
- 用户环境:用户使用系统的环境
- 系统背景:所使用系统的性质和技术背景
产品质量模型的重点是目标ICT产品,包括目标软件产品。目标ICT产品还包括硬件和通信设施,以及作为数据质量模型主题的数据。目标 ICT 产品包含在信息系统中,而信息系统也可能包含一个或多个 ICT 产品。
注1:当 IT 服务不包含 ICT 产品及其组件时,可将 IT 服务与它们分开评估。
注2:当硬件和通信设施是 ICT 产品的组成部分时,产品质量模型间接适用于它们。
注3:服务提供系统是为用户提供 IT 服务的信息系统,包括人员、流程、技术、设施和信息。
5 与使用质量模型的关系
功能适用性、性能效率、兼容性、交互能力、可靠性、安全性、灵活性和无害性对主要用户的使用质量具有重要影响。
功能适用性、性能效率、交互能力、可靠性、安全性、灵活性和无害性也可能是专门从事这些领域工作的其他利益相关者特别关注的问题。
性能效率、兼容性、可靠性、安全性、可维护性、灵活性和安全性对维护系统的二级用户的使用质量具有重要影响。