Testing Strategy
测试策略、用例设计与质量保障
| 目标 | 指标 | 说明 |
|---|---|---|
| 功能完整性 | 100% P0功能覆盖 | 核心功能必须有测试用例 |
| 代码覆盖率 | ≥ 80% | 核心业务逻辑高覆盖 |
| 缺陷密度 | ≤ 0.1个/功能点 | 发布后严重缺陷控制 |
| 测试通过率 | ≥ 95% | 上线前测试通过率 |
graph TD
A[端到端测试
10%] --> B[集成测试
30%]
B --> C[单元测试
60%]
style A fill:#FEE2E2
style B fill:#DBEAFE
style C fill:#D1FAE5
| 测试类型 | 比例 | 负责 | 工具 |
|---|---|---|---|
| 单元测试 | 60% | 开发 | Jest/JUnit |
| 集成测试 | 30% | 开发/测试 | Postman/Supertest |
| 端到端测试 | 10% | 测试 | Cypress/Playwright |
| 字段 | 说明 |
|---|---|
| 用例ID | TC-功能编号-序号(如TC-001-01) |
| 功能模块 | 所属功能模块 |
| 用例标题 | 简明描述测试内容 |
| 前置条件 | 执行测试前的准备条件 |
| 测试步骤 | 详细操作步骤 |
| 预期结果 | 期望的系统响应 |
| 优先级 | P0/P1/P2 |
| 用例ID | 用例标题 | 前置条件 | 测试步骤 | 预期结果 |
|---|---|---|---|---|
| TC-001-01 | 正常登录-手机号 | 用户已注册 | 1.输入手机号 2.输入正确密码 3.点击登录 |
登录成功,跳转首页 |
| TC-001-02 | 登录-密码错误 | 用户已注册 | 1.输入手机号 2.输入错误密码 3.点击登录 |
提示"账号或密码错误" |
| TC-001-03 | 登录-账号锁定 | 已连续失败5次 | 1.输入手机号 2.输入密码 3.点击登录 |
提示"账号已锁定" |
| TC-001-04 | 登录-空账号 | - | 1.账号留空 2.输入密码 3.点击登录 |
登录按钮禁用/提示输入账号 |
| TC-001-05 | 登录-记住登录态 | - | 1.输入账号密码 2.勾选"记住我" 3.登录 |
7天内免登录 |
| 平台 | 设备/浏览器 | 版本 | 优先级 |
|---|---|---|---|
| iOS | iPhone 15 Pro | iOS 17 | P0 |
| iPhone 14 | iOS 16 | P0 | |
| iPhone SE | iOS 15 | P1 | |
| Android | Xiaomi 14 | Android 14 | P0 |
| Samsung S23 | Android 13 | P0 | |
| 华为 Mate 60 | HarmonyOS 4 | P1 | |
| Web | Chrome | 最新2个版本 | P0 |
| Safari | 最新2个版本 | P0 | |
| Edge | 最新版本 | P1 |
| 指标 | 目标值 | 测试方法 |
|---|---|---|
| 接口响应时间(P95) | ≤ 500ms | 压力测试工具 |
| 并发用户支持 | ≥ 1000 | 负载测试 |
| 系统吞吐量 | ≥ 1000 TPS | 性能测试 |
| 内存占用 | ≤ 200MB | Profiler工具 |
| 测试项 | 测试内容 | 通过标准 |
|---|---|---|
| 认证测试 | Token有效性、过期处理、并发登录 | 无越权访问 |
| 授权测试 | 水平/垂直权限越界测试 | 只能访问授权资源 |
| 输入验证 | SQL注入、XSS、特殊字符 | 恶意输入被拦截 |
| 敏感数据 | 传输加密、存储加密、日志脱敏 | 无敏感信息泄露 |
| 会话管理 | 会话超时、注销后失效 | 会话安全可控 |
| 检查项 | 标准 | 状态 |
|---|---|---|
| P0功能测试 | 通过率100% | □ |
| P1功能测试 | 通过率≥95% | □ |
| 兼容性测试 | P0设备全部通过 | □ |
| 性能测试 | 达到目标指标 | □ |
| 安全测试 | 高危漏洞为0 | □ |
| 代码审查 | 问题全部解决 | □ |
| Bug修复 | 严重/高优先级Bug为0 | □ |
| 事件ID | 事件名称 | 验证点 | 结果 |
|---|---|---|---|
| app_launch | App启动 | 启动时触发,包含source参数 | □ |
| page_view | 页面浏览 | 进入页面时触发,包含page_name | □ |
| login_click | 点击登录 | 点击登录按钮触发 | □ |
| login_success | 登录成功 | 接口返回成功后触发,含duration | □ |