# 第 1 天 入职检查清单 **目标**:完成面向新加入软件测试项目的 QA 工程师的 5 小时入职指南。 **时长**:5 小时(含休息) --- ## 第 1 小时:环境搭建(60 分钟) ### 1.1 克隆仓库并安装依赖 ```bash git clone cd pnpm install # or npm install ``` ### 1.2 启动本地数据库(若使用 Supabase/PostgreSQL) ```bash npx supabase start # 等待 2-3 分钟,所有容器启动完毕 docker ps | grep supabase # 验证 8-11 个容器正在运行 ``` ### 1.3 配置环境变量 ```bash cp .env.example .env # 编辑 .env,填入本地开发 URL ``` ### 1.4 应用数据库迁移 ```bash # 按顺序应用所有迁移 for file in database/migrations/*.sql; do docker exec -i psql -U postgres -d postgres < "$file" done ``` ### 1.5 验证数据库已填充数据 ```bash docker exec psql -U postgres -d postgres -c "SELECT COUNT(*) FROM ;" # 应返回预期的行数 ``` ### 1.6 启动开发服务器 ```bash pnpm dev # 验证:http://localhost:8080(或配置的端口) ``` **检查点**:✅ 环境运行中,数据库已填充数据,网站加载正常。 --- ## 第 2 小时:文档审阅(60 分钟) ### 2.1 阅读快速入门指南(30 分钟) - 了解项目范围(总测试用例数、时间线) - 识别测试类别(CLI、Web、API、安全) - 牢记质量门禁(通过率目标、P0 级 Bug 策略) - 审阅执行计划(第 1-5 周安排) ### 2.2 审阅测试策略(30 分钟) - 理解 AAA 模式(Arrange-Act-Assert,即准备-执行-断言) - 学习 Bug 分类(P0-P4 严重等级) - 掌握测试用例编号格式(TC-XXX-YYY) - 审阅 OWASP 安全覆盖目标 **检查点**:✅ 策略已理解,测试用例格式已牢记。 --- ## 第 3 小时:测试数据准备(60 分钟) ### 3.1 创建测试用户(20 分钟) **通过 UI**(若有认证页面): 1. 导航至 `/auth` 或 `/signup` 2. 创建 5 个普通测试用户 3. 创建 1 个管理员用户 4. 创建 1 个版主用户 **通过 SQL**(分配角色): ```sql INSERT INTO user_roles (user_id, role) SELECT id, 'admin' FROM auth.users WHERE email = 'admin@test.com'; ``` ### 3.2 安装 CLI 用于测试(20 分钟) ```bash # 全局安装(用于直接测试 `ccpm` 命令) cd packages/cli pnpm link --global # 验证 ccpm --version ccpm --help ``` ### 3.3 配置浏览器开发者工具(20 分钟) - 安装 React Developer Tools 扩展 - 设置网络限流预设(Slow 3G、Fast 3G、Fast 4G) - 配置响应式设计模式(移动端、平板、桌面视口) - 测试视口切换 **检查点**:✅ 测试用户已创建,CLI 已安装,开发者工具已配置。 --- ## 第 4 小时:执行第一个测试用例(60 分钟) ### 4.1 打开测试执行跟踪表(5 分钟) - 文件:`tests/docs/templates/TEST-EXECUTION-TRACKING.csv` - 在 Google Sheets、Excel 或 LibreOffice Calc 中打开 - 找到第一个测试用例:`TC-CLI-001` 或相应编号 ### 4.2 阅读完整测试用例文档(10 分钟) - 在文档中找到测试用例(例如 `02-CLI-TEST-CASES.md`) - 阅读:前置条件、测试步骤、预期结果、通过/失败标准 ### 4.3 执行 TC-001(20 分钟) **示例(CLI 安装命令)**: ```bash # 步骤 1:清除之前的安装 rm -rf ~/.claude/skills/ # 步骤 2:运行安装命令 ccpm install # 步骤 3:验证安装 ls ~/.claude/skills/ cat ~/.claude/skills//package.json ``` ### 4.4 记录测试结果(15 分钟) 更新 `TEST-EXECUTION-TRACKING.csv`: | 字段 | 值 | |-------|-------| | **状态** | 已完成 | | **结果** | ✅ 通过 或 ❌ 失败 | | **Bug ID** | (若通过则留空) | | **执行日期** | 2025-11-XX | | **执行人** | [你的名字] | | **备注** | 简要描述(例如"技能在 3.2 秒内安装完成,所有文件存在") | **若测试失败**: 1. 打开 `BUG-TRACKING-TEMPLATE.csv` 2. 创建新的 Bug 条目(Bug ID:BUG-001、BUG-002 等) 3. 填写:标题、严重等级(P0-P4)、重现步骤、环境 4. 在跟踪 CSV 中将 Bug 链接到测试用例 ### 4.5 庆祝!(10 分钟) ✅ 首次测试执行成功! **检查点**:✅ 第一个测试用例已执行并记录。 --- ## 第 5 小时:团队入职与规划(60 分钟) ### 5.1 认识团队(20 分钟) **与以下人员安排会议**: - QA 主管(你的上级) - QA 工程师(同事) - 工程主管(解答技术问题) - DevOps 主管(负责基础设施) **议程**: 1. 互相介绍 2. 项目概述与目标 3. 你的角色与职责 4. 问答与问题排查 ### 5.2 审阅第 1 周计划(20 分钟) **与 QA 主管一起**:审阅每周执行计划。 **示例第 1 周:CLI 测试(93 个测试用例)** | 日期 | 测试用例 | 时长 | 交付物 | |-----|------------|-------|--------------| | 周一 | TC-CLI-001 至 TC-CLI-015 | 5 小时 | 执行 15 个测试用例 | | 周二 | TC-CLI-016 至 TC-CLI-030 | 5.5 小时 | 执行 15 个测试用例 | | 周三 | TC-CLI-031 至 TC-CLI-045 | 5.5 小时 | 执行 15 个测试用例 | | 周四 | TC-CLI-046 至 TC-CLI-060 | 5.5 小时 | 执行 15 个测试用例 | | 周五 | TC-CLI-061 至 TC-CLI-093 | 6.5 小时 | 执行 33 个测试用例 + 周报 | **讨论**: - 今天的环境搭建是否存在阻塞问题? - 对工具和文档是否感到有信心? - 是否需要调整? ### 5.3 收藏关键资源(10 分钟) **创建浏览器书签文件夹**:"Project QA Resources" **必要链接**: - 本地网站(http://localhost:8080 或配置的端口) - 数据库管理 UI(Supabase Studio、phpMyAdmin 等) - GitHub 仓库 - 测试用例文档 - 跟踪表 ### 5.4 最终问答(10 分钟) **常见问题**: **问:如果我在第 1 天就发现了一个严重 Bug(P0),该怎么办?** 答:立即通知 QA 主管。在 Bug 跟踪器中记录。P0 级 Bug 会阻塞发布,必须在 24 小时内修复。 **问:如果我无法在一天内完成所有测试用例,该怎么办?** 答:优先执行 P0 测试。在当天结束时告知 QA 主管。计划可以调整。 **问:我可以按不同顺序执行测试吗?** 答:可以,但请遵循优先级顺序(P0 → P1 → P2 → P3)。同时更新跟踪表。 **问:如果某个测试用例描述不清,该怎么办?** 答:在团队的 Slack/聊天频道中提问。同时在跟踪表中记录该问题,以便将来改进。 **检查点**:✅ 已与团队见面,第 1 周计划已审阅,所有问题已解答。 --- ## 第 1 天完成检查清单 在离开前,请验证以下所有设置已就绪: ### 环境 - [ ] 仓库已克隆,依赖已安装 - [ ] 数据库正在运行(Docker 容器或托管实例) - [ ] `.env` 文件已配置正确的 URL/密钥 - [ ] 数据库迁移已应用,数据已填充 - [ ] 开发服务器正在运行,网站可加载 ### 工具 - [ ] CLI 已安装(如适用)——全局和/或本地 - [ ] 浏览器开发者工具已配置扩展 - [ ] 网络限流预设已添加 - [ ] 响应式设计模式已测试 ### 测试数据 - [ ] 普通测试用户已创建(5 个以上用户) - [ ] 管理员用户已创建并分配角色 - [ ] 版主用户已创建并分配角色(如适用) ### 文档 - [ ] 快速入门指南已阅读(理解范围和时间线) - [ ] 测试策略已审阅(理解 AAA 模式、质量门禁) - [ ] 第一个测试用例已成功执行 - [ ] 测试结果已在跟踪表中记录 ### 团队 - [ ] 团队介绍已完成 - [ ] 第 1 周计划已与 QA 主管审阅 - [ ] 关键资源已收藏 - [ ] 已加入沟通渠道(Slack、Teams 等) --- ## 后续步骤:第 1 周测试开始 **周一早上启动**: 1. 参加团队站会(15 分钟) 2. 回顾第 1 天环境搭建中遗留的阻塞问题 3. 开始第 1 周测试执行(按既定计划进行) **每日例行**: - **上午**:团队站会(15 分钟) - **上午场次**:测试执行(9:15 - 12:00) - **午餐**:休息(12:00 - 13:00) - **下午场次**:测试执行(13:00 - 17:00) - **日终**:更新跟踪表、提交 Bug、状态报告(17:00 - 17:30) **每周交付物**:周五下班前——向 QA 主管提交每周进度报告。 --- ## 常见第 1 天问题排查 ### 问题 1:数据库容器无法启动 **现象**:数据库服务失败或容器显示"unhealthy" **解决方法**: 1. 重启数据库服务(Docker Desktop、systemd 等) 2. 查看日志:`docker logs ` 3. 确认端口未被占用:`lsof -i :` 4. 清理旧容器(⚠️ 谨慎操作):`docker system prune` ### 问题 2:网站显示"获取数据失败" **现象**:首页加载正常,但数据部分为空 **解决方法**: 1. 验证数据库已填充数据:`SELECT COUNT(*) FROM ;` 2. 检查 API 连接(开发者工具中的 Network 标签页) 3. 验证 `.env` 文件中的数据库 URL 正确 4. 重启开发服务器 ### 问题 3:安装后 CLI 命令找不到 **现象**:安装后出现 `: command not found` **解决方法**: 1. 检查安装路径:`which ` 或 `pnpm bin -g` 2. 添加到 PATH:`export PATH="$(pnpm bin -g):$PATH"` 3. 永久生效:添加到 `~/.bashrc` 或 `~/.zshrc` 4. 重新加载 shell:`source ~/.bashrc` ### 问题 4:测试用户角色未显示 **现象**:管理员用户无法访问仅管理员可用的功能 **解决方法**: 1. 验证角色插入:`SELECT * FROM user_roles WHERE user_id = '';` 2. 退出后重新登录(角色缓存在会话中) 3. 清除浏览器 Cookie 和本地存储(F12 → Application 标签页) --- ## 恭喜!🎉 你已经完成了第 1 天的入职培训。现在可以开始执行完整的测试计划了。 **有疑问或遇到阻塞?** - Slack/Teams:#qa-team 频道 - 邮箱:qa-lead@company.com - 升级上报:工程主管(针对严重 Bug) **周一见,开始第 1 周测试!** 🚀