测试用例编写怎么做:步骤、角色分工与检查清单

测试用例编写的核心,是把需求转成可执行、可判断的验证条目:先明确被测对象和验收标准,再用等价类、边界值、场景法等方法拆出验证点,按统一字段写清前置条件、操作步骤、测试数据和预期结果,最后经评审与执行反馈修订。本文按设计、字段、分工、示例、检查、协作六个环节展开,适合正在建立或规范用例编写流程的测试与研发团队参考。



要点总览(TL;DR)


  • 测试用例编写按五步推进:确认需求与验收标准、选择设计方法拆验证点、按统一字段写用例、评审、执行反馈修订;每步以“下一步能顺利开始”为完成标志。
  • 字段模板必备项包括用例编号、标题、所属模块、优先级、前置条件、操作步骤、测试数据、预期结果;预期结果要写可观察现象,步骤与验证动作分开写。
  • 设计方法按输入特征选用:取值范围用等价类和边界值,多分支流程用场景法,状态流转用状态迁移法;粒度按风险取舍,高风险功能细化到具体数据。
  • 角色分工写清设计者、评审者、执行者、需求方和维护责任人的交付物;评审放在初稿完成、提测之前,变更按模块归属并保留记录。
  • 完成标准三条:评审意见逐条处理有结论、检查清单相关项全部通过、用例状态更新为可执行并纳入测试计划;执行发现问题按修订流程回写。


测试用例编写的核心步骤


用例编写可以拆成五个前后衔接的步骤。每一步都有明确的输入、动作和输出,完成标志是下一步能顺利开始,而不是“感觉写得差不多了”。


第一步:确认被测对象、需求范围与验收标准


输入是需求文档、原型、接口说明或用户故事。动作是逐条阅读需求,标出可验证的行为描述,把模糊表述(如“响应要快”“体验流畅”)转成可判断的条件(如“列表页在常规数据量下3秒内返回首屏”)。输出是一份验证点清单,每个验证点对应一条或一组需求条目。完成标志是:每个验证点都能回答“验证什么行为、满足什么条件算通过”。需求本身存在歧义时,先与需求方确认再进入设计,避免把错误理解写进用例。


第二步:选择设计方法并拆出验证点


输入是验证点清单和业务规则。动作是根据输入数据的特征和业务流程的复杂度选择方法:输入有取值范围时用等价类和边界值,业务流程有多个分支时用场景法,对象有明确状态流转时用状态迁移法。输出是一组覆盖正常、异常和边界的验证点。完成标志是:主要业务路径、关键异常路径和典型边界都有对应验证点,且能说明每个验证点由哪种方法得出。


第三步:按统一字段写出用例


输入是验证点。动作是把每个验证点展开成一条完整用例,填写用例编号、标题、优先级、前置条件、操作步骤、测试数据、预期结果等字段。输出是可直接交给执行者的用例条目。完成标志是:一位不熟悉该需求的执行者,仅凭用例内容就能完成操作并判断结果对错。


第四步:评审


输入是用例初稿。动作是由需求方、开发、测试设计者共同检查覆盖是否完整、预期结果是否准确、步骤是否可执行。输出是评审意见和修订后的用例。完成标志是:评审意见逐条处理完毕,遗留问题有明确结论。


第五步:执行反馈与修订


输入是执行过程中发现的用例缺陷,例如步骤缺失、数据不可构造、预期结果与实际业务不符。动作是记录问题、修订用例并同步给相关人员。输出是更新后的用例版本。完成标志是:执行中暴露的用例问题已回写到用例库,后续回归可以直接复用修订后的版本。



用例字段模板与设计方法怎么选


字段模板解决“每条用例写什么”,设计方法解决“验证点从哪来”。两者配合,才能让用例既完整又有针对性。


用例必备字段与选填字段


字段 类型 填写要求
用例编号 必备 项目内唯一,便于引用和追溯
用例标题 必备 一句话说明验证对象和验证条件,如“手机号为空时提交注册”
所属模块 必备 对应功能模块或需求条目,便于组织和检索
优先级 必备 按业务重要性和使用频率分级,核心路径为高
前置条件 必备 执行前必须满足的环境、数据、账号状态
操作步骤 必备 按顺序编号,每步一个动作,避免一步包含多个操作
测试数据 必备 写明具体取值或数据构造方式,不用“任意值”代替
预期结果 必备 与步骤对应,写可观察的界面反馈、数据变化或接口返回
关联需求 选填(建议填) 指向需求条目编号,支撑追溯
备注 选填 记录设计依据、特殊环境要求或已知限制

字段填写有两个常见问题值得注意。一是预期结果写成“正常显示”“操作成功”这类无法判断的表述,应改为具体现象,例如“页面跳转到首页,顶部显示当前登录用户名”。二是步骤中混入验证动作,应把“点击提交”和“检查提示文案”分开写,让执行和判断各自清晰。


设计方法的适用条件


方法 适用条件 产出特点
等价类划分 输入有明确取值范围或类型约束,取值数量多但行为可归类 把输入分成有效类和无效类,每类取代表值,减少重复用例
边界值分析 输入或长度存在上下限,如字符数、金额、日期区间 重点覆盖最小值、最大值及其相邻值
场景法 业务流程有多个步骤、分支或角色参与 按主流程和备选流程组织用例,覆盖用户实际使用路径
状态迁移法 对象有明确状态和允许的流转,如订单、审批单 覆盖合法迁移和非法迁移,验证状态约束

用例粒度需要结合项目阶段取舍。需求频繁变动、迭代周期短时,用例可以写得概括一些,重点保证核心路径和关键异常有覆盖;涉及资金、权限、数据安全等高风险功能时,应细化到具体数据和判断条件。覆盖度以“主要风险都有对应用例”为判断依据,不必追求每个输入组合都单独成条,等价类合并本身就是控制冗余的手段。



角色分工与交付物


用例质量不只取决于写的人,也取决于评审和维护是否有人负责。小团队可以一人兼多个角色,但职责要写清楚,避免用例写完无人评审、执行发现问题无人回写。


角色 主要职责 交付物
用例设计者 确认验证点、选择设计方法、按模板编写用例、处理评审意见 验证点清单、用例初稿、修订后的用例
评审者(需求方、开发、测试同行) 检查需求覆盖、预期结果准确性、步骤可执行性 评审意见、通过结论
执行者 按用例执行、记录实际结果、反馈用例缺陷 执行记录、用例问题清单
需求方 确认验收标准、澄清需求歧义、参与关键用例评审 需求澄清结论、验收口径
用例维护责任人 随需求变更更新用例、处理执行反馈、维护用例状态 更新后的用例版本、变更记录

评审时点建议放在用例初稿完成、开发提测之前。此时需求理解已经稳定,评审意见还能赶在测试执行前落实。参与人至少包括用例设计者和需求方,涉及接口或数据逻辑的用例应邀请开发参加。用例变更的责任归属按模块划分:需求变更引起的用例调整由该模块的用例设计者负责,执行中发现的问题由执行者提交、维护责任人确认后修订。每次变更保留记录,便于回溯某条用例为何调整。



示例:一条登录用例从需求到可执行条目


以下为演示情景,用于说明字段填写和方法落地,非真实项目案例。需求描述为:“用户使用手机号和密码登录,手机号为11位数字,密码为8至20位字符;连续输错密码5次后账号锁定30分钟。”


从需求提取验证点


这段需求包含三类信息:输入约束(手机号11位数字、密码8至20位)、正常流程(正确凭证登录成功)、异常与状态规则(密码错误提示、连续5次错误后锁定)。据此可以拆出正常登录、手机号格式异常、密码长度边界、密码错误、账号锁定等验证点。


按方法拆出用例


手机号用等价类和边界值:11位有效号码为有效类,10位、12位、含字母为无效类。密码用边界值:7位、8位、20位、21位。登录流程用场景法:正确凭证登录、密码错误后重试、连续5次错误触发锁定。锁定规则用状态迁移:正常状态到锁定状态、锁定期间尝试登录、锁定到期后恢复。


完整填写一条用例


字段 内容
用例编号 LOGIN-005
用例标题 连续5次输入错误密码后账号锁定
所属模块 用户登录
优先级 高
前置条件 存在状态正常的测试账号,手机号13800000000,密码已设置为正确值;该账号当前无锁定记录
操作步骤 1. 打开登录页;2. 输入手机号13800000000;3. 输入错误密码Abcd1234;4. 点击登录;5. 重复步骤3至4共5次;6. 第6次输入正确密码并点击登录
测试数据 手机号:13800000000;错误密码:Abcd1234;正确密码:Test12345
预期结果 第1至4次登录提示密码错误,账号仍可继续尝试;第5次登录后提示账号已锁定,并说明锁定时长;第6次使用正确密码登录被拒绝,提示账号处于锁定状态
关联需求 登录需求条目中“连续输错密码5次后账号锁定30分钟”
备注 锁定到期后的恢复验证另建用例,避免单条用例跨度过长

这条示例体现的取舍是:把“触发锁定”和“锁定到期恢复”拆成两条用例,每条只验证一个状态变化,执行失败时容易定位原因。可迁移的规律是,涉及计数的规则要写清第几次操作发生什么变化,涉及时间的规则要把时间条件写进前置条件或单独建用例。



用例质量检查清单与完成标准


判断用例是否写完,可以用下面的清单逐项核对。全部通过,才算达到可评审、可执行的状态。


检查维度 检查项 通过标准
可执行性 前置条件是否完整,步骤是否按顺序可操作,测试数据是否可直接构造 执行者无需额外询问即可完成操作
可判断性 预期结果是否具体、可观察 每条预期结果都能明确判定通过或失败
独立性 用例之间是否存在必须按顺序执行的隐式依赖 单条用例可独立执行,依赖项已写入前置条件
可追溯性 是否关联到需求条目或验证点 每个验证点至少有一条用例对应,每条用例能说明来源
覆盖度 正常路径、异常路径、边界条件是否都有覆盖 高风险功能的主要分支均有对应用例
冗余 是否存在验证同一条件、数据雷同的重复用例 重复条目已合并或说明保留理由
关联检查 用例与需求、后续缺陷的关联字段是否填写 关联信息完整,执行失败时能据此创建缺陷并回链

完成标准可以概括为三条:评审意见已逐条处理并有结论;检查清单中与本次范围相关的条目全部通过;用例状态更新为可执行,并纳入对应测试计划。执行阶段发现用例本身有问题时,按修订流程更新,不直接在执行记录里绕过。



把用例编写接入研发协作流程


用例写在文档里只是第一步,真正发挥作用要靠它与需求、执行记录、缺陷之间的流转。衔接方式可以按以下四个动作设计。


关联需求条目。每条用例或每组用例关联到对应的需求条目,需求变更时能快速找到受影响的用例。关联粒度以验证点为单位,避免整份需求只挂一条用例导致追溯失效。


记录评审与变更。评审意见、修订结论和变更原因保留在用例条目或评审记录中,形成可查的历史。这样后续接手的人能知道某条用例为什么这样写,而不是只看到最终版本。


执行结果与缺陷回填。执行时记录实际结果,未通过的用例直接创建缺陷任务,并在缺陷中回链用例编号。缺陷修复后,执行者按原用例回归,结果回写到执行记录,形成“用例—执行—缺陷—回归”的闭环。


在协作工具中承载。上述动作如果分散在文档、表格和即时通讯里,追溯成本会明显上升。ONES TestCase 支持测试用例与需求、任务关联,测试计划与迭代关联,形成测试流程闭环;用例可自定义属性以适配不同业务场景,用例库支持树状结构的多层分类组织;未通过的用例可快速创建缺陷任务,缺陷任务在测试与研发团队间流转。团队可以把字段模板落到自定义属性上,把评审结论和变更记录留在用例条目中,让需求、用例、缺陷在同一条链路上可查。具体字段配置和流转规则以项目实际设置为准。



常见问题


需求描述很模糊,比如“响应要快”“体验流畅”,用例该怎么写?


先把模糊表述转成可判断的条件,再写用例。例如把“响应要快”转成“列表页在常规数据量下3秒内返回首屏”,把“体验流畅”转成“连续滑动列表不出现白屏或卡顿超过1秒”。转换时与需求方确认口径,把确认后的条件写进预期结果或验收标准。如果暂时无法量化,可以在用例备注中记录待确认项,并先覆盖可判断的行为部分,避免把主观描述直接写进预期结果。


用例评审应该什么时候做,参与人必须有哪些?


评审建议放在用例初稿完成、开发提测之前。此时需求理解已经稳定,评审意见还能赶在测试执行前落实。参与人至少包括用例设计者和需求方;涉及接口、数据逻辑或状态流转的用例,应邀请开发参加;测试同行可以帮忙检查步骤可执行性和冗余。评审输出评审意见和通过结论,意见逐条处理完毕才算完成。小团队可以合并评审会议,但需求方对验收口径的确认不能省略。


一条用例覆盖多个验证点好,还是拆成多条好?


按失败时能否快速定位原因来取舍。如果多个验证点共享同一前置条件和操作路径,且失败时容易区分是哪个点出问题,可以合在一条用例中;如果涉及不同状态变化、不同数据构造方式或不同判断条件,建议拆开。例如“连续5次错误密码触发锁定”和“锁定到期后恢复登录”应拆成两条,因为后者需要等待时间或调整系统时间,执行条件不同。拆分的代价是用例数量增加,可以用等价类合并来控制冗余。


执行时发现用例本身写错了,应该直接改用例还是先记录问题?


先记录问题,再按修订流程更新用例。执行记录中保留实际结果和问题描述,注明是哪条用例的哪个字段有问题(如步骤缺失、数据不可构造、预期结果与实际业务不符)。由该模块的用例维护责任人确认后修订,保留变更记录,便于回溯调整原因。不建议在执行记录里直接绕过问题,否则后续回归会重复遇到同一处缺陷,追溯时也说不清用例版本为什么变化。


用例和需求、缺陷的关联要做到什么程度才算够用?


关联粒度以验证点为单位,让需求变更时能快速找到受影响的用例,执行失败时能从用例直接创建缺陷并回链。每条用例至少关联到对应的需求条目或验证点;未通过的用例创建缺陷任务时带上用例编号;缺陷修复后按原用例回归,结果回写到执行记录。如果整份需求只挂一条用例,追溯会失效;如果关联字段大量留空,后续统计覆盖度和缺陷来源都会缺依据。关联信息在评审和完成检查时一并核对。