软件验收文档和测试用例文档的区别

最近相关工作要出验收文档,于是研究了下验收文档和测试用例文档的区别,总结如下。

核心区别在于:

1)验收文档(验收标准):定义 "做什么" 和 "怎样才算做完、做好" 。它关注的是需求和结果,是开发的目标。

2)测试用例:定义 "怎么验证" 和 "实际结果是否符合预期" 。它关注的是验证过程和执行,是检验目标的方法和手段。

多维度进行对比:

1)核心目的:

验收文档:定义需求完成的标准,确保开发团队和利益相关者(如产品经理、客户),对"完成"有一致的理解。

测试用例:提供验证方法,指导测试人员如何系统地验证功能是否满足验收标准。

2)受众

验收文档:产品经理、客户、项目经理、开发者,主要是定义需求和验收的人。

测试用例:测试工程师(QA)、有时也包括开发者。主要是执行测试的人。

3)内容性质

验收文档:业务导向;描述用户场景、功能价值、期望的业务结果。

测试用例:技术/操作导向;包含具体的操作步骤、测试数据、预期结果等执行细节。

4)撰写时机

验收文档:在开发开始之前;为开发提供目标。

测试用例:通常在开发过程中或完成后,基于需求文档、验收文档和设计文档来编写。在开发完成后执行。

5)详略程度

验收文档:相对概括;描述一个功能的几个关键成功场景和主要异常场景。

测试用例:非常详细和具体;会覆盖各种正常、边界、异常情况,甚至包括大量的测试数据组合。

6)关注点

验收文档:做什么?做到什么程度算成功?

测试用例:怎么测?步骤是什么?预期结果是什么?

7)所处阶段

验收文档:需求定义阶段> 开发阶段>验收阶段(作为验收依据)

测试用例:测试设计阶段> 测试执行阶段

8)最终目标

验收文档:作为"用户故事"或"需求"是否可被接受的契约。

测试用例:发现软件中的缺陷(Bug),并确认软件行为与预期一致。

举例说明

假设我们要开发一个"用户登录"功能。

1)验收文档(举其中的一条验收标准)

可能会这样描述:

场景:用户使用正确的用户名和密码登录

用户位于登录页面

用户输入已注册的用户名 'test' 和正确的密码 '123456'

点击"登录"按钮

系统应跳转到用户首页

页面顶部应显示"欢迎,用户"

场景:用户使用错误密码登录

用户位于登录页面

用户输入已注册的用户名 'test' 和错误的密码'1234567'

点击"登录"按钮

系统应显示提示信息:"用户名或密码错误"

用户仍停留在登录页面

如上所示,定义了成功的清晰边界,但没有告诉测试人员具体用什么数据、要测多少种错误情况。

2)测试用例

根据上面的验收标准,测试人员会编写非常详细的测试用例,例如:

测试用例ID-01

用例标题:验证使用正确凭据成功登录

前置条件

  1. 用户 'test' 已注册,密码为'123456'。

  2. 浏览器已打开并进入登录页。

测试步骤

  1. 在"用户名"输入框输入:'test'

  2. 在"密码"输入框输入:'123456'

  3. 点击"登录"按钮。

预期结果

  1. 页面跳转到首页(URL 为 `/home`)。

  2. 页面顶部显示文本:"欢迎,用户"。

测试用例ID-02

用例标题:验证使用错误密码登录失败

前置条件

  1. 用户 'test' 已注册,密码为'123456'。

  2. 浏览器已打开并进入登录页。

测试步骤

  1. 在"用户名"输入框输入:'test'

  2. 在"密码"输入框输入:'1234567'

  3. 点击"登录"按钮。

预期结果

  1. 页面不跳转,仍停留在登录页。

  2. 页面显示红色错误提示框,内容为:"用户名或密码错误"。 |

测试人员可能还会编写更多验收文档未明确提及但必要的用例,如:

用户名为空点击登录

密码为空点击登录

输入密码后按`Enter`键是否能登录

密码是否以掩码(星号)形式显示

连续多次错误密码后是否会锁定账户等

以上是这边总结出来的一些区别和联系。

相关推荐
我一定会有钱4 小时前
pytest基础
python·测试工具·测试用例·pytest
西游音月4 小时前
(6)pytest+Selenium自动化测试-测试用例编写
selenium·测试用例·pytest
卓码软件测评7 小时前
CMA/CNAS软件测评机构:【Gatling数据库性能关联测试JDBC连接和SQL执行时间监控】
数据库·sql·测试工具·性能优化·测试用例
qq_白羊座9 小时前
XMind 用于编写测试用例的核心优势
测试用例·xmind
qq_白羊座9 小时前
测试用例合适的粒度
测试用例
测试人社区-千羽1 天前
AR/VR应用测试核心要点与实施策略
人工智能·安全·职场和发展·自动驾驶·测试用例·ar·vr
程序员杰哥1 天前
如何使用Postman做接口自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
卓码软件测评2 天前
第三方CNAS软件测评机构:【Gatling性能测试工具中的正则表达式提取的saveAs、transform和match组合使用】
测试工具·性能优化·测试用例