软件验收测试常用的技术标准,主要分为国际标准、国家标准和行业/军用标准,分别定义了验收测试的过程、根据、标准和文档要求。
以下是引用最多的几类标准:
一、国际标准
1. ISO/IEC 25051:2014 《就绪可用软件产品(RUSP)的质量要求和测试细则》
这是最直接针对商业现货软件/产品验收的标准。它规定了产品说明书、用户文档和软件本身的测试要求,并提供了详细的测试用例设计指引和符合性评价表,被用作签订合同的技术附件。
2. ISO/IEC 25010:2011 《系统和软件质量模型》
不是测试流程标准而是定义验收标准的基础标准。将软件质量分为8大特性(功能适用性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性、可移植性),任何验收测试都需要引用这个模型来确定具体的质量需求和评价标准。
3. ISO/IEC/IEEE 29119 系列《软件测试》
这是全面描述测试过程的标准:
第2部分(测试过程):定义了包括验收测试过程在内的多层测试流程,是制定组织级测试规范的根据。
第3部分(测试文档):定义了测试计划、测试用例、测试报告等模板。
第4部分(测试技术):规范了等价类划分、边界值分析、决定表等黑盒测试设计技术,直接指导验收测试用例的编写。
4. IEEE 1012-2016 《系统、软件和硬件的证实和确定》
包括整个生命周期的V&V活动,其中确定包含了验收阶段对软件是不是满足用户需求的确定活动,强调整体完整性级别的差别。
二、国家标准
1. GB/T 25000.51-2016 《系统和软件工程 就绪可用软件产品的质量要求和测试细则》
这是国内使用率很高的标准,等同采用 ISO/IEC 25051。它是产品发布、委托开发验收的必检根据,尤其是附录中的测试项(功能、性能、安全性、兼容性等)常被直接用作验收清单。
2. GB/T 25000.10-2016 《系统和软件质量模型》
等同采用 ISO/IEC 25010,用于确立验收的质量特性和子特性。
3. GB/T 15532-2008 《计算机软件测试规范》
旧版但仍有广泛参考作用。它确定区分了单元测试、集成测试、确定测试和验收测试,规定了验收测试的进入/退出标准、测试对象、测试内容(如文档审计、功能、性能、强度测试等),实操性强。
4. GB/T 8567-2006 《计算机软件文档编制规范》
规定了开发过程中应交付的文档(需求、设计、用户手册等),而这些文档正是验收测试的审计和测试依据。
三、行业和军用标准
1. 军用软件测试
GJB/Z 141-2004 《军用软件测试指南》:确定规定了软件验收测试的目的、内容、过程和环境要求,以及对需求包括、边界情况、鲁棒性等测试重点。
GJB 438C 《军用软件开发文档通用要求》:规定了验收阶段需准备的软件产品规格说明等文档,间接约束了验收标准。
2. 特定领域标准
金融行业:如 JR/T 0098系列(移动金融客户端应用软件规范)等,含有金融软件验收的安全及功能特性要求。
航天/核电等安全领域:常引用 DO-178C(机载软件)、IEC 60880(核电站软件)等,验收有极其严格的标准和过程要求,虽非通用标准,但属于领域的技术标准”。
怎样组合使用这些标准?
在一个软件验收测试项目中,团队一般会分层引用:
定义验收标准:根据 GB/T 25000.10 建立质量模型。
执行测试活动:参照 GB/T 15532 规划流程,用 ISO/IEC/IEEE 29119-4 的黑盒技术设计用例。
编写验收依据:对于交付型产品,直接使用 GB/T 25000.51 作为测试条款,合同和需求规格说明书作为基线。
文档和记录:按 ISO/IEC/IEEE 29119-3 或 GB/T 8567 规范产出测试计划、用例和报告。