GB/T 25000.51-2016质量特性解读:维护性测试要点

标准解读 0 阅读 A+ 默认 A-

作者:尚拓小云 | 审核:第三方软件测评

维护性(Maintainability)衡量软件产品在投入使用后被有效修改的难易程度,是 GB/T 25000.51-2016《系统与软件工程 系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》八大产品质量特性之一。第三方测评机构在产品登记测试与项目验收测试中,对维护性开展实测可直接定位后续运维、升级与缺陷修复的潜在成本,避免上线即落入「改一行崩一片」的改造困局。

维护性在 GB/T 25000.51-2016 中的定位与子特性构成

根据国家标准全文公开系统发布的 GB/T 25000.51-2016 标准页面信息:

“GB/T 25000.51-2016《系统与软件工程 系统与软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》确立了 RUSP 的质量要求、测试文档集要求和符合性评价细则,是第三方软件测评机构开展验收测试的主要依据;遵循该标准提供符合性测试的测试实验室依据 ISO/IEC 17025 运作。该标准于 2016-10-13 发布、2017-05-01 实施,状态为现行。”

该标准的质量模型框架与 GB/T 25000.10-2016《系统与软件质量模型》保持一致,对应的国际标准为 ISO/IEC 25010 系列;维护性在标准八大产品质量特性中聚焦「修改的难易」,不替代可靠性所覆盖的运行期稳定性。标准页面见 GB/T 25000.51-2016 国家标准全文公开系统条目。

子特性定义与覆盖范围

维护性下设 5 项子特性,分别从结构、复用、诊断、改造与验证五个角度刻画软件的可维护程度:模块化、可重用性、易分析性、易修改性、易测试性。实测中任一子特性判定不达标,即视为该产品在维护性维度存在遗留风险,需要在测试报告中单独列出问题条款与整改建议。

与其他七大质量特性的边界

维护性聚焦「修改的难易」而非「运行的稳定」——后者由可靠性覆盖;维护性也不同于兼容性(迁移到新环境的能力)与可移植性(适配新环境的能力)。在测评实施中,维护性测试通常与功能性、性能效率等运行期指标并行开展,但取样与判定逻辑独立,避免把运行期缺陷混入维护性结论。

五大子特性的测试要点

模块化测试

模块化考察系统是否由独立组件构成,单一组件变更对其它组件的影响是否可控。实测要点包括:组件边界是否清晰、接口契约是否稳定、模块间依赖是否单向、是否存在跨模块直接读写共享状态。判定依据以静态调用图与接口变更影响面分析为主,可结合架构设计文档交叉验证。

可重用性测试

可重用性关注通用组件是否能在新场景复用而不必重写。实测要点包括:抽取 2-3 个候选公共模块,验证在新业务上下文中的可装配程度、是否依赖特定运行环境、对外接口是否过度暴露内部状态。可重用性弱通常表现为「通用模块被业务写死」,改造时牵一发动全身。

易分析性测试

易分析性衡量定位缺陷、识别待修改部分的有效性与效率。实测要点包括:日志是否覆盖关键路径与异常分支、故障现场是否保留可复现信息、诊断工具(如 APM、链路追踪)是否在生产与测试环境一致部署。判定依据是构造已知缺陷后,定位时间与诊断完整度是否满足需求规格声明的指标。

易修改性测试

易修改性评估在不引入新缺陷、不降低现有质量的前提下完成修改的能力。实测要点包括:选取典型改造需求(如接口字段新增、配置项调整),评估代码改动行数、影响模块数、回归用例命中率。易修改性差常表现为「一处修改触发多条链路回归」,与模块化弱呈强相关。

易测试性测试

易测试性衡量建立有效测试准则、对修改进行验证的难易程度。实测要点包括:自动化用例占比、关键路径覆盖率、测试数据构造成本、测试环境与生产环境的差异度。可测试性不足会直接拉高后续每一次维护的成本,应在登记测试早期就完成基线测量。

典型测试方法与判定依据

静态分析维度

静态分析在不运行程序的前提下扫描代码结构、依赖与编码规范,常用工具包括 SonarQube、PMD、Checkstyle 等。指标体系覆盖代码异味、重复率、圈复杂度、单元测试覆盖率、与编码规范的偏离度等。第三方测评机构在维护性测试中通常以静态扫描报告作为客观佐证,结合架构评审判定模块化与可重用性。

动态验证维度

动态验证通过运行改造场景或故障注入,量化修复与诊断成本。常见做法包括:构造典型需求变更、注入已知缺陷、统计回归用例命中率、记录定位时间。该维度的判定需要事先与开发方约定可接受阈值(如回归用例命中率不低于 95%、定位时间不超过约定 SLA),避免主观判断。

常见缺陷与整改方向

高耦合低内聚

模块间依赖交错、状态共享严重,是维护性问题的高频根因。整改方向包括引入依赖注入、抽象稳定接口、拆分过大组件。第三方测评机构在测试报告中应定位具体耦合点,并要求开发方给出重构优先级与回归验证计划。

回归用例缺位

关键路径缺乏可重复执行的回归用例,是易测试性弱与易修改性弱的共同症状。整改方向包括补齐核心场景自动化用例、纳入 CI/CD 流水线、固化测试数据集。回归用例缺位会让每一次维护性改造都伴随未知风险。

缺乏可执行指标基线

仅做定性描述、未量化改造影响,是整改收效不佳的常见原因。整改方向包括建立改造前后的对比指标(改动行数、影响模块数、回归通过率),并在交付物中持续跟踪。指标基线让维护性从主观感受变为可复核的数据。

第三方软件测评机构可依据 GB/T 25000.51-2016 对维护性子特性开展独立实测,输出符合性评价记录与整改建议清单,为甲方在上线前提供可核验的可维护性证据。

相关文章

分享到: