chore: establish local platform baseline
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# Safari兼容性一致性证据说明
|
||||
|
||||
## 1. 目标与验证强度
|
||||
|
||||
`cmd/safari-conformance`用于把同一发布候选在macOS真实Safari上的关键流程结果形成`safari-compatibility-conformance-report-v1`。本项目采用最小充分矩阵:发布依据中的`CURRENT`和`PREVIOUS`两个Safari版本,各验证桌面`1440×1000`与平板响应式`1024×900`两种视口,以及六条关键业务流程,共24项结果。不在每个版本重复所有低风险按钮组合,也不以覆盖率或截图数量替代功能结论。
|
||||
|
||||
Playwright WebKit、Chrome、Edge、Windows上的浏览器或人工构造数据只能输出`NON_SAFARI_TOOLCHAIN/external_validation_required=true`。只有macOS真实Safari证据完整时,报告才为`REAL_SAFARI/external_validation_required=false`。
|
||||
|
||||
## 2. 六条关键流程
|
||||
|
||||
| 标识 | 验证范围 |
|
||||
|---|---|
|
||||
| `AUTH_SESSION` | OIDC登录、回调恢复、会话失效提示和重新登录 |
|
||||
| `FAMILY_WORKSPACE` | 家庭成员、长者授权、设备、固件、通话、故事记忆、分享和隐私八个页签可进入并正确渲染 |
|
||||
| `OPERATIONS_WORKSPACES` | 运行配置、费用额度、告警处置和联调诊断工作台可进入、刷新和恢复 |
|
||||
| `REALTIME_NAVIGATION` | SSE已连接,工作台URL刷新、前进、后退和深链恢复正确 |
|
||||
| `MEDIA_FILE_CONTROLS` | 音频控件可播放;上传/下载确认区、Web Crypto摘要和私有对象访问无浏览器阻断 |
|
||||
| `CONTROLLED_ACTIONS` | 代表性页面内受控表单能打开、校验、取消,目标冻结且不依赖浏览器弹窗 |
|
||||
|
||||
每项结果必须为`PASS`,并要求控制台错误、非预期失败请求和横向溢出均为0。预期的401恢复、被取消SSE或有意阻断请求应在执行记录中说明,不能笼统计为0来隐藏异常。
|
||||
|
||||
## 3. 采集结构
|
||||
|
||||
输入使用`safari-compatibility-capture-v1`:
|
||||
|
||||
- 顶层绑定`candidate_version`、`build_digest`、`environment`、版本发布依据、变更工单、执行人、独立复核人和采集时间;
|
||||
- `runs`恰好覆盖`CURRENT`与`PREVIOUS`,两者`browser_version`必须不同;
|
||||
- 真实证据中`browser_name`固定为`Safari`,同时记录macOS版本、脱敏机器引用以及`SAFARIDRIVER`或`MANUAL_OBSERVED`执行方式;
|
||||
- 每个运行包含六流程与两视口的12项`results`,每项保存截图、视频、日志或人工记录引用;
|
||||
- 不保存登录令牌、Cookie、录音正文、字幕正文、匿名分享口令或个人敏感信息。
|
||||
|
||||
“最近两个版本”不硬编码到校验器。QA应在每次候选冻结时依据Apple公开发布信息或组织批准的浏览器基线登记`release_reference_ref`,把当时的版本映射为`CURRENT/PREVIOUS`,避免升级后仍把旧版本误报为最新。
|
||||
|
||||
## 4. 一致性检查与证据包门禁
|
||||
|
||||
报告执行11项检查:采集模式、来源、候选身份、候选绑定、环境身份、Safari版本覆盖、视口覆盖、流程覆盖、功能结果、证据引用和时间线。
|
||||
|
||||
`SAFARI_COMPATIBILITY`不可豁免。索引标记`VERIFIED`时,第一个文件必须是同候选的`PASS/REAL_SAFARI`报告,并完整包含24项结果。证据包清单中的`safari_compatibility_validation`汇总两个版本、运行数、结果数和缺口。非Safari报告或缺任一版本时必须保持`PENDING`。
|
||||
|
||||
## 5. 现场执行步骤
|
||||
|
||||
1. 固定候选版本、镜像摘要、目标环境和Safari发布依据。
|
||||
2. 分别在两个真实Safari版本上执行两种视口;每个视口只跑六条关键流程。
|
||||
3. 保存脱敏截图/视频、控制台与网络失败摘要,并填写采集JSON。
|
||||
4. 由不同于执行人的QA复核版本、候选、错误计数和证据引用。
|
||||
5. 生成报告:
|
||||
|
||||
```powershell
|
||||
go run ./cmd/safari-conformance `
|
||||
-capture E:\evidence\safari-capture.json `
|
||||
-candidate-version 0.63.0-rc.1 `
|
||||
-build-digest sha256:<64位摘要> `
|
||||
-output E:\evidence\safari-report.json
|
||||
```
|
||||
|
||||
6. 将报告作为`SAFARI_COMPATIBILITY`首个文件并重建候选证据包,确认`coverage_complete=true`。
|
||||
|
||||
本地仅验证采集与报告工具链:
|
||||
|
||||
```powershell
|
||||
.\scripts\smoke-safari-conformance-toolchain.ps1
|
||||
```
|
||||
|
||||
该脚本不启动Safari、不声称页面兼容,也不会把外部门禁改为通过。
|
||||
Reference in New Issue
Block a user