02_综合测试计划.md 12 KB

ServicePilot 综合测试计划

1. 测试范围与目标

1.1 测试对象

系统名称:ServicePilot 智能客户工单与 SLA 履约管理平台。

测试对象包括:

  1. 前端页面:Angular 页面、GSAP 动画页面、React 嵌入组件。
  2. 后端接口:Node.js + TypeScript + Express API。
  3. 数据存储:Parse 数据 Class 与对象权限。
  4. 核心业务:用户登录、工单创建、工单处理、SLA 判断、知识库查询、满意度评价。

1.2 测试目标

  1. 验证核心业务功能是否正确可用。
  2. 验证后端核心函数和接口是否满足正常、异常、边界场景。
  3. 验证高频业务接口在并发场景下的响应时间和错误率。
  4. 验证主要页面流程可以通过自动化测试稳定执行。
  5. 根据测试结果判断系统是否达到发布标准。

1.3 测试范围

模块 测试内容 测试重点
用户登录 登录、退出、权限拦截 正常登录、密码错误、未登录访问
工单管理 创建、查询、分派、处理、关闭 状态流转、必填校验、角色权限
SLA 管理 SLA 规则、超时判断 时限边界、超时标记、达标率
知识库 文章新增、查询、引用 关键词查询、可见范围
附件管理 上传、预览、下载 文件类型、大小限制
满意度评价 评分、评价、统计 重复评价、评分边界
数据看板 指标统计、图表展示 数据准确性、接口响应

不纳入本次测试范围:

  1. 第三方支付。
  2. 真实短信或邮件发送。
  3. 大规模分布式部署。
  4. 移动端 App。

2. 测试策略

测试类型 工具 数量目标 覆盖范围
单元测试 Jest 24 条 后端核心函数
接口测试 Supertest 42 条 核心 API
性能测试 Locust 5 个场景 高频业务接口
UI 自动化测试 Selenium 6 条流程 核心页面流程
手工功能测试 浏览器 35 条 页面和业务流程

测试总量目标:不少于 112 条/项。

2.1 自动化测试级别映射

为对标标准软测大作业和行业测试分层,本项目将自动化测试分为以下级别:

级别 对应测试层级 工具 项目模块 通过标准
L1 小型测试 单元/组件测试 Jest 状态流转、权限、SLA、附件校验 通过率 ≥ 95%,核心规则 100%
L2 中型测试 接口/组件集成测试 Jest + Supertest health、配置接口、404、核心 API 契约 通过率 ≥ 95%
L3 大型测试 系统/UI 自动化测试 Selenium 或 Playwright 登录、创建工单、流转、附件、评价 6 条主流程 100%
L4 验收测试 发布验收 手工测试 + 报告 发布门禁、缺陷等级、启动说明 阻塞/严重缺陷为 0
L5 非功能测试 性能测试 Locust 登录、列表、详情、创建、看板 错误率和 P95 满足标准

当前已落地执行的自动化结果见 16_综合测试执行报告.md。

3. 测试环境

类型 环境
操作系统 Windows 10/11
浏览器 Chrome 最新稳定版
前端 Angular、TypeScript、GSAP、React 组件
后端 Node.js、TypeScript、Express
数据库 Parse / Back4App
单元测试 Jest
接口测试 Supertest
性能测试 Locust
UI 自动化 Selenium

4. 测试工具与版本

工具 用途 建议版本
Node.js 后端运行环境 20 LTS 或以上
npm 依赖管理 10 或以上
Jest 单元测试 项目安装版本
Supertest 接口测试 项目安装版本
Locust 性能测试 2.x
Selenium UI 自动化 4.x
ChromeDriver 浏览器驱动 与 Chrome 版本匹配
pytest-cov / coverage 覆盖率报告,可选 最新稳定版

5. 单元测试计划

5.1 测试对象

后端核心函数,包括业务规则函数和工具函数。

5.2 用例数量

计划编写 24 条 单元测试。

模块 函数类型 用例数
用户模块 密码校验、JWT 解析、权限判断 6
工单模块 状态流转、字段校验 8
SLA 模块 响应超时、解决超时、达标率计算 6
文件模块 文件类型、文件大小校验 4

5.3 具体测试步骤

  1. 进入后端目录:project/backend。
  2. 编写核心函数测试文件,例如 tests/ticket-status.spec.ts。
  3. 按正常值、异常值、边界值设计用例。
  4. 执行命令:npm test。
  5. 记录通过数、失败数、失败原因。
  6. 如需覆盖率报告,执行 Jest coverage 配置并导出报告。

5.4 单元测试标准

指标 标准
单元测试通过率 ≥ 95%
核心状态流转用例 100% 通过
权限判断用例 100% 通过
严重失败用例 0 条

6. 接口测试计划

6.1 测试对象

后端核心 API,包括登录、工单、SLA、知识库、评价和统计接口。

6.2 用例数量

计划编写 42 条 接口测试。

接口模块 重点接口 用例数
登录注册 /api/auth/login、/api/auth/register 8
工单管理 /api/tickets、/api/tickets/:id/status 14
SLA 管理 /api/sla-rules、/api/sla/statistics 6
知识库 /api/knowledge/articles 5
附件管理 /api/tickets/:id/attachments 4
满意度评价 /api/tickets/:id/reviews 3
数据看板 /api/dashboard/summary 2

6.3 接口测试场景

每个核心接口至少覆盖:

  1. 正常请求。
  2. 参数缺失。
  3. 参数类型错误。
  4. 未登录访问。
  5. 无权限访问。
  6. 资源不存在。
  7. 边界值。

6.4 具体测试步骤

  1. 启动后端服务:npm run dev。
  2. 准备测试账号:客户、客服、技术支持、管理员各 1 个。
  3. 使用 Supertest 编写接口测试脚本。
  4. 登录接口获取 token。
  5. 将 token 带入后续接口请求。
  6. 分别执行正常、异常、边界、权限测试。
  7. 执行命令:npm test。
  8. 输出接口测试统计:总数、通过数、失败数、通过率、失败原因。

6.5 接口测试标准

指标 标准
接口测试通过率 ≥ 95%
登录、创建工单、处理工单主接口 100% 通过
未登录接口拦截 返回 401
无权限接口拦截 返回 403
参数错误 返回 400
不存在资源 返回 404

7. 性能测试计划

7.1 测试对象

选择查询和提交频率较高的业务接口进行 Locust 性能测试。

7.2 性能测试场景

计划执行 5 个性能场景。

场景编号 接口 并发用户 持续时间 通过标准
PERF-001 登录接口 30 3 分钟 错误率 < 1%
PERF-002 工单列表查询 100 5 分钟 平均响应 < 500ms
PERF-003 工单详情查询 100 5 分钟 P95 < 1000ms
PERF-004 创建工单 50 5 分钟 错误率 < 2%
PERF-005 数据看板查询 50 3 分钟 P95 < 1200ms

7.3 具体测试步骤

  1. 准备性能测试数据:不少于 100 个工单、10 个用户、5 个企业。
  2. 启动后端服务。
  3. 编写 Locust 脚本,包含登录、查询、提交请求。
  4. 执行单场景压测。
  5. 记录平均响应时间、P95、最大响应时间、请求数、失败数、错误率。
  6. 对失败率超标或响应慢的接口记录原因。
  7. 导出性能测试报告截图或 HTML 结果。

7.4 性能测试标准

指标 标准
查询类接口平均响应时间 < 500ms
查询类接口 P95 < 1000ms
数据看板接口 P95 < 1200ms
登录接口错误率 < 1%
创建工单错误率 < 2%
服务稳定性 压测期间服务不崩溃

8. UI 自动化测试计划

8.1 测试对象

使用 Selenium 对核心页面流程进行自动化测试。

8.2 自动化流程数量

计划编写 6 条 UI 自动化流程。

编号 流程 页面
UI-001 用户登录成功 登录页、工作台
UI-002 登录失败提示 登录页
UI-003 客户创建工单 创建工单页、工单列表页
UI-004 客服分派工单 工单详情页
UI-005 技术支持处理工单 工单处理页
UI-006 客户确认并评价 工单详情页、评价弹窗

8.3 具体测试步骤

  1. 启动前端服务和后端服务。
  2. 启动 Selenium WebDriver。
  3. 打开登录页。
  4. 输入测试账号并登录。
  5. 按流程执行页面点击、输入、提交。
  6. 使用断言检查 URL、页面文本、Toast、状态字段。
  7. 每条流程执行结束后清理测试数据或使用独立测试数据。
  8. 输出自动化测试执行结果。

8.4 UI 自动化标准

指标 标准
自动化流程通过率 100%
核心流程数量 ≥ 6 条
登录、创建工单、处理工单流程 必须通过
页面关键断言 URL、状态、提示信息均正确

9. 手工功能测试计划

计划补充 35 条 手工功能测试,用于覆盖自动化未覆盖的页面细节。

模块 用例数
用户登录与权限 5
工单管理 12
SLA 管理 5
知识库 4
附件管理 3
满意度评价 3
数据看板 3

手工测试重点:

  1. 表单必填校验。
  2. 列表搜索和筛选。
  3. 页面权限菜单。
  4. 文件上传限制。
  5. GSAP 动画是否影响操作。
  6. React 评分和图片预览组件是否正常。

10. 人员分工与进度安排

10.1 人员分工

角色 负责人 任务
前端开发 成员 A Angular 页面、GSAP、React 嵌入组件
后端开发 成员 B Express API、Parse 数据、核心函数
测试负责人 成员 C 测试计划、接口测试、性能测试、测试报告
文档负责人 成员 D PRD、缺陷记录、个人报告整理

如小组少于 4 人,可由同一成员兼任多个角色。

10.2 进度安排

阶段 时间 任务 输出物
测试准备 第 1 周 明确范围、环境、工具、标准 测试计划
用例设计 第 2 周 编写单元、接口、UI、性能用例 测试用例与脚本
测试执行 第 3 周 执行功能、单元、接口、UI 测试 缺陷记录、测试结果
性能与报告 第 4 周 执行性能测试、回归、报告整理 性能报告、综合测试报告

11. 缺陷管理流程

11.1 缺陷状态

  1. 新建。
  2. 已确认。
  3. 修复中。
  4. 待回归。
  5. 已关闭。
  6. 暂不修复。

11.2 缺陷等级

等级 定义 示例
阻塞 系统无法运行或主流程中断 无法登录、无法创建工单
严重 核心功能错误 工单状态错误、权限失效
一般 功能异常但可绕过 筛选结果异常
轻微 文案、样式、提示问题 按钮文案错误

11.3 缺陷记录字段

缺陷编号、模块、标题、严重等级、复现步骤、实际结果、预期结果、截图或日志、负责人、状态、回归结果。

12. 发布标准

系统满足以下标准时,判定为测试通过并可发布:

指标 发布标准
核心功能通过率 ≥ 95%
登录、工单创建、工单处理主流程 100% 通过
单元测试通过率 ≥ 95%
接口测试通过率 ≥ 95%
UI 自动化核心流程 100% 通过
性能测试错误率 查询类 < 1%,提交类 < 2%
阻塞缺陷 0 个
严重缺陷 0 个
一般缺陷 已修复或有规避方案
README 启动说明 可按步骤启动前后端

13. 测试结果统计模板

测试类型 计划数量 实际执行 通过 失败 通过率
单元测试 24 待填 待填 待填 待填
接口测试 42 待填 待填 待填 待填
性能测试 5 待填 待填 待填 待填
UI 自动化 6 待填 待填 待填 待填
手工功能测试 35 待填 待填 待填 待填
合计 112 待填 待填 待填 待填