最近相关工作要出验收文档,于是研究了下验收文档和测试用例文档的区别,总结如下。
核心区别在于:
1)验收文档(验收标准):定义 "做什么" 和 "怎样才算做完、做好" 。它关注的是需求和结果,是开发的目标。
2)测试用例:定义 "怎么验证" 和 "实际结果是否符合预期" 。它关注的是验证过程和执行,是检验目标的方法和手段。
多维度进行对比:
1)核心目的:
验收文档:定义需求完成的标准,确保开发团队和利益相关者(如产品经理、客户),对"完成"有一致的理解。
测试用例:提供验证方法,指导测试人员如何系统地验证功能是否满足验收标准。
2)受众
验收文档:产品经理、客户、项目经理、开发者,主要是定义需求和验收的人。
测试用例:测试工程师(QA)、有时也包括开发者。主要是执行测试的人。
3)内容性质
验收文档:业务导向;描述用户场景、功能价值、期望的业务结果。
测试用例:技术/操作导向;包含具体的操作步骤、测试数据、预期结果等执行细节。
4)撰写时机
验收文档:在开发开始之前;为开发提供目标。
测试用例:通常在开发过程中或完成后,基于需求文档、验收文档和设计文档来编写。在开发完成后执行。
5)详略程度
验收文档:相对概括;描述一个功能的几个关键成功场景和主要异常场景。
测试用例:非常详细和具体;会覆盖各种正常、边界、异常情况,甚至包括大量的测试数据组合。
6)关注点
验收文档:做什么?做到什么程度算成功?
测试用例:怎么测?步骤是什么?预期结果是什么?
7)所处阶段
验收文档:需求定义阶段> 开发阶段>验收阶段(作为验收依据)
测试用例:测试设计阶段> 测试执行阶段
8)最终目标
验收文档:作为"用户故事"或"需求"是否可被接受的契约。
测试用例:发现软件中的缺陷(Bug),并确认软件行为与预期一致。
举例说明
假设我们要开发一个"用户登录"功能。
1)验收文档(举其中的一条验收标准)
可能会这样描述:
场景:用户使用正确的用户名和密码登录
用户位于登录页面
用户输入已注册的用户名 'test' 和正确的密码 '123456'
点击"登录"按钮
系统应跳转到用户首页
页面顶部应显示"欢迎,用户"
场景:用户使用错误密码登录
用户位于登录页面
用户输入已注册的用户名 'test' 和错误的密码'1234567'
点击"登录"按钮
系统应显示提示信息:"用户名或密码错误"
用户仍停留在登录页面
如上所示,定义了成功的清晰边界,但没有告诉测试人员具体用什么数据、要测多少种错误情况。
2)测试用例
根据上面的验收标准,测试人员会编写非常详细的测试用例,例如:
测试用例ID-01
用例标题:验证使用正确凭据成功登录
前置条件
-
用户 'test' 已注册,密码为'123456'。
-
浏览器已打开并进入登录页。
测试步骤
-
在"用户名"输入框输入:'test'
-
在"密码"输入框输入:'123456'
-
点击"登录"按钮。
预期结果
-
页面跳转到首页(URL 为 `/home`)。
-
页面顶部显示文本:"欢迎,用户"。
测试用例ID-02
用例标题:验证使用错误密码登录失败
前置条件
-
用户 'test' 已注册,密码为'123456'。
-
浏览器已打开并进入登录页。
测试步骤
-
在"用户名"输入框输入:'test'
-
在"密码"输入框输入:'1234567'
-
点击"登录"按钮。
预期结果
-
页面不跳转,仍停留在登录页。
-
页面显示红色错误提示框,内容为:"用户名或密码错误"。 |
测试人员可能还会编写更多验收文档未明确提及但必要的用例,如:
用户名为空点击登录
密码为空点击登录
输入密码后按`Enter`键是否能登录
密码是否以掩码(星号)形式显示
连续多次错误密码后是否会锁定账户等
以上是这边总结出来的一些区别和联系。