软件验收测试用例怎么写?需求覆盖、评审要点与常见误区

软件验收 0 阅读 A+ 默认 A-

作者:李辉 · 验收专家  |  审核:内容审核(软测实验室)

验收会开到一半,甲方拿着需求规格说明书逐条核对:“这一项功能,你们的测试用例在哪?覆盖了吗?”开发团队翻遍文档,只找到几张零散的测试执行记录,验收当场被叫停,上线时间跟着顺延。类似场景在软件项目验收中并不少见,问题往往不出在系统本身,而在于验收测试用例没有提前写扎实。用例写得规范、覆盖完整,验收会才能开得有据可依。

验收测试用例与日常测试用例的差别

日常迭代测试重在发现缺陷,用例可以随时增删调整;验收测试用例面向的是正式验收场景,背后站着合同条款、需求基线和测评依据,写法上有明显不同。

依据来源不同:以合同与需求规格为硬约束

验收测试用例必须能逐条追溯到合同技术条款和需求规格说明书,需求文档里的每一条“系统应……”,都应在用例中有对应的验证点。GB/T 15532-2008《计算机软件测试规范》将验收测试列为独立的测试阶段,其输入正是经过甲乙双方确认的需求基线,脱离需求编写的用例在评审时站不住脚。

通过判定不同:判的是“能否交付”

日常测试关注缺陷密度和修复率,验收测试关注的是每条需求的验证结果是否满足验收准则,结论直接影响项目能否通过验收、进入付款与移交环节。因此每条用例都要写清“怎样算通过”,不留模糊空间。

使用对象不同:给甲方和评审专家看

验收会上,甲方代表和专家会抽查用例。用例表述要让非技术背景的评审者也能看懂:验证的是什么需求、怎么执行、结果如何判定。写得只有开发自己能懂的用例,等于没写。

动笔前先建需求追踪矩阵

验收测试用例不是从零开始写,而是从需求条目“翻译”过来。没有追踪矩阵,覆盖缺口只能靠人脑记忆,漏项几乎不可避免。

三列映射:需求编号、用例编号、验证结论

用一张表格建立映射:左列列出合同和需求规格中的全部条目,中列填覆盖它的用例编号,右列留作执行后的验证结论。表格建完,空缺处一目了然,就是要补写的用例。

用覆盖率倒逼用例补齐

功能需求通常要求逐条覆盖;性能、安全、可靠性等非功能需求,按合同约定的指标对核心场景覆盖。若项目需要出具第三方验收测试报告,测评机构同样会按需求覆盖率核对用例的完备性。像北京尚云(尚拓云测)这类第三方测评机构在实施验收测试时,会先审查需求追踪矩阵,再执行测试。

验收测试范围

一条合格的验收测试用例包含哪些要素

参照国标的七项要素

GB/T 9386-2008《计算机软件测试文档编制规范》给出了测试用例说明的标准结构:用例标识符、测试项、输入说明、输出说明、环境要求、特殊规程要求、用例间依赖关系。落地到验收场景,建议再加两列:对应需求编号、验收准则,形成完整的可追溯链条。

示例:一条登录功能的验收用例

要素 内容示例
用例标识 AC-LOGIN-003
对应需求 需求规格 3.2.1 条:连续 5 次口令错误锁定账户
输入说明 对同一账户连续输入 5 次错误口令
预期输出 第 5 次失败后账户锁定,页面提示锁定时长;锁定期内正确口令也无法登录
环境要求 验收环境,版本与配置与生产一致
依赖关系 前置用例 AC-LOGIN-001 通过后执行

这张表的价值在“预期输出”可判定:锁定行为、提示内容都写得清清楚楚,执行者不需要临场解释,评审专家也能直接对照需求。

国标验收依据

用例评审、基线管理与三个高频误区

评审怎么开:让甲方逐条签字确认

用例定稿前组织一次评审会,甲乙双方逐条确认覆盖关系与验收准则,确认后形成用例基线并签字。后续需求发生变更,走变更流程并同步更新用例版本,保证用例与需求始终一致。

误区一:用例照搬开发自测记录

开发自测用例粒度粗、预期结果往往缺失,直接拿去应付验收,容易被专家抽查问住。验收用例应当独立编写或系统性重构,而不是简单改名换姓。

误区二:只覆盖正常流程

只写“正常操作能通过”的用例,一旦评审现场抽查边界值、异常输入、权限越界场景,就会露馅。异常与边界场景的用例占比建议保持在三成以上,重点覆盖涉及资金、权限和数据完整的业务环节。

误区三:环境与数据不做约定

用例在开发环境跑通,到了验收现场却因数据不同复现失败,双方各执一词。用例的“环境要求”一栏应写明验收环境的版本、初始化数据和账号权限,并在验收前完成环境核验。

软件测试报告

距离验收还有时间窗的项目,建议按三步推进:把合同和需求规格逐条拆解成追踪矩阵;按国标七要素补齐并重构用例,重点补齐异常场景;组织甲方评审签字,冻结用例基线。基线一旦确认,执行阶段照单验证即可,验收会上的争议会大幅减少。如果项目周期紧,或需要出具具备 CNAS/CMA 资质的验收测试报告,也可以把用例审查与测试执行交给第三方测评机构,验收材料一次成型,避免反复返工。

相关文章

分享到: