Checkmate
Checkmate 是一套自托管的团队测试管理平台,集中管理测试项目、用例库、测试计划、执行结果、探索式测试、自动化导入和质量报告。
安装次数
点赞
应用评论
催更次数
桌面端







应用描述
已集成懒猫OIDC登录。 注意:需要配置Deepseek AI来使用AI功能。 ## 功能特性 - 项目、成员与角色权限管理 - 文件夹化测试用例、版本修订、批量操作和 CSV 导入 - 测试计划、测试运行、里程碑、结果历史与覆盖率报告 - 探索式测试会话、时间线、评论、关注和通知 ## 功能描述 - `Projects` 首页集中展示测试项目,顶部提供 `Search`、`Notifications`、主题切换和当前账号菜单 - 进入项目之后,项目内左侧真实导航为 `Dashboard / Cases / Suites / Runs / Automation / Sessions / Milestones / Reports / Settings` - `Cases` 页支持文件夹整理、用例编写、版本修订、批量操作、CSV 导入和可选 AI 辅助生成 - `Suites` 页用于组织可复用的测试套件,再据此批量生成 `Runs` - `Runs` 页负责执行测试、记录 Passed/Failed/Blocked/Skipped,并沉淀历史结果 - `Sessions` 页提供探索式测试会话、时间线记录和“转为测试用例”能力 - `Milestones`、`Reports` 和 `Automation` 负责阶段追踪、质量看板和自动化结果汇总 - `Settings` 与头像菜单中的 `Administration / Import Data` 负责成员、API Key、Webhook、品牌和 TestMo/文件导入 # 使用流程 ## 1. 登录并确认账号 1. 打开应用,点击 **使用懒猫账号登录 (Sign in with Lazycat)**登录。 ## 2. 创建项目 ### 页面入口 `Projects → New Project` ### 填写示例 | 字段 | 填写内容 | | --- | --- | | `Name` | `跨境电商订单履约质量验收` | | `Key` | `ORDER` | | `Description` | `覆盖结算、支付、退款、库存释放和订单履约关键链路` | `Key` 只能包含 2–10 位字母或数字,用于生成 `ORDER-1` 这样的用例编号。 ## 3. 配置浏览器和环境矩阵 Suite 会根据配置做笛卡尔组合,因此应在创建 Suite 前完成配置。 ### 页面入口 `Settings → Configurations` ### 操作 使用页面底部的 `Group`、`Value` 和 **Add**,依次新增: | Group | Value | | --- | --- | | `浏览器` | `懒猫内置浏览器` | | `浏览器` | `Chrome` | | `环境` | `预发布环境` | ### 可选设置 - `Members`:输入已注册用户邮箱,项目角色实际为 `Lead / Tester / Viewer`。 - `Custom Fields`:可增加 `是否涉及资金`,类型选 `Checkbox`。 - `Shared Steps`:可创建 `登录预发布商城`,供多个步骤型用例复用。 - `API Keys`:只在自动化接入时创建,明文只显示一次。 ## 4. 创建用例目录 ### 页面入口 `Cases → New Folder` ### 操作 依次创建: 1. `结算与支付` 2. `退款与售后` 3. `库存与履约` ## 5. 手工创建三条核心用例 ### 5.1 组合支付成功 进入 `Cases`,选中 `结算与支付`,点击 **New Case**。 | 字段 | 示例 | | --- | --- | | `Title` | `优惠券与余额组合支付成功后生成待发货订单` | | `Folder` | `结算与支付` | | `Priority` | `High` | | `Type` | `Functional` | | `State` | `Active` | | `Preconditions` | `用户已登录;购物车中有一件可售商品;账户余额 50 元;存在一张 20 元优惠券。` | | `Expected Result` | `只生成一笔有效订单;优惠券和余额扣减正确;订单状态为待发货;支付流水可用于对账。` | | `Tags` | `结算,组合支付,冒烟` | 在 `Test Steps` 中录入: | 序号 | `Action` | `Expected result` | | ---: | --- | --- | | 1 | `进入结算页并选择 20 元优惠券` | `应付金额立即扣减 20 元` | | 2 | `勾选使用账户余额并提交订单` | `余额抵扣正确,页面进入支付结果页` | | 3 | `查询订单详情和支付流水` | `订单为待发货,优惠券、余额和流水记录一致` | 点击 **Save Case**。空库中通常生成 `ORDER-1`。 ### 5.2 阻止重复退款 选中 `退款与售后`,点击 **New Case**。 | 字段 | 示例 | | --- | --- | | `Title` | `重复提交退款申请时系统应阻止重复退款` | | `Priority` | `High` | | `Type` | `Regression` | | `State` | `Active` | | `Preconditions` | `订单已支付且允许退款;第一次退款申请已提交并处于处理中。` | | `Expected Result` | `系统只保留一条有效退款申请,不重复冻结资金,也不重复发送退款事件。` | | `Tags` | `退款,幂等,资金安全` | 步骤: | 序号 | `Action` | `Expected result` | | ---: | --- | --- | | 1 | `提交第一次全额退款申请` | `生成退款单并进入处理中` | | 2 | `使用相同订单和退款原因再次提交` | `系统提示退款处理中,不创建第二条退款单` | | 3 | `查询退款单和资金流水` | `只有一条退款记录和一次资金操作` | 保存后通常生成 `ORDER-2`。 ### 5.3 支付超时释放库存 选中 `库存与履约`,点击 **New Case**。 | 字段 | 示例 | | --- | --- | | `Title` | `支付超时后锁定库存应自动释放` | | `Priority` | `Critical` | | `Type` | `Acceptance` | | `State` | `Active` | | `Preconditions` | `商品可售库存为 10;创建订单后库存锁定 1 件;订单支付超时时间为 15 分钟。` | | `Expected Result` | `订单关闭后库存恢复为 10,不产生重复回补,商品重新可售。` | | `Tags` | `库存,支付超时,补偿任务` | 步骤: | 序号 | `Action` | `Expected result` | | ---: | --- | --- | | 1 | `创建订单但不完成支付` | `订单待支付,可售库存变为 9` | | 2 | `等待订单超过支付时限` | `订单自动关闭并触发库存释放` | | 3 | `查询库存和补偿事件` | `可售库存恢复为 10,只有一次释放事件` | 保存后通常生成 `ORDER-3`。 ## 6. 用中文 CSV 导入第四条用例 ### 页面入口 `Cases → Import CSV` ### 操作 1. 在 `Target Folder` 选择 `结算与支付`。 2. 点击 CSV 区域右上角的 **Upload file**。 3. 来源选择层出现后: - 本地文件:选 **从本地打开**; - 懒猫微服文件:选 **从懒猫打开**。 4. 选择 order_cases_import.csv。(地址: https://quwenjian.cc/#/?code=RQ8AV) 5. 确认 CSV 文本已回填到输入区。 6. 点击 **Import**。 ## 7. 评论和附件 ### 操作 1. 打开任一用例详情。 2. 在评论区输入: `已完成首轮订单履约回归,重复退款幂等和库存释放需要重点观察。` 3. 提交评论。 4. 点击附件入口,来源选择层出现后: - 本地文件:选 **从本地打开**; - 懒猫微服文件:选 **从懒猫打开**。 5. 上传 session-evidence-order-sync.txt。(地址: https://quwenjian.cc/#/?code=RQ8AV) 6. 刷新页面。 ## 8. 创建 Milestone ### 页面入口 `Milestones → New Milestone` ### 填写示例 | 字段 | 示例 | | --- | --- | | `Name` | `2026-08 订单稳定性发布` | | `Due Date` | `2026-08-21` | | `Description` | `用于订单结算、退款和库存补偿链路的发布验收。` | 点击 **Create**。 ## 9. 创建跨浏览器 Suite ### 页面入口 `Suites → New Suite` 弹窗标题实际为 `New Test Suite`。 ### 填写示例 | 字段 | 示例 | | --- | --- | | `Name` | `2026-08 退款到账与库存回补矩阵` | | `Milestone` | `2026-08 订单稳定性发布` | | `Cases To Include` | `By Folder` | | 目录 | `退款与售后`、`库存与履约` | | 浏览器 | `懒猫内置浏览器`、`Chrome` | | 环境 | `预发布环境` | ### 保存前检查 弹窗底部必须显示: `Will generate 2 runs.` 如果只显示 1: 1. 检查 `Settings → Configurations` 是否已有三个配置值。 2. 确认两个浏览器和一个环境都处于选中状态。 3. 关闭并重新打开 Suite 弹窗,让配置重新加载。 ### 保存和成功标志 点击 **Create Suite**。详情页应显示: - `2 runs across configurations` - `Runs (2)` - `懒猫内置浏览器 / 预发布环境` - `Chrome / 预发布环境` 本示例已在 Web `0.1.10` 部署实例真实生成两个 Run,每个 Run 包含 3 条用例。 ## 10. 创建一个独立 Run Suite 适合矩阵执行;只做一次特定验证时,可以直接创建 Run。 ### 页面入口 `Runs → New Run` ### 填写示例 | 字段 | 示例 | | --- | --- | | `Name` | `2026-08 退款到账与库存释放复核` | | `Config` | `懒猫内置浏览器 / 预发布环境` | | `Milestone` | `2026-08 订单稳定性发布` | | `Cases To Include` | `By Folder` | | 目录 | `退款与售后`、`库存与履约` | | `Assignment` | `Unassigned` | 点击 **Create Run**。 ## 11. 执行用例并形成结果闭环 ### 页面入口 Run Overview → **Execute** ### 推荐执行数据 1. 对组合支付用例: - 每个步骤选 `Passed`。 - `Result note & screenshots` 输入: `优惠券和余额扣减正确,订单状态已进入待发货,支付流水一致。` - 点击底部 **Passed**。 2. 对重复退款用例: - 第一步选 `Passed`,第二步选 `Failed`。 - 输入: `第二次提交仍返回成功,生成了重复售后单,需要修复退款幂等控制。` - 可上传问题截图。 - 点击 **Failed**。 3. 对库存释放用例: - 输入: `补偿任务当前不可用,无法在本轮确认超时库存释放。` - 点击 **Blocked**。 ### Run 后续操作 - **Rerun**:以同一批用例创建一条全新的未执行 Run。 - **Close Run**:关闭后 Execute 入口消失,结果锁定。 - **Reopen**:重新开放已关闭 Run。 关闭和重新开放会改变执行权限。正式项目中应由 Lead 操作,不要在仍需补录结果时提前关闭。 ## 12. 创建探索式 Session ### 页面入口 `Sessions → New Session` ### 填写示例 | 字段 | 示例 | | --- | --- | | `Title` | `退款到账时效与订单状态一致性复核` | | `Charter (mission)` | `验证退款受理、第三方到账回写、订单关闭与库存回补的状态一致性,关注延迟到账、重复回调和用户提示。` | | `Time-box (minutes)` | `45` | | `Milestone (optional)` | `2026-08 订单稳定性发布` | 点击 **Create**。 ### 添加探索记录 在 `Timeline` 中选择记录类型并填写: | 类型 | 示例 | | --- | --- | | `Note` | `退款审核通过后约 6 秒收到渠道处理中状态。` | | `Bug` | `重复退款回调导致订单时间线出现两条相同记录。` | | `Question` | `渠道延迟超过 10 分钟时是否应该展示预计到账时间?` | | `Idea` | `建议在订单详情增加退款状态更新时间。` | 点击 **Attach** 上传 session-evidence-order-sync.txt(地址: https://quwenjian.cc/#/?code=RQ8AV),再点击 **Add**。 记录保存后,可以点击 **Save As Case**: 1. 在 `Destination Folder` 选择 `退款与售后`。 2. 点击 **Create Case**。 3. 回到 Cases,确认该记录已转成正式用例。 最后点击 **Complete**,返回 Sessions 列表确认卡片状态为 `Completed`。 ## 13. 使用 DeepSeek 生成中文用例 只有安装向导已配置 `DEEPSEEK_API_KEY` 且 API 服务重启后,Cases 页面才会显示该功能。 ### 页面入口 `Cases → Generate with AI` ### 填写示例 | 字段 | 示例 | | --- | --- | | `Target Folder` | `退款与售后` | | `How many` | `3` | | `What should the tests cover?` | 见下方提示词 | 提示词: > 退款申请审核通过后,系统需要异步回写原支付渠道到账状态;覆盖重复回调幂等、渠道延迟超过 10 分钟的用户提示,以及退款完成后订单关闭与库存回补一致性。 点击 **Generate**。生成后展开步骤,检查标题、优先级、类型和预期,只保留合理的结果,再点击 **Add selected (3)**。 ### 已验证结果 - `验证支付渠道重复回调时幂等处理` - `渠道回调延迟超过10分钟时用户提示` - `退款完成后订单关闭与库存回补一致性验证` ## 14. 接入自动化结果 ### 14.1 创建临时 API Key 进入 `Settings → API Keys`: 1. 名称填写 `订单履约 CI 验收`。 2. 点击 **Create Key**。 3. 立即复制明文 Key,保存到 CI Secret;离开页面后无法再次查看。 ### 14.2 创建自动化 Run 以下命令中的 Key 仅放在当前终端环境变量,不要写入仓库: ```bash export CHECKMATE_URL='https://checkmate.你的懒猫微服名.heiyu.space' export CHECKMATE_API_KEY='替换为刚创建的一次性密钥' curl -sS -X POST "$CHECKMATE_URL/api/automation/runs" \ -H "X-API-Key: $CHECKMATE_API_KEY" \ -H 'Content-Type: application/json' \ --data '{ "source": "order-regression", "name": "2026-08 退款回调自动化回归", "branch": "release/2026-08", "environment": "预发布环境" }' ``` 从返回 JSON 复制 `id`,然后设置: ```bash export CHECKMATE_RUN_ID='替换为返回的运行 ID' ``` ### 14.3 提交 JSON 结果 ```bash curl -sS -X POST \ "$CHECKMATE_URL/api/automation/runs/$CHECKMATE_RUN_ID/results" \ -H "X-API-Key: $CHECKMATE_API_KEY" \ -H 'Content-Type: application/json' \ --data '{ "results": [ { "suite": "订单退款", "name": "重复退款回调保持幂等", "status": "passed", "durationMs": 842 }, { "suite": "订单退款", "name": "退款延迟超过十分钟展示用户提示", "status": "failed", "durationMs": 1260, "errorMessage": "预发布环境未展示预计到账时间" }, { "suite": "库存补偿", "name": "退款完成后库存回补事件最终一致", "status": "passed", "durationMs": 2314 } ] }' curl -sS -X POST \ "$CHECKMATE_URL/api/automation/runs/$CHECKMATE_RUN_ID/complete" \ -H "X-API-Key: $CHECKMATE_API_KEY" ``` ### 14.4 或提交 JUnit 也可以读取 order-automation-junit.xml 后提交到: `POST /api/automation/runs/:id/junit` 请求体字段为 `xml`,内容是完整 JUnit XML 字符串。 ## 15. 查看 Reports、分享和导出 ### 页面入口 `Reports` ### 检查内容 - `Total Cases` - `Executed` - `Never Executed` - `Coverage` - `By Priority / By State / By Type` - `Case Health` - `Most Failing` - `Compare Runs` - `Shareable Links` 当前真实样例在 AI 用例保存后显示: - `Total Cases = 8` - `Executed = 4` - `Never Executed = 4` - `Coverage = 50%` `ORDER-5/6/7/8` 出现在 `Never Executed`,说明 Session 转用例和 AI 用例都已进入服务端报告统计。 ### 公开报告 1. 在 `Shareable Links` 点击 **New Link**。 2. 复制 `/shared/:token` 地址。 3. 在未登录窗口打开,确认只读报告可见。 4. 返回 Reports 撤销链接。 5. 再次打开旧地址,应显示不可用。 ### 导出 CSV 1. 点击 **Export Cases CSV**。 2. 选择 **保存至本地** 或 **保存至懒猫**。
懒猫评分/评论
0.0
0 条评论
应用信息
新功能
版本历史记录暂无更新日志
此 App 尚未收到足够的评分或评论,无法显示评论列表。