「短网址服务」测试用例大纲

1. 首页(短链生成页) 1.1 正常场景 输入合法 URL,点击生成 → 返回短链 & 二维码。 输入合法 URL + 自定义短码 → 返回短链(短码为用户指定值)。 输入合法 URL + 设置过期时间 → 返回带过期信息的短链。 1.2 异常场景 输入空链接 → 提示「请输入有效链接」。 输入非 …

1. 首页(短链生成页)

1.1 正常场景

  • 输入合法 URL,点击生成 → 返回短链 & 二维码。
  • 输入合法 URL + 自定义短码 → 返回短链(短码为用户指定值)。
  • 输入合法 URL + 设置过期时间 → 返回带过期信息的短链。

1.2 异常场景

  • 输入空链接 → 提示「请输入有效链接」。
  • 输入非 http/https 链接 → 提示「请输入有效链接」。
  • 输入超长链接(>2048) → 提示「链接过长」。
  • 输入短码已存在 → 提示「短码已被使用」。
  • 输入黑名单域名 → 提示「该链接无法生成短网址」。

1.3 边界场景

  • 多次点击「生成短链」 → 仅生成一次(按钮禁用 Loading)。
  • 游客用户生成短链 → 无历史记录。

2. 登录 / 注册

2.1 正常场景

  • 注册:输入合法邮箱+密码 → 注册成功 → 自动登录跳转 Dashboard。
  • 登录:输入正确邮箱+密码 → 登录成功 → 跳转 Dashboard。

2.2 异常场景

  • 注册时输入已注册邮箱 → 提示「邮箱已被注册」。
  • 注册时邮箱格式错误 → 提示「邮箱格式错误」。
  • 登录时输入错误邮箱/密码 → 提示「账号或密码错误」。
  • 登录时使用过期 Token → 提示「登录已过期,请重新登录」。

2.3 边界场景

  • 密码和确认密码不一致 → 提示「两次密码不一致」。
  • 注册时未勾选服务协议 → 注册按钮禁用。

3. Dashboard

3.1 短链管理

正常场景

  • 列表展示短链,包含短链/长链/点击量/到期时间。
  • 搜索短链/长链关键字 → 列表过滤正确。
  • 修改短链 → 提交后列表更新。
  • 删除短链 → 弹窗确认后,列表移除。
  • 复制短链按钮 → 剪贴板内容正确。
  • 查看二维码 → 弹窗展示二维码,可下载。

异常场景

  • 修改短链为无效 URL → 提示「链接格式不正确」。
  • 删除已过期短链 → 提示「短链已过期」。
  • 删除非本人短链 → 提示「无权限」。

3.2 数据统计

正常场景

  • 默认显示近 7 天访问趋势。
  • 切换日期范围 → 图表刷新。
  • 饼图展示来源/设备比例,hover 显示详情。
  • 地图展示地域分布。

异常场景

  • 无数据时 → 显示「暂无统计数据」。
  • 请求超时/错误 → 提示「数据统计失败,请稍后再试」。

3.3 用户设置

API Key 管理

  • 新建 Key → 成功生成,提示「请保存」。
  • 删除 Key → 成功后列表移除。
  • 使用无效 Key 调用 API → 提示「API Key 无效」。

自定义域名

  • 输入合法域名 + 校验成功 → 绑定成功。
  • 输入非法域名 → 提示「域名格式错误」。
  • 未配置 DNS → 提示「请检查 DNS 配置」。

账号设置

  • 修改密码 → 成功后提示「修改成功」。
  • 输入错误旧密码 → 提示「旧密码错误」。

4. API 接口

4.1 短链生成 API

  • 正常调用 → 返回短链 JSON。
  • 输入无效 URL → 返回错误码 120001
  • 输入已存在短码 → 返回错误码 120004
  • 触发限流 → 返回错误码 130003

4.2 短链查询 API

  • 查询存在短链 → 返回正确数据。
  • 查询不存在短链 → 返回错误码 120005
  • 查询已过期短链 → 返回错误码 120006

4.3 删除短链 API

  • 删除成功 → 返回成功状态。
  • 删除不存在短链 → 返回错误码 120005
  • 删除非本人短链 → 返回错误码 110005

5. 短链跳转

  • 访问存在短链 → 302 跳转到目标 URL。
  • 访问不存在短链 → 错误页提示「短链不存在」。
  • 访问已过期短链 → 错误页提示「短链已过期」。
  • 访问黑名单短链 → 阻止跳转,提示「该链接不可用」。

6. 异常与边界条件

  • 系统内部错误(数据库挂掉/Redis 不可用) → 返回 100003,前端提示「系统开小差了,请稍后再试」。
  • API 调用超出频率限制 → 返回 130003,前端提示「API 调用次数超出限制」。
  • 移动端访问 Dashboard → 表格切换为卡片展示。

覆盖关系

  • 功能需求 → 测试用例:每个需求点至少有 1 个正向测试 + 1 个反向测试。
  • 错误码 → 测试用例:每个错误码至少有 1 个触发路径。
  • 交互细节 → 测试用例:复制按钮、Loading 状态、分页刷新均需覆盖。

7. 测试用例矩阵表格

短网址服务测试用例矩阵

用例编号模块场景前置条件输入预期结果错误码/提示
TC-001首页生成输入合法 URLhttps://example.com返回短链 + 二维码,状态成功code=0
TC-002首页生成输入非法 URLabc123生成失败120001 → 「请输入有效链接」
TC-003首页生成输入超长 URL长度 >2048生成失败120002 → 「链接过长」
TC-004首页生成自定义短码冲突已有短码 myshop输入 URL + 短码 myshop生成失败120004 → 「短码已被使用」
TC-005首页生成黑名单 URL黑名单域名已配置http://phish.com生成失败120003 → 「该链接无法生成短网址」
TC-006登录输入正确邮箱密码已注册用户邮箱+密码正确登录成功 → 跳转 Dashboardcode=0
TC-007登录输入错误密码已注册用户邮箱+密码错误登录失败110003 → 「账号或密码错误」
TC-008注册输入已注册邮箱已注册邮箱+密码注册失败110002 → 「该邮箱已被注册」
TC-009注册输入非法邮箱abc@注册失败110001 → 「邮箱格式错误」
TC-010短链跳转短链存在短链已生成s.io/abc123302 跳转至长链-
TC-011短链跳转短链不存在s.io/notfound错误页提示120005 → 「短链不存在」
TC-012短链跳转短链过期短链已过期s.io/expired错误页提示120006 → 「短链已过期」
TC-013Dashboard 列表查看短链用户已登录,已有短链-列表显示短链、点击量、到期时间-
TC-014Dashboard 列表删除短链成功用户已登录删除操作 → 确认短链从列表中移除code=0
TC-015Dashboard 列表删除非本人短链登录用户尝试删除他人短链-删除失败110005 → 「无权限」
TC-016数据统计有访问记录短链有访问查询统计接口返回 PV/UV/来源/设备/地域code=0
TC-017数据统计无访问记录短链无访问查询统计接口返回空图表140001 → 「暂无统计数据」
TC-018API 调用使用有效 API Key用户有 Key调用 shorten API返回短链 JSONcode=0
TC-019API 调用使用无效 API KeyKey 不存在调用 shorten API返回错误130001 → 「API Key 无效」
TC-020API 调用超出调用频率达到限流阈值连续快速调用返回错误130003 → 「API 调用超限」
TC-021用户设置新建 API Key用户已登录点击「新建」成功生成 Key,提示「请保存」code=0
TC-022用户设置删除 API Key用户已登录删除 Key成功移除code=0
TC-023用户设置自定义域名绑定成功DNS 已配置输入合法域名绑定成功code=0
TC-024用户设置自定义域名绑定失败DNS 未配置输入合法域名绑定失败,提示「请检查 DNS 配置」-
TC-025系统异常数据库不可用人为断开 DB请求 shorten API返回错误100003 → 「系统开小差了」

说明

  • 用例编号:TC-XXX,方便追踪。
  • 模块:对应 PRD/FDD 中的功能模块。
  • 场景:测试目标(正常/异常/边界)。
  • 前置条件:需要准备的数据/环境。
  • 输入:用户操作/接口调用。
  • 预期结果:前端展示 or API 响应。
  • 错误码/提示:对应后端返回 code 和前端用户友好文案。

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页