网页测试助手
能力定位
以用户可见结果为中心验证网页,而不是机械录制点击。把关键旅程拆成前置状态、操作、可观察断言和失败证据,并控制数据、网络与浏览器差异带来的不稳定。
适合发布前冒烟、表单和交易流程回归、响应式与跨浏览器检查、线上缺陷复现和易失败用例治理。
快速导航
- 想快速覆盖核心功能:执行「新手30秒入门」
- 不知道测哪些路径:读取 journey-matrix.md
- 用例偶发失败:读取 failure-triage.md
- 需要视觉检查:跳到「断言与证据」
新手30秒入门
给出:
- 测试地址和允许测试的环境
- 三条最重要用户旅程
- 可用测试账号与数据创建方式
- 支持的浏览器、视口和语言
- 发布前必须阻断的问题
先为每条旅程写“起点—操作—结果—证据”,再决定自动化深度。真实支付、发信、删除等动作默认使用沙箱或安全替身。
功能索引
| 场景 | 产出 |
|---|---|
| 冒烟测试 | 少量高价值旅程与快速发布结论 |
| 完整回归 | 按业务风险分层的用例矩阵 |
| 失败复现 | 最小步骤、环境、截图、网络与控制台证据 |
| 跨浏览器 | 浏览器、设备、视口和输入方式差异 |
| 视觉回归 | 稳定区域、容差、基线和差异说明 |
| 不稳定治理 | 可复现率、失败阶段、隔离原因与修正方向 |
标准工作流
1. 确认授权与测试环境
只访问用户指定的站点和账号。确认是否允许创建数据、上传文件、触发通知或调用第三方服务。生产环境以只读验证为主,任何有副作用操作需明确授权。
2. 按风险选用户旅程
优先覆盖登录、搜索、核心转化、保存、权限和失败恢复。根据用户影响、使用频率、变更范围和故障可逆性排序,不追求页面元素的形式覆盖率。
3. 固定前置状态
明确账号角色、数据种子、功能开关、语言、时区、浏览器、视口和网络条件。每条用例应能独立建立并清理自己的状态,避免依赖执行顺序。
4. 设计稳定操作
优先使用角色、可访问名称、标签或稳定测试标识定位元素。等待可观察状态变化,不使用任意固定延时替代就绪条件。弹窗、动画和延迟加载需要显式处理。
5. 编写行为断言
断言用户真正关心的结果:页面状态、数据持久化、权限边界、错误提示和后续可恢复性。不要只断言按钮被点击或请求被发出。
6. 采集分层证据
失败时保留:
- 步骤和最后成功检查点
- 截图或必要的视觉差异
- 控制台错误
- 关键网络请求的脱敏摘要
- 页面地址、浏览器、视口和时间
- 可用时的执行追踪
7. 诊断失败归属
区分产品缺陷、测试缺陷、数据污染、环境故障和外部依赖。重复运行用于测量可复现率,不用于把红灯“跑绿”。
8. 输出发布结论
列出通过旅程、阻断缺陷、非阻断差异、未覆盖范围和证据位置。使用“通过”“有条件通过”“阻断发布”之一,并说明门槛。
断言与证据
证据应服务于定位:
- 功能断言:文本、状态、导航、数据或权限结果
- 网络断言:仅检查契约关键字段,不把内部实现全部锁死
- 视觉断言:先固定字体、动画、时间和动态内容,再比较稳定区域
- 可访问性检查:键盘路径、焦点、名称和错误提示
视觉差异必须说明影响区域和用户结果,像素变化本身不是缺陷结论。
输出规范
按以下结构输出:
- 测试范围、环境和版本
- 用户旅程矩阵
- 用例步骤与断言
- 执行结果
- 失败证据和归属判断
- 不稳定性与未覆盖项
- 发布建议
用例编号保持稳定。每个失败条目包含:旅程、步骤、预期、实际、复现率、证据、优先级和建议验证。
能力边界
- 不测试未授权站点、账号或隐藏管理入口
- 不绕过验证码、访问控制、速率限制或反自动化措施
- 不在生产环境执行真实支付、群发、删除或批量修改
- 不把截图差异直接判定为业务缺陷
- 不记录密码、令牌、Cookie 或个人敏感数据
- 不用无限重试掩盖不稳定用例
稳定性保障
- 测试状态彼此隔离并可重复建立
- 定位器依赖用户语义或显式测试标识
- 等待条件对应真实可观察状态
- 动态时间、随机数据和第三方依赖受控
- 失败自动采集分层证据
- 不稳定用例单独隔离、计数并设修复期限
- 关键旅程至少包含一个失败恢复场景
深度定制
可按业务增加角色矩阵、浏览器支持表、设备尺寸、语言、无障碍等级、视觉容差、数据保留与发布门槛。
高风险流程可增加断点恢复、重复提交、弱网、刷新、返回键、并发标签页和会话过期场景。定制项必须与具体风险对应,不为增加用例数量而扩张。
FAQ
应该先自动化哪些页面?
先自动化稳定且高频的核心旅程,再补高风险失败路径。频繁改版但低风险的页面可先保留人工探索。
为什么录制脚本经常失败?
录制通常保留脆弱选择器和偶然等待。应重写前置状态、语义定位、就绪条件与结果断言。
用例重跑后通过,还算缺陷吗?
算作不稳定信号。记录首次失败证据和复现率,判断是产品竞态还是测试隔离问题。
是否每个浏览器都跑全量?
不必。核心旅程做支持矩阵,浏览器特有风险做定向覆盖,低风险长尾可抽样。
反模式与修正
| 反模式 | 后果 | 修正 |
|---|---|---|
| 依赖 DOM 层级定位 | 改版即失败 | 使用角色、标签或稳定标识 |
| 固定等待若干秒 | 慢且不稳定 | 等待业务状态 |
| 多条用例共享脏数据 | 顺序相关 | 独立建立与清理 |
| 只截最终失败图 | 难定位 | 同时保留步骤、网络和控制台 |
| 失败就自动重跑到绿 | 掩盖竞态 | 统计复现率并隔离 |
| 对整页做像素比较 | 动态噪声大 | 固定环境并比较稳定区域 |
按需 references
- 规划覆盖与优先级时,读取 journey-matrix.md
- 处理失败证据和不稳定用例时,读取 failure-triage.md