测试指南
- 文档性质:现行指南
- 对齐时间:
2026-07-02 - 读者画像:测试、后端、前端、联调、交付、运维
- 适用范围:
backend、frontend-admin-v3、frontend-user-v3-www、frontend-user-v4-console、shared及其联调、回归、发布前验收
1. 文档目标
本文用于定义当前 turaidc 项目的全量测试范围、测试环境、执行顺序、测试项清单、自动化命令、人工验证重点、缺陷分级和交付产出。
发生冲突时按以下顺序处理:
- 当前代码真实行为
AGENTS.mddocs/ARCHITECTURE.md- 本文档
- 历史习惯
2. 测试总原则
- 测试目标不是只验证“能不能打开”,而是验证关键业务链路、权限边界、支付/账单/服务/工单等高风险域在当前版本下是否稳定。
- 自动化优先覆盖可重复、可判定、回归频率高的场景;人工重点覆盖视觉、交互、真实业务串联、第三方依赖和异常提示质量。
- 后端、前端、联调、发布验收按依赖顺序执行,不跳步。
- 每次测试必须明确记录测试基线:分支、提交哈希、环境、数据库来源、配置来源、测试时间。
- 对高风险改动必须做定向回归,不允许只跑通用构建后直接上线。
3. 测试分层
3.1 冒烟测试
- 目标:快速确认系统基本可用,适合开发自测、提测前、发布后首检。
- 时长目标:15 到 30 分钟。
- 重点:
- 后端可启动
- 双前端可构建
- 管理员可登录
- 用户可登录
- 站点首页、商品页、用户中心、管理端首页可访问
- 核心接口不返回 500
3.2 回归测试
- 目标:确认改动没有破坏既有关键链路。
- 时长目标:0.5 到 1 个工作日。
- 重点:
- 被改业务域全链路
- 被改业务域上下游影响面
- 权限、日志、通知、缓存、调度等伴随能力
3.3 全量测试
- 目标:版本发布前做完整业务覆盖和跨端联调确认。
- 时长目标:1 到 2 个工作日。
- 重点:
- 全业务模块可用性
- 关键跨域流程闭环
- 多角色、多状态、多异常路径
- 发布前环境与生产配置兼容性
3.4 发布验收
- 目标:确认构建产物、配置、调度、数据库和上线后入口正常。
- 重点:
- 构建产物完整
- 配置项齐全
- 调度和队列行为正常
- 登录、下单、支付回调、服务开通等首要链路在线可用
4. 测试环境矩阵
4.1 本地开发环境
- 后端:PHP 8.3、Laravel 12、MySQL 8、Redis
- 官网与购买入口:端口以
frontend-user-v3-www的 Vite 配置为准 - 管理端:端口以
frontend-admin-v3的 Vite 配置为准 - 用户控制台:端口以
frontend-user-v4-console的 Vite 配置为准 - 后端入口:
http://127.0.0.1:8000 - 启动命令:
bash
cd backend
php artisan app:serve
cd frontend-user-v3-www
pnpm run dev
cd frontend-admin-v3
pnpm run dev
cd frontend-user-v4-console
pnpm run dev4.2 测试库要求
- 推荐使用独立测试数据库,不直接复用生产快照。
- 若需验证全新安装链路,应使用空库执行:
bash
python backend/scripts/install_db.py --reset- 若需验证当前 schema 基线可导出,更新数据库结构后应同步执行:
bash
php backend/scripts/export_database_structure.php4.3 必要配置项
backend/.env中数据库、Redis、APP_URL、FRONTEND_URL、ADMIN_URL 正确。- 第三方依赖如短信、邮件、上游面板、支付宝未准备好时,要明确标注“已模拟”“未验证”或“仅验证本地降级行为”。
5. 测试前准备
5.1 代码准备
- 拉取目标分支代码。
- 确认 Composer 和 pnpm 依赖已安装。
- 记录当前提交哈希:
bash
git rev-parse HEAD5.2 数据准备
- 全新安装验证:空库 +
backend/scripts/install_db.py --reset(Windows 可用)或backend/scripts/install_db.sh(Shell 环境) - 普通回归验证:使用最新测试基线库
- 需要支付、账单、服务、返佣、工单、内容等场景时,准备对应测试数据
5.3 账号准备
- 管理员:
cerbo / Temp@123456 - 用户:
2908990438@qq.com / Cheng2008li#7111
若数据库为全新安装态,默认仅保证管理员账号存在;普通用户、商品、供应商、内容等需按测试目标补数据。
6. 自动化测试入口
6.1 后端自动化
全量后端测试:
bash
cd backend
php artisan test查看测试清单:
bash
cd backend
php artisan test --list-tests当前后端测试组成:
tests/Feature/:大量业务回归测试,覆盖登录、用户、商品、站点、支付、账单、工单、返佣、调度、服务控制台、VNC、安全、黑洞查询等tests/Unit/:规则、编号、快照、驱动、风控等单元测试
6.2 管理端自动化
当前仓库无完整单测框架,但有最小脚本验证与构建验证:
bash
cd frontend-admin-v3
pnpm run build
pnpm run test6.3 用户端自动化
bash
cd frontend-user-v3-www
pnpm run build
pnpm run test结构性重构或大改页面时追加:
bash
cd frontend-user-v3-www
pnpm run verify:refactor7. 建议执行顺序
7.1 开发自测顺序
- 后端定向测试
- 前端对应端构建
- 本地联调冒烟
- 被改业务域人工回归
7.2 提测前顺序
backend全量测试frontend-admin-v3构建frontend-user-v3-www构建frontend-user-v4-console构建- 用户端/管理端关键路径联调
- 提交测试记录
7.3 发布前顺序
- 空库安装链路验证
- 后端全量测试
- 双前端构建
- 全链路人工回归
- 调度与异步行为验证
- 发布验收单签字
8. 全量测试范围
8.1 安装与基础可用性
- 空库执行
backend/scripts/install_db.py --reset成功 mysql-schema.sql可被正确加载- 默认管理员可登录
- 后端
app:serve可启动 - 用户端、管理端
pnpm run build成功 - 站点、用户中心、管理后台首页均可访问
8.2 认证与权限
- 管理员登录、退出、Token 有效期、空闲超时
- 用户登录、注册、找回密码、资料更新
- 管理端
login as跳转与交换码 - 权限码控制是否准确
- 禁用账号不可访问
- 未登录、越权、过期 Token 返回码符合
API格式规范.md
8.3 站点与公开产品
- 首页配置读取正常
- 公告/帮助列表与详情可访问
- 商品分类、列表、详情、报价正常
- 商品卡月付价格、规格、文案、库存展示正确
8.4 管理端商品与目录
- 商品分类树、筛选、分页、排序正常
- 商品详情加载无缺字段错误
- 商品拖拽排序可保存
- 批量移动商品正常
- 商品拆分、规格目录、CPU 型号目录可读可写
- 供应商商品批量关联可用
8.5 用户下单与账单
- 商品报价成功
- 下单创建成功
- 数量、配置快照、指纹与 token 正确
- 余额支付、零元支付、待支付状态处理正确
- 账单生成、账单明细、账单状态流转正常
- 支付记录与账单投影同步正确
8.6 支付与充值
- 支付会话生成成功
- 支付宝预下单失败时提示符合预期
- 异步回调验签逻辑正常
- 充值状态查询可正确更新余额与流水
- 回调幂等性验证通过
8.7 服务生命周期
- 下单后服务创建或待开通状态正确
- 自动续费开关生效
- 到期提醒、续费窗口、取消逻辑正确
- 流量包购买生成正确账单
- 服务删除保留账务记录
8.8 服务控制台
- 服务详情、状态、规格、供应商绑定正常
- VNC token 安全策略正确
- 重装、开关机、重置密码等操作权限正确
- NAT、监控、安全组、黑洞工具页读取与操作正常
- 缓存命中与强刷行为符合预期
8.9 用户与实名
- 用户创建、更新、手机号唯一性校验正确
- 资料页更新成功
- 实名状态查询、解绑、认证历史展示正常
- 缺失旧表时兼容逻辑仍可运行
8.10 优惠券、返佣、会员
- 优惠券创建、更新、发放、领取、使用、回退正常
- 券分页和汇总统计正确
- 推荐关系建立、返佣发放、释放、回退正确
- 提现、返佣日志、账户日志展示正确
- 会员等级配置和关联逻辑正常
8.11 工单与内容
- 工单创建、回复、指派、关闭正常
- 图片上传、路径安全校验正确
- 公告/帮助分类和文章管理可读可写
- 内容发布缓存版本更新正常
8.12 设置、日志与通知
settings表读写正常- 操作日志、系统日志、短信日志、邮件日志查询正常
- 短信日志脱敏正确
- 邮件/通知日志降级写入正常
8.13 调度与异步
- 调度任务概览接口正常
- 可手动触发的任务能执行
- 队列积压清理行为符合当前架构
- 认证刷新、对账、账单补偿、自动化任务执行路径正常
8.14 数据库工程与兼容性
- 基础 schema 导入成功
- 当前迁移可在 schema 基线上执行到最新
- 核心索引存在
- 工程命令 dry-run 输出可读
- 旧表缺失下兼容逻辑不报错
9. 后端测试清单
9.1 必跑
bash
cd backend
php artisan test9.2 高风险改动追加定向测试
- 登录/鉴权:
AuthLoginRegressionTest、SanctumIdleTimeoutTest - 商品/站点:
AdminCatalogRegressionTest、SiteProductReadServiceTest、SiteHomeControllerTest - 下单/支付/账单:
OrderQuantityCheckoutFlowTest、OrderZeroAmountPaymentFlowTest、RechargeStatusBalanceRegressionTest、PaymentInvoiceProjectionSyncTest - 服务控制台/VNC:
ServiceVncTokenSecurityTest、ServiceConsoleSupplierBindingTest - 优惠券/返佣:
CouponLifecycleRegressionTest、ReferralRewardLifecycleRegressionTest - 工单/上传:
TicketServiceRegressionTest、UploadSecurityTest、ZjmfFinanceTransportTest - 调度:
ScheduleTaskExecutionCoverageTest、ScheduleTaskOverviewTest - 安装/数据库:
DatabaseEngineeringCommandTest、DatabaseIndexOptimizationRegressionTest
上传安全与上游传递的定向验证:
bash
cd backend
php artisan test --filter=UploadSecurityTest
php artisan test --filter=ZjmfFinanceTransportTest
php artisan test --filter=ServiceProvisionDataTokenSanitizationTestUploadSecurityTest覆盖/upload_image默认关闭、凭证/白名单/限流与孤儿文件清理。测试缓存为array(phpunit.xml.dist),限流计数不落 Redis;用例tearDown会清理固定测试 IP 的RateLimiter键,重复运行保持幂等。V2AdminTicketActionApiTest覆盖上传防护配置读写、/upload_image开启前置校验、白名单外上传默认拒绝及规则创建/更新保护。ZjmfFinanceTransportTest覆盖附件上传:复用共享 TLS 选项(ssl_verify/ca_bundle)、路径逃逸拒绝、上游失败抛业务异常。ServiceProvisionDataTokenSanitizationTest覆盖回调 token 不进入services.provision_data、仅保留在加密 secret 快照。
9.3 空库初始化链路验证
bash
python backend/scripts/install_db.py --reset验证项:
- 数据库表数量恢复
admin_users中存在cerboPOST /api/v2/admin/login返回code = 0
9.4 后端基线记录原则
测试数量随功能和回归用例持续变化,不在本文维护固定 passed/skipped/assertions 数字。每次发布或大改后应在当前任务、PR 或发布记录中记录:
- 分支与提交哈希。
php artisan test结果。- 静态分析 / 格式检查结果。
- 跳过用例和原因。
- 本次新增失败是否与改动相关。
10. 前端测试清单
10.1 管理端
必跑:
bash
cd frontend-admin-v3
pnpm run build
pnpm run test人工重点:
- 登录页
- 首页仪表盘
- 商品中心
- 用户详情
- 工单页
- 设置页
- 日志页
10.2 用户端与官网
必跑:
bash
cd frontend-user-v3-www
pnpm run build
pnpm run test结构性改动追加:
bash
cd frontend-user-v3-www
pnpm run verify:refactor人工重点:
- 首页
- 商品列表 / 详情
- 登录 / 注册 / 找回密码
- 用户中心首页
- 账单 / 订单 / 服务 / 工单 / 返佣 / 充值
- 黑洞工具页
- 服务控制台页面
11. 联调测试清单
11.1 基础联调
- 前端请求地址均走
127.0.0.1 - 双端登录后 token 存储正确
- 管理端和用户端 API 均返回统一 JSON 外层
- 401 / 403 / 422 / 500 的错误提示可读
11.2 跨端链路
- 管理端新增商品后,站点可见
- 管理端修改首页配置后,官网可见
- 管理端切换用户
login as到用户端成功 - 用户下单后,管理端账单/服务/日志可见
- 用户提交工单后,管理端可处理
11.3 调度联动
- 下单支付后的后续动作在当前调度模型下可被消费
- 调度任务手动触发结果可在前端看到状态变化
12. 人工测试用例设计方法
每个业务域至少覆盖以下维度:
- 正常路径
- 参数缺失
- 非法状态流转
- 权限不足
- 空数据
- 大数据分页
- 并发或重复提交
- 异步延迟
- 第三方失败
- 历史兼容路径
示例:
- 登录:正确密码、错误密码、禁用账号、过期 token、空闲超时
- 下单:正常购买、零元购买、余额不足、未实名限制、未绑手机限制
- 优惠券:有效券、过期券、私有券、公有券、重复使用、取消支付回退
- 服务控制台:可管理、不可管理、供应商缺失、缓存命中、强制刷新、上游报错脱敏
13. 缺陷分级标准
P0- 无法启动
- 无法登录
- 下单/支付/开通主链路中断
- 数据错账、权限泄漏、安全问题
P1- 主要功能不可用
- 关键页面空白或报错
- 高概率触发的错误提示或状态错误
P2- 次要流程异常
- 特定条件下展示错误
- 构建告警、兼容性问题
P3- 文案、样式、轻微交互问题
- 不影响主流程的边角问题
14. 测试记录要求
每轮测试至少输出以下内容:
- 测试时间
- 测试人
- 分支 / 提交哈希
- 环境信息
- 数据库基线来源
- 已执行命令
- 已覆盖模块
- 缺陷列表
- 未覆盖项与原因
- 最终结论:通过 / 有条件通过 / 不通过
15. 发布前验收清单
- 后端
php artisan test通过 frontend-admin-v3构建通过frontend-user-v3-www构建通过frontend-user-v4-console构建通过- 若涉及重构,相关前端的
verify:refactor通过 - 全新安装脚本验证通过
- 默认管理员登录验证通过
- 至少一条用户下单链路验证通过
- 至少一条工单链路验证通过
- 至少一条调度任务手动触发验证通过
- 发布配置与
.env检查完成 - 风险项已记录并确认责任人
16. 当前已知限制
frontend-admin-v3当前没有完整单元测试体系,主要依赖构建和少量脚本验证。frontend-user-v3-www与frontend-user-v4-console自动化测试覆盖仍偏轻,更多依赖构建、脚本和人工联调。- 第三方真实能力如短信、邮件、支付宝、上游服务商接口,若无隔离测试环境,只能验证本地降级与模拟行为。
- 调度与异步链路受当前
schedule:run模式影响,验证时需考虑 0 到 60 秒延迟窗口。
17. 推荐执行模板
17.1 提测前快速版
bash
cd backend
php artisan test
composer analyse
composer format:check
cd ../frontend-admin-v3
pnpm run build
pnpm run test
cd ../frontend-user-v3-www
pnpm run build
pnpm run test记录模板:
- 提交哈希:
- 测试环境:
- 数据库基线:
- 后端结果:
- 管理端构建结果:
- 用户端构建结果:
- 人工冒烟范围:
- 风险与备注:
17.2 发布前全量版
bash
# 1. 空库安装验证
python backend/scripts/install_db.py --reset
# 2. 后端全量
cd backend
php artisan test
composer analyse
composer format:check
# 3. 管理端
cd ../frontend-admin-v3
pnpm run build
pnpm run test
# 4. 官网与购买入口
cd ../frontend-user-v3-www
pnpm run build
pnpm run test
pnpm run verify:refactor
# 5. 用户控制台
cd ../frontend-user-v4-console
pnpm run build人工补充检查建议:
- 管理员登录、用户登录
- 商品后台列表、详情、分类树
- 站点首页、公开商品读取、报价
- 下单、账单、余额支付、零元支付
- 服务控制台详情、VNC、NAT、安全组
- 工单、返佣、调度任务
- 数据库工程命令与关键 Job 注入解析
