文档模板分享:后台产品需求用例
因为工作中写最多的就是后台产品的需求用例,所以先整理了这份文档模板,在往后的文章中会陆续总结PRD中其他部分的模板。
1. 文档模板背景介绍
- 需求用例:我团队把一个需求(可理解为功能矩阵中的一行)的详细描述、页面、交互、数据项、基本流程这些能尽可能多描述地需求细节的内容称为一个需求用例。
- 阅读者:需求开发者、需求测试人
- 工具:Confluence(+JIRA)
我团队写文档都是使用Confluence(一款在线文档协作软件,企业Wiki),结合同系列的JIRA进行项目管理,好用到飞起。
需求用例都是尽我所能写得详细,并且结合程序员们的反馈,不断迭代。所以我的模板是最适合我团队和业务的,并不是普世的,我提倡每个人都输出自己的文档模板。
这一版模板完成后大大提升了我的写作效率,一个简单的增删改查需求,使用模板约30分钟能完成。
希望这个模板能抛砖引玉,为你的模板提供一点思路。
2. 需求用例属性
这一模块代表了需求用例的基本属性,尤其是文档的状态,在线协作时能提示开发和测试这个文档进行到哪一步了,流程需要团队内部达成一致。
可使用表格规范需求用例属性,方便查阅。
暂时为空的项,填写“暂无”。
3. 文档正文
后台产品的需求用例,我把正文分成关联、描述、VI&UI、数据项和流程等几个部分。实际应用后发现这是比较合理的方式,能最大程度上让开发者根据不同时期的不同需要去理解需求。
例如在评审会时,大家只需要看用例描述和VI部分就能对需求有大致了解;计划会时主要讲解描述、VI&UI和流程部分;开发者实际开发时会着重看VI&UI和数据项部分。
我写需求文档有几大准则,是需要时刻铭记和实践的:
- 字不如表,表不如图;
- 使用最少的字去描述,多利用各种符号;
- 排版要舒适,不能反人类;
- 尽量无歧义、准确、全面。
3.1 关联用例
使用插入超链接快捷键” [ ”,关联该需求用例的关联用例。
3.1.1 前置用例
该需求的前置需求,可进行适当文字描述。
3.1.2 前版用例
若用例为优化或升级,则需链接该需求的前一版本的用例,可进行适当文字描述。
3.1.3 相关用例
用例对其他用例有影响时,需关联,如后台需求用例会和前端需求用例联系,可进行适当文字描述。
3.1.4 前台用例
该需求用例功能所需要支持的前台功能。如一个广告Banner的增删改查功能,对应前台的Banner用例。
3.2 用例详细描述
3.2.1 需求目的
实现需求的目的,和需求设计的目的,1…2…3…逐条列出
3.2.2 需求场景
实际场景,可用作图表示,配合文字描述。
3.2.3 需求流程图
需求中的业务流程图、状态流转、操作流程等流程图,少量文字描述。
3.2.4 需求规则
需求中若涉及规则,则需描述清楚,可配合实例,注意考虑极限情况。
3.3 VI&UI设计
这部分建议使用“左图右字”的排版,便于阅读。(Confluence中有“节”的设置,排版非常好用)
3.3.1 P00 页面名称
设置页面编号和名称,插入视觉图,使用数字标注,标明交互、初始状态数据项等内容。
每条交互都需要有编号。
使用标号和“→”描述交互过程,注意标清错误提示语;可使用动图等形式表现稍稍复杂的交互。
图片较长时,交互内容尽量标注在图中对应位置旁边。
3.3.2 交互
UC000.1:“P00 页面名称” 初始状态(常见举例)
描述该页面初始进入时的样子。不同业务页面的初始状态不同,但很多情况下可以复用。以下就是我经常使用的初始状态描述:
列表页面:
- 各查询项为空,展示占位文本;
- 后台分页;
- 默认每页显示10项结果;
- 列表中可查看所有该登录账户有权限查看的数据;
- 默认按更新时间排序。
新增页面:
- 各输入项为空,展示占位文本;
- 默认选择….
修改页面:本条数据上次成功保存内容。
数据页面:
- 展示当前实时数据;
- 默认展示最近7天数据趋势图。
UC000.2:…
UC000.3:…
3.4 数据项
使用列表标明涉及页面中的数据项
3.4.1 输入项
需要用户输入的数据项,例如筛选、新建时的输入项
- 每个输入项需要考虑:
- 字段名称(简洁、易于理解,注意与概念相似字段进行区分)
- 是否必填(填写与否有何影响?)
- 使用组件(从规定的组件库中选取,适当描述组件性质)
- 占位文本(Input字段,输入框中的占位文字,提示用户可输入的内容)
- 数据来源(可选选项的来源)
- 权限限制(用户权限对本字段有无影响?)
- 字段单位
- 字段类型(整数、小数、字母、符号等)
- 字段长度(≤?汉字)
- 字段范围(数值范围,可否为0?最大为?小数是否自动补齐?)
- 数据格式
- 搜索特点(模糊搜索)
- 可选选项(1- …;2-…)
- 解释说明(是否需要文字提示用户字段含义或用法)
- 极限情况(初始状态、极限状态)
- 可否重复(能否与其他条目的同一字段重复)
- 可否修改(修改后对本条数据、或其他系统的数据的影响、对客户端的影响;什么时候可以修改)
- 是否联动(与其他数据、与其他系统、与客户端)
- 是否排序(排序规则)
- 展示预览(为空时;输入时;输入完;查看时;列表中;客户端;极限时)
- 只读字段(不同情况下怎么展示只读)
- 错误提示(为空或不满足约束条件时的提示语,提示方式)
- 备注说明
约束条件需要结合业务,在每次的文档写作中不断积累和总结。
3.4.2 展示/列表项
用户在列表中查看或展示给用户,不能进行操作的数据项
每个展示项需要考虑:
- 字段名称
- 字段来源(新建、其他系统)
- 初始状态(列表、预览、数据报表…)
- 分页类型(前台or后台,默认一页几条数据)
- 无数据时(如何展示?)
- 展示样式(多种情况:为空时、多个值、很长时)
- 排序规则
- 备注说明
3.5 用例流程(基本流、备选流、异常流)
主要写清流程描述,因为“3.2.3 需求流程图”中已有流程图,这一部分可以省略。
同样,每个流程都需要编号,写清前置、描述和预期结果。尤其是异常流,需要和开发、测试多进行讨论和沟通。
3.5.1 基本流
【UC000-A】
- 前置条件:
- 流程描述:
- 预期结果:
3.5.2 备选流
【UC000-B】
- 前置条件:
- 流程描述:
- 预期结果:
3.5.3 异常流
【UC000-C】网络异常
Massage(1s)错误提示:网络异常,请稍后重试。
【UC000-D】输入时不满足约束(输入后即能直接判断)
控件下方错误提示,提示语详见 4.数据项 中的 “约束条件” 一列。
【UC000-E】保存失败
Massage(1s)错误提示:保存失败,请稍后重试。继续留在本页。
..
3.6 名词说明
用例中关于一些业务名词的定义与说明。
3.7 测试方案
使用超链接关联测试文档,方便查看。
3.8 文档版本
这里我使用的是Confluence的一个文档版本插件,可以查看文档不同版本之间的差异,但是和文档状态没能关联起来看,所以用的不多,但是对于查看文档修改和修改内容还是很好用的。
本文由 @ZoeSunPM 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自unsplash,基于CC0协议
一套下来,时间已经过去大半了吧?
感谢作者,已三连,能出一篇测试文档中具体会包含哪些框架和元素吗?
两篇文章都挺不错的,怎么不更新了呢,跳槽了?
你是技术转做产品的吗?
不是哦~之前是念的工科
有些内容还是不错的,平时都有积累。值得学习。
一起进步~
写后台用例文档时更多应该注意的是什么?
“3.3.1 P00 页面名称
设置页面编号和名称,插入视觉图,使用数字标注,标明交互、初始状态数据项等内容。”
此处描述没有图示很难理解,因为仅靠文字,脑补画面不容易将全部描述项呈现出来,怕会有缺失。
不介意的话,举个图例把,谢谢
上方的图就是示例,因为是模板里的所以不够直观~下篇文章注意,感谢阅读~
用例和需求文档有什么区别吗
我理解用例是需求文档的一部分,可能会把一个简单的增删改查功能的需求文档拿出来作为一个用例。
希望对你有启发,大家看完多吐槽哦~
请问有文档文件吗
文档模板内容其实和文章里一样,工作实际写的文档可能不方便分享哦~
可以看一些实际的文档案例吗?后台能找的参考实在是太少了呢