iteration_2_draft_prd.md 6.6 KB

[Iteration 2 测试草稿] PRD — 本地生活服务门店详情页(全新虚构场景,未出现在 train/test/已知案例中)

虚构 BRD(用于本轮泛化测试,非真实案例):

  • in_scope:门店详情页展示门店名称/图片/评分/营业时间/地址;页面提供"预约到店"按钮, 点击后跳转到已存在的预约页(预约页本身不在本次范围内,只做跳转);响应式布局。
  • out_of_scope:在线支付、用户评论区、商家管理后台、多语言。
  • success_metrics:①"访客看完门店详情后,能判断这家店是否符合自己的到店意愿,并愿意 点击预约"(转化类,命中附录C"意愿/引导/下一步"关键词,触发 Step 5B);②"门店信息应 让人感觉真实可信"(体验类形容词,触发 Step 4 描述性语言处理,不是 Step 5B 业务度量—— 注意区分:这条不涉及"要不要行动",是对信息呈现质量的要求,走 Step 4 量化路径而非 Step 5B 翻译成功能路径)。

1. 功能清单

ID 功能陈述
F-1 访客打开门店详情页时,页面展示门店名称、至少 1 张门店图片、评分、营业时间、地址五项信息
F-2 访客点击"预约到店"按钮,页面跳转到预约页路由 /booking?storeId={当前门店ID}
F-3 访客在任意设备宽度下打开详情页,五项信息正常呈现,不出现横向溢出

2. 行为规则

  • 信息完整性:五项信息(名称/图片/评分/营业时间/地址)任一项缺失时按 Step 3 边界规则处理, 不允许静默留空导致布局错位。
  • 门店图片(Step 4 量化"真实可信"里"信息呈现"相关的一部分):详情页展示门店图片 至少 3 张(非 1 张,因为"只有 1 张图"和"真实可信"的可信度诉求存在直接冲突—— 用户对只放 1 张图的门店信任度天然更低,这是本轮把"真实可信"拆解出的第一个可验证子判据), 图片来源为商家上传的真实门店照片(非占位图/示意图),每张 ≥ 300×200px。
  • 评分展示(Step 4 量化"真实可信"第二个子判据):评分必须同时展示数值(如 4.6)和 评分来源的样本量(如"基于 128 条评价"),只展示数值不展示样本量视为不满足"真实可信"—— 孤立数值无法让访客判断可信度,"128 条评价"这个具体数字才是可信度的实际来源。
  • 地址(Step 4 量化"真实可信"第三个子判据):展示完整地址文本 + 可点击跳转到地图应用 的入口(不要求内嵌地图组件,跳转外部地图 App 即可满足"可信"的判据——用户能验证地址真实 存在,而不需要页面本身渲染地图)。
  • 预约按钮:位置固定在页面底部/侧边悬浮(响应式下两种呈现二选一,需在 SDD 阶段定具体 断点,此处只约束"始终在首屏内可见或悬浮可达",不约束具体 CSS 实现方式)。

3. 异常与边界

场景 必须表现
空 门店图片数
有明显视觉区分(如加"暂无更多实拍图"角标),不得用占位图冒充真实图片破坏"真实可信"判据
超长 门店名称/地址文本超长换行,不裁切、不覆盖相邻元素,区块高度自适应
越权 不适用:本页面无鉴权/权限分级场景(详情页公开可见)
并发 连续快速点击"预约到店"按钮,只触发一次跳转,不产生多次路由 push 或多个页面实例
失败重试 门店图片加载失败(403/超时)→ 显示预设错误占位图,不留空白破图;评分数据接口失败 →
显示"评分加载失败"文案,不展示为 0 分(避免 0 分被误读为真实评分)

4. 内容深度要求

营业时间字段:不能只写"营业中"三个字(信息密度不足,无法判断具体时段),必须展示 具体时间区间(如"周一至周日 10:00-22:00"),若存在特殊节假日调整,需能展示例外说明字段 (非强制填写,但字段本身要存在,不能因为常规情况够用就不留扩展空间)。

5. 可判真假的验收线索

功能/规则 怎么算做到了
F-1 信息完整性 DOM 中五项信息节点均存在且非空(图片计数 ≥3 或占位图补足到 3)
F-2 预约跳转 点击按钮后 location.pathname 变为 /booking,query 含 storeId 且值等于当前门店ID
F-3 无横向溢出 同 iteration_1 惯例:多断点下 scrollWidth <= innerWidth
真实可信-图片数量 DOM 中真实图片节点(非占位图 class)计数 ≥3,或"真实图片+占位图"总数=3 且占位图有明显区分标记(可查 class/角标节点是否存在)
真实可信-评分样本量 评分区块 DOM 中同时存在数值节点与"基于 N 条评价"文本节点,N 可被解析为正整数
真实可信-地址可验证 地址文本节点非空 + 存在指向外部地图 App 的可点击链接节点(href 含地图协议/URL)
内容深度-营业时间 营业时间文本可解析出具体时间区间格式(如正则匹配 \d{1,2}:\d{2}-\d{1,2}:\d{2}),不是"营业中"这类无法解析出区间的文案
转化-预约按钮可见性 首屏截图或 getBoundingClientRect 核验按钮初始可见,或悬浮定位下 position: sticky/fixed 生效

6. 需求可追溯性

BRD in_scope 覆盖它的 PRD 条目
门店详情页五项信息 F-1,§2 信息完整性
预约到店按钮跳转已存在的预约页 F-2,§2 预约按钮位置规则
响应式布局 F-3

success_metrics①(转化类)→ 由 F-2 + §5"转化-预约按钮可见性"承接(按钮跳转路径明确, 且规定了必须在首屏可见/悬浮可达,不是放在页面很深处几乎不会被点到)。 success_metrics②("真实可信"体验类形容词)→ 按 Step 4 处理(不走 Step 5B,因为它不是 "要不要行动"的转化度量,是信息呈现质量诉求),拆解为图片数量/评分样本量/地址可验证 三个已量化子判据,均在 §5 有对应验收行。

out_of_scope 四条(支付/评论/管理后台/i18n)本 PRD 均未涉及,预约页本身路由存在但页面 内容不在本次范围内,PRD 只约束"跳转到该路由"这一行为,未替预约页做任何设计(未越权)。

7. 继承的排除范围

在线支付、用户评论区、商家管理后台、多语言 i18n、预约页本身的页面设计。