测试用例编写规范怎么写:结构、步骤与评审检查

测试用例编写规范要回答的是“用例写成什么样才算合格、由谁写、谁评审、什么条件下能进入执行”。一份可落地的规范通常包含统一字段与写法约定、从需求到用例的设计步骤、角色分工与交付物、可逐项判断的评审检查四部分。本文给出可直接套用的文档骨架、字段表、设计流程、正反示例和评审清单,并说明如何借助工具承载需求关联与评审记录。



要点总览(TL;DR)


  • 测试用例编写规范由五块组成:适用范围、字段定义、写法约定、设计步骤、角色与评审规则,篇幅服从可执行性。
  • 核心字段建议保留编号、标题、前置条件、操作步骤、预期结果、关联需求,其余字段可按团队规模裁剪。
  • 设计流程按“收集需求与验收标准→拆分测试点→选择设计方法→编写用例→建立覆盖对照”推进,等价类、边界值、场景法、状态迁移按测试点性质选用。
  • 评审以字段完整、步骤可执行、预期结果可观察、覆盖需求条目、一条用例一个验证点为阻断项,阻断项清零才进入执行。
  • 规范落地看三个信号:新成员初稿阻断项下降、覆盖对照表能回答需求有无用例、需求变更后失效用例被及时标记。


一份测试用例编写规范应包含哪些内容


规范文档的篇幅服从可执行性。一份能让新成员照着写、让评审人照着判的规范,通常由五块内容组成:适用范围、字段定义、写法约定、设计步骤、角色与评审规则。五块之间是递进关系——先界定管什么,再规定写什么、怎么写、按什么流程写,最后规定谁来判、按什么标准判。


适用范围放在文档开头,写明规范覆盖哪些产品线、哪些测试类型(功能、接口、兼容性等),以及哪些场景可以简化。范围写清楚,后续字段和评审标准才有统一口径,避免不同项目各写一套。


字段定义是规范的核心。字段不必多,但要保证他人拿到一条用例能独立执行。下表是一份可直接裁剪使用的核心字段表:


字段 填写要求 是否必填
用例编号 按模块或需求前缀加序号,全局唯一,便于引用与追溯 必填
标题 写清验证对象与关键条件,如“手机号未注册时登录提示账号不存在” 必填
前置条件 执行前必须满足的系统状态、账号状态、数据状态 必填
测试数据 本用例使用的具体输入值,或指向数据集的说明 按需
操作步骤 按顺序编号的可执行动作,每步一个动作 必填
预期结果 与步骤对应的可观察现象,含界面提示、数据变化、状态流转 必填
优先级 按业务影响与使用频率分级,如高、中、低 必填
关联需求 对应的需求条目或验收标准编号 必填

字段可按团队规模裁剪。小团队可以合并测试数据与前置条件,但编号、标题、步骤、预期结果、关联需求五项建议保留,它们分别支撑追溯、检索、执行和覆盖判断。


写法约定用简短条款固定下来,常见的有三条:一条用例只验证一个判断点;步骤写到他人可照着操作的程度;预期结果写成可观察的现象,避免“正常”“正确”这类无法判定的表述。这三条直接决定评审时能否逐项判断。


规范还要划清与相邻工作的边界。规范管的是用例的内容质量与评审准入;用例库的分层组织、跨项目复用属于资产管理范畴;自动化脚本如何实现属于工程实现范畴。边界写清楚,规范就不会被写成一本包罗万象的手册,执行时也少争议。



从需求到用例:设计步骤与写法约定


设计流程按“输入—动作—输出”推进,每一步都有明确的完成标志,避免写到一半才发现覆盖不全。


第一步,收集输入。输入包括需求条目、验收标准、接口文档或界面说明。完成标志是每条待测需求都有可引用的编号,验收标准能拆出至少一个可判断的结论。验收标准含糊时,先找需求方澄清,澄清结论回写到需求条目,再进入下一步。


第二步,拆分测试点。把每条需求拆成若干“可独立判断对错”的测试点,形成测试点清单。拆分时关注三类来源:正常业务流程、异常与边界输入、状态与权限变化。完成标志是测试点清单能逐条对应回需求编号,且没有两个测试点验证同一件事。


第三步,选择设计方法。按测试点性质选用方法,不必每条都用全套:


  • 输入取值范围明确的,用等价类划分与边界值分析,覆盖有效值、无效值和边界两侧;
  • 涉及多步骤业务流程的,用场景法,写主流程与关键分支流程;
  • 对象有明确状态变化的,用状态迁移法,覆盖合法迁移与非法迁移;
  • 多个条件组合影响结果的,用判定表梳理条件与动作的对应关系。

第四步,编写用例。按字段表逐项填写。标题写“条件+验证对象+预期方向”,步骤写操作,预期结果写现象。一条用例只保留一个验证点,多个判断点拆成多条,便于失败时定位。


第五步,建立覆盖对照。输出一张覆盖对照表,列出需求编号、测试点、对应用例编号、优先级。完成标志是每条需求至少有一条用例覆盖,高优先级需求的主流程与关键异常都有对应用例。覆盖对照表同时是评审时的核对依据。


测试数据单独约定准备方式:固定数据集(如测试账号、基础配置)由团队统一维护并注明版本;用例内临时构造的数据写在测试数据字段;涉及敏感信息的数据做脱敏处理。复用同一数据集时,在用例中引用数据集名称而非重复抄写,减少维护成本。


写法上还有两个细节值得固定。步骤中的操作对象写具体名称,如“在登录页手机号输入框输入 13800000000”,避免“输入手机号”这类需要读者自行补全的表述。预期结果按步骤顺序对应书写,一步操作对应一条可观察现象,出现多条现象时拆成子项编号。



角色分工与各环节交付物


规范能否执行,取决于每个环节是否有人负责、有物可交。下表按角色列出动作与交付物,完成标志用于判断该环节是否可以进入下一环节。


角色 主要动作 交付物 完成标志
测试设计者 拆分测试点、选择设计方法、编写用例 测试点清单、用例初稿、覆盖对照表 每条需求有对应用例,字段填写完整
需求或开发角色 澄清需求歧义、确认预期结果 澄清结论、预期结果确认意见 有争议的预期结果已达成一致并回写
评审人 按检查清单逐项核对,给出结论 评审意见、通过或阻断结论 阻断项全部关闭,结论已记录
用例维护责任人 处理需求变更、标记失效用例、更新版本 变更记录、失效用例清单 变更后覆盖对照表同步更新

测试设计者是第一责任人,对用例的可执行性负责。需求或开发角色的参与集中在预期结果确认上,尤其是涉及业务规则和计算逻辑的部分,这类内容仅靠测试侧推断容易出错。评审人可以是同组测试成员,也可以是跨组互评,关键是按同一份清单判断。维护责任人通常由模块负责人兼任,负责需求变更后及时更新用例,避免用例库长期积累失效内容。


交付物的完成标志要写进规范,而不是停留在口头约定。例如“用例初稿完成”指字段完整且覆盖对照表已填;“评审通过”指阻断项清零且结论已记录。标志明确,交接时就不需要反复确认进度。


当团队使用测试管理工具承载这些动作时,需求关联、评审流转和状态记录可以放在同一处。ONES TestCase 支持测试用例与需求、任务关联,测试计划与迭代关联,形成测试流程闭环;用例属性可自定义,便于把上述字段表落到工具中;未通过的用例可快速创建缺陷任务,缺陷在测试与研发团队间流转。评审意见与结论的记录方式需结合团队实际配置确认,规范中可先约定记录载体与必填内容。



示例:一条合格用例与一条待修改用例


下面用登录失败提示场景做正反对比,把字段和写法约定落到具体文本上。


合格用例示例。


  • 用例编号:LOGIN-012
  • 标题:手机号未注册时使用密码登录,提示账号不存在
  • 前置条件:系统运行正常;手机号 13900000001 未注册任何账号
  • 测试数据:手机号 13900000001,密码 Abc12345
  • 操作步骤:1. 打开登录页;2. 在手机号输入框输入 13900000001;3. 在密码输入框输入 Abc12345;4. 点击“登录”按钮
  • 预期结果:1. 登录页正常展示手机号、密码输入框与登录按钮;2. 输入内容完整显示;3. 密码以掩码显示;4. 页面停留在登录页,弹出提示“账号不存在”,不跳转首页
  • 优先级:高
  • 关联需求:REQ-LOGIN-003

待修改用例示例。


  • 标题:登录测试
  • 步骤:输入账号密码,点击登录,检查结果
  • 预期结果:登录正常或提示错误

这条用例的问题可以逐项指出:标题没有写验证对象和条件,无法判断测的是成功还是失败;步骤缺少具体输入值,他人无法照着执行;预期结果用“正常或提示错误”覆盖了两种相反结果,执行后无法判断通过与否;一条用例混入了成功与失败两个验证点。修改方式是拆成两条用例,分别对应登录成功与账号不存在两种情形,各自补齐前置条件、测试数据和可观察的预期结果,并把关联需求补上。


从示例可以归纳出可迁移的写法规律:标题回答“在什么条件下验证什么”;步骤回答“怎么做”,每步一个动作并带具体输入;预期结果回答“看到什么”,写界面提示、页面跳转、数据变化等可观察现象;一条用例只回答一个问题。按这四条检查,大部分含糊用例都能被识别出来。



评审与完成检查:规范落地的判断标准


评审时点建议放在用例初稿完成、覆盖对照表填好之后,进入执行之前。参与角色包括测试设计者、评审人,涉及业务规则的用例邀请需求或开发角色参加。评审以检查清单逐项核对,结论分为通过与阻断两类。


检查项 判断方式 不满足时的处理
字段完整 必填字段无空缺,编号唯一 阻断,补齐后重审
步骤可执行 他人按步骤可独立操作,输入值明确 阻断,补充具体操作与数据
预期结果可观察 每条预期结果对应可看到的现象或可查的数据变化 阻断,改写为可观察表述
覆盖需求条目 覆盖对照表中每条需求至少一条用例,高优先级需求含关键异常 阻断,补充缺失用例
优先级合理 高优先级对应主流程与高频场景 可评审后调整,不单独阻断
一条用例一个验证点 不存在多个判断点混写 阻断,拆分后重审

通过标准是阻断项全部关闭,评审意见已逐条回应,结论记录在案。阻断项与建议项要分开记录:字段缺失、步骤不可执行、预期结果不可观察、覆盖缺口属于阻断项,必须在进入执行前解决;表述优化、优先级微调属于建议项,可记录后择期处理。这样区分可以避免评审变成无休止的讨论。


证据留存包括三样:评审记录(参与人、意见、结论)、覆盖对照表(需求与用例的对应关系)、变更记录(需求变更后哪些用例被修改或失效)。三样材料在需求变更和版本回溯时直接可用。若团队在工具中管理用例,ONES TestCase 支持为不同用户组配置权限,并可为用例库、测试计划单独配置权限,评审记录与变更记录的存放位置可按权限范围划分;用例库中所有用例属性支持筛选,便于按关联需求或状态检索待审用例。


规范本身也需要维护。建议指定一名规范维护人,收集执行中反复出现的争议点,按版本更新文档,每次更新记录修改条款与生效时间。当某条约定连续多次在评审中引发分歧,说明表述需要细化,而不是靠个案裁量。规范版本与用例模板版本保持对应,避免新旧模板混用。


判断规范是否真正落地,可以看三个可观察信号:新成员按规范写出的初稿,评审阻断项数量逐步下降;覆盖对照表能随时回答“这条需求有没有用例”;需求变更后,失效用例能被及时标记而不是长期滞留。三个信号稳定出现,说明规范已经从文档变成了团队的日常动作。



常见问题


团队规模小,字段表可以精简到什么程度?


可以合并测试数据与前置条件,但编号、标题、操作步骤、预期结果、关联需求五项建议保留。这五项分别支撑追溯、检索、执行和覆盖判断,删掉任何一项都会让评审缺少判断依据。精简的前提是团队对合并后的字段填写口径有共识,并在规范中写清楚合并规则,避免不同人写出不同结构。


需求验收标准写得含糊,用例还能先写吗?


可以先拆测试点,但预期结果部分建议等澄清结论回写到需求条目后再定稿。验收标准含糊时,测试侧自行推断业务规则容易出错,尤其是计算逻辑和权限规则。实际操作中可先按已明确的部分编写用例,把有争议的预期结果标记为待确认,在评审时邀请需求或开发角色逐条确认,确认结论同步回写需求条目和用例。


评审时建议项和阻断项怎么区分,避免评审拖长?


把影响执行判断的问题列为阻断项,包括字段缺失、步骤他人无法照着操作、预期结果不可观察、需求覆盖有缺口、多个验证点混在一条。表述优化、优先级微调这类不影响执行的问题列为建议项,记录后择期处理。评审结论以阻断项是否清零为准,建议项不阻塞进入执行。这样区分后,评审讨论有明确边界,不会因为措辞反复拉扯。


需求变更后,已有用例怎么处理才不至于长期失效?


建议指定模块负责人兼任用例维护责任人,需求变更时同步检查关联用例,把受影响的用例标记为待修改或失效,并更新覆盖对照表。变更记录写清哪些用例被修改、哪些失效、对应哪次需求变更。规范中可约定变更后多长时间内完成用例更新,以及更新完成前这些用例不进入执行范围。定期按关联需求检索用例,能帮助发现长期未更新的内容。


用工具管理用例时,规范中的字段和评审记录怎么落地?


可以把字段表映射为工具的用例属性,通过自定义属性承载编号、优先级、关联需求等字段。ONES TestCase 支持测试用例与需求、任务关联,用例属性可自定义,用例库中所有用例属性支持筛选,便于按关联需求或状态检索待审用例;还支持为不同用户组以及用例库、测试计划单独配置权限,评审记录与变更记录可按权限范围划分存放位置。评审环节的专门流程需结合团队实际配置确认,规范中可先约定记录载体与必填内容。