当前位置: 首页 > 测试知识 > 软件测试质量保障体系:软件功能适用性、软件性能效率、软件可靠性等ISO标准
软件测试质量保障体系:软件功能适用性、软件性能效率、软件可靠性等ISO标准
2025-10-29 作者cwb 浏览次数16

ISO/IEC 25010标准定义了软件产品质量的八大特性和三十一个子特性,它为软件测试和质量保障提供了一个全面、结构化的模型。这个模型是现代软件质量评估的通用语言和主要框架。

下图直观地展示了ISO/IEC 25010标准的完整质量模型,它由两个主要部分构成:使用质量和产品质量,其中产品质量又详细划分为我们熟知的八大特性:

一、功能适用性

这描述了软件在指定条件下使用时,提供满足明示和隐含需求的功能的能力。


测试焦点和活动:

功能完整性:测试软件是否实现了需求规格说明书中规定的所有功能。

功能正确性:验证每个功能在正常、异常和边界条件下都能产生正确的、预期的结果。

功能恰当性:检查所提供的功能是否适合完成指定的任务和目标(即“做正确的事”)。


二、性能效率

这描述了软件在指定条件下使用时,所需的资源量以及其响应和处理时间的表现。


测试焦点和活动:

时间特性:测试系统的响应时间、事务处理速度、吞吐量等。例如,通过负载测试和压力测试来衡量。

资源利用率:监控软件在运行时对CPU、内存、磁盘I/O、网络带宽等系统资源的占用情况。

容量:确定系统能够处理的最大并发用户数、数据量或事务量,确保其在极限条件下不会崩溃。


三、兼容性

这描述了软件、系统或组件之间能够共享信息和/或执行其所需功能,同时和其他产品共存的程度。


测试焦点和活动:

共存性:测试软件和其他软件在同一环境中运行时,不会对其产生负面影响。

互操作性:验证软件和外部系统、设备或其他组件能够成功交换信息并利用所交换信息的能力。

环境兼容性:包括硬件兼容性(如不同厂商的服务器)、软件兼容性(如操作系统、浏览器、数据库版本)和数据兼容性(如不同格式文件的导入导出)。


四、可用性

这描述了用户在指定使用环境下使用软件时,能够被理解、学习、使用和吸引用户的能力。


测试焦点和活动:

可辨识性:测试用户能否容易地识别软件的功能及其使用方式,界面布局是否清晰直观。

易学性:评估新用户学习使用软件以达到熟练程度的难易程度。

易操作性:检查用户控制和操作软件的便利性,包括键盘快捷键、流程设计等。

用户错误防御:验证软件是否能防止用户的操作错误,或在错误发生时提供清晰的恢复指导。

用户界面美观性:评估界面设计是否令人愉悦和满意。

可访问性:确保软件可供具有不同能力(如残疾)的用户使用。


五、可靠性

这描述了软件在指定条件下、指定时间周期内执行指定功能的能力。


测试焦点和活动:

成熟性:通过长时间的稳定性测试(如耐久测试),验证软件在正常使用下无故障运行的能力。

可用性:测量系统的稳态可用性(A),即 A = MTTF / (MTTF + MTTR)。

容错性:测试软件在出现硬件故障、网络中断、输入无效数据等异常情况时,能否维持既定性能水平或优雅降级。

可恢复性:验证软件在发生中断或故障后,恢复数据并重新建立预期状态的能力。


六、安全性

这描述了软件保护信息和数据的程度,以使未经授权的人员或系统不能读取或修改它们,并且授权用户不会被拒绝访问。


测试焦点和活动:

机密性:测试是否确保数据仅能被授权用户访问。

完整性:验证是否能防止数据被未经授权地篡改。

不可抵赖性:检查系统是否能确保执行操作的用户无法否认其行为。

可问责性:验证系统是否能追踪到用户的操作行为。

真实性:测试确认用户、系统身份的真实性的能力。

安全测试方法:包括渗透测试、漏洞扫描、代码安全审计、权限测试等。


七、可维护性

这描述了软件产品可被修改的能力。修改可能包括纠正、改进或适应软件对环境、需求和功能规约变化的调整。


测试焦点和活动:

模块化:评估代码结构是否清晰、模块职责是否单一。

可复用性:检查代码和设计组件是否易于在其他部分或项目中重用。

可分析性:评估诊断软件中缺陷或故障原因的难易程度。

可修改性:测试实施特定修改的难易程度,这通常通过代码复杂度和依赖分析来间接评估。

可测试性:评估为验证修改后的软件而建立测试准则和进行测试的难易程度。


八、可移植性

这描述了软件从一种硬件、软件或其他运行(或使用)环境迁移到另一种环境的能力。


测试焦点和活动:

适应性:测试软件无需额外努力就能适应不同指定环境的能力。

易安装性:验证在指定环境中安装/卸载软件的难易程度和成功率。

易替换性:评估软件在相同环境中替代另一指定软件产品的能力。


如何基于ISO 25010构建质量保障体系

建立质量模型:将ISO 25010作为你们团队共同的质量语言和评估基准。

需求分析和测试策划:在项目初期,就将非功能性需求(性能、安全、可用性等)和功能性需求一同明确,并据此制定覆盖所有相关特性的测试策略和计划。

设计测试用例:针对每个相关的质量特性和子特性,设计具体的测试用例和验收标准。

选择合适工具:运用专业的测试工具(如性能压测工具JMeter/LoadRunner、安全扫描工具、自动化测试框架等)来有效验证各项特性。

持续测试和监控:在CI/CD流水线中集成自动化测试,并对线上系统的性能、可用性、可靠性等进行持续监控。

度量和改进:收集测试数据(如缺陷分布、性能指标、可用性时长),度量各项特性的达成情况,并驱动开发过程进行持续改进。


ISO/IEC 25010标准为软件测试和质量保障提供了一个全景视图。 它让我们认识到,软件质量远不止“没有bug”,而是一个由功能适用性、性能效率、可靠性、安全性等八大特性共同构成的立体化、多方面的综合属性。此体系为指导,才能系统化、全方位地保障和提升软件产品质量。

文章标签: 软件测试标准 软件测试用例 软件测试 软件测试报告 软件测试选题
咨询软件测试