编写规范、高质量的测试用例是保障软件质量的关键环节。一份优秀的测试用例不仅要自己能看懂,更要让团队其他成员(如开发、产品、其他测试人员)都能轻松理解并执行。
一个标准的测试用例通常包含以下核心字段:
SYS_LOGIN_001 或 SHOP_CART_ADD_002。输入正确的用户名和密码,登录成功。用户已注册账号且状态为激活;已打开登录页面。所属模块/标签
在编写具体内容时,需遵循以下五大原则:
规范:一个测试用例只验证一个功能点或一个业务场景。
反例:一个用例里既测试登录成功,又测试修改密码,又测试注销。这会导致用例冗长,且出错后难以定位具体环节。
规范:预期结果必须是客观的、可被观察到的。不能依赖测试人员的主观感受。
*错误写法*:“界面美观,用户体验好。”
*正确写法*:“登录按钮圆角为4px,点击后有加载动画,时长不超过2秒。”
规范:无论谁执行,无论执行多少次,只要环境一致,结果应该一致。步骤描述不能有歧义。
*模糊写法*:“输入一些特殊字符。”
*精确写法*:“在用户名输入框输入 test@#$%。”
规范:用例之间尽量保持独立,不要有强依赖关系。
*问题*:用例B执行必须依赖用例A执行成功后的数据。如果用例A失败,用例B就无法执行,增加维护成本。
*建议*:通过数据准备或公共前置条件来解耦。
量化具体:不要说“多输入几次”,要说“输入5次错误密码”。
操作明确:不要说“操作下拉框”,要说“点击下拉框,选择‘选项A’”。
数据明确:不要说“输入正确的数据”,要说“输入用户名 admin,密码 123456”。
多维验证:不仅要看界面表现,还要关注后台数据。
*接口层*:HTTP状态码、返回的JSON结构。
必须包含:正好等于边界、刚刚小于边界、刚刚大于边界。
*示例*(限额1-100元):
在编写用例前,建议使用以下方法设计测试点:
等价类划分:将输入数据分为有效等价类和无效等价类,减少测试用例数量。
边界值分析:重点测试边界情况(最容易出Bug的地方)。
错误推测法:根据经验推测可能存在的隐患(如断网、并发、超时)。
场景法:覆盖业务流程(基本流和备选流)。 按测试类型分类:
正向用例:符合需求定义的正常操作。
逆向用例:异常操作、错误数据、权限不足、网络中断等。
用例编号:USER_LOGIN_001
用例标题:使用已注册且激活的账号,正确输入用户名和密码,登录成功
优先级:P0
前置条件:
数据库中存在用户 testuser,密码 123456。
用户状态为 Activated。
打开系统登录页面。
| 序号 | 测试步骤 | 预期结果 |
| :--- | :----------------------------- | :----------------------------------------------------------- |
| 1 | 在用户名输入框输入:testuser | 输入框正常显示字符 |
| 2 | 在密码输入框输入:123456 | 显示为密文(如圆点或星号) |
testuser |“大概齐”步骤:步骤写得像说明书,而不是操作指引。例如:“输入用户信息”。(错误,应具体到输入什么信息)。
预期结果空泛:预期结果写“登录成功”。(错误,应写明具体的页面跳转、提示弹窗或数据库记录)。
遗漏异常场景:只写正确流程,忘记写密码错误、账号锁定、网络波动等异常场景。
用例不可执行:前置条件描述为“准备好测试数据”,但没说准备什么数据,导致执行者无法开始。 遵循以上规范,可以确保测试用例库具有良好的可读性、可维护性和执行效率,从而真正发挥测试用例的价值。