Test Case Generator
by @zhanghengyi1986-afk
Generate test cases from requirements, user stories, PRDs, or API docs. Output structured test cases in markdown tables or export to CSV/JSON. Supports equiv...
clawhub install test-case-gen📖 About This Skill
name: test-case-gen description: > Generate test cases from requirements, user stories, PRDs, or API docs. Output structured test cases in markdown tables or export to CSV/JSON. Supports equivalence partitioning, boundary value analysis, decision tables, state transition, and exploratory testing heuristics. Use when: (1) writing test cases from requirements, (2) generating test matrix, (3) analyzing edge cases, (4) creating test plans, (5) reviewing test coverage, (6) "写测试用例", "生成用例", "测试矩阵", "边界值分析", "等价类划分". NOT for: executing tests, automation scripting, or bug tracking. metadata: openclaw: emoji: "📝"
Test Case Generator
Generate structured, thorough test cases from various input sources.
When to Use
✅ USE this skill when:
❌ DON'T use this skill when:
api-tester or manual executionapi-tester or coding toolsWorkflow
Step 1: Analyze Input
Read the provided input (requirements doc, user story, API spec, or verbal description). Identify:
Step 2: Apply Test Design Techniques
Based on the analysis, apply appropriate techniques:
| Technique | When to Apply | |-----------|---------------| | Equivalence Partitioning | Multiple input values with similar behavior | | Boundary Value Analysis | Numeric ranges, string lengths, date ranges | | Decision Table | Complex business rules with multiple conditions | | State Transition | Workflows with status changes (order, ticket, etc.) | | Error Guessing | Based on common defect patterns | | Pairwise/Combinatorial | Multiple parameters with interactions |
Step 3: Generate Test Cases
Output format (default markdown table):
| ID | Module | Priority | Precondition | Steps | Input Data | Expected Result | Type |
|----|--------|----------|--------------|-------|------------|-----------------|------|
| TC001 | Login | P0 | User registered | 1. Open login page 2. Enter credentials 3. Click login | user: admin, pass: Admin@123 | Login success, redirect to dashboard | Positive |
| TC002 | Login | P0 | User registered | 1. Open login page 2. Enter wrong password 3. Click login | user: admin, pass: wrong | Error: "Invalid credentials" | Negative |
Priority definitions:
Type categories:
Step 4: Coverage Analysis
After generating, provide a coverage summary:
📊 Test Coverage Summary
Total cases: 25
By priority: P0(8) P1(10) P2(5) P3(2)
By type: Positive(10) Negative(8) Boundary(4) Security(2) Performance(1)
Estimated gaps: [list any uncovered areas]
Export Options
When user requests export:
# Save as CSV — write to workspace
~/.openclaw/workspace/output/test_cases.csv
Save as JSON (for TestLink/禅道 import)
~/.openclaw/workspace/output/test_cases.json
禅道 CSV Import Format
所属模块,用例标题,前置条件,步骤,预期,优先级,用例类型,关键词
/登录模块,正常登录验证,用户已注册,1.打开登录页 2.输入正确账号密码 3.点击登录,登录成功跳转首页,1,功能测试,登录;正向
TestLink XML Format
验证使用正确账号密码能成功登录
用户已注册
1
打开登录页,输入正确账号密码,点击登录
登录成功,跳转首页
2
1
Tips for Better Test Cases
, ' OR 1=1--, emoji 🔍Pairwise / Combinatorial Testing
When multiple input parameters interact, use pairwise to reduce combinations:
参数A: [a1, a2, a3]
参数B: [b1, b2]
参数C: [c1, c2, c3]全组合: 3×2×3 = 18 条
Pairwise: ~9 条(覆盖所有两两组合)
示例输出:
| # | 参数A | 参数B | 参数C | |---|-------|-------|-------| | 1 | a1 | b1 | c1 | | 2 | a1 | b2 | c2 | | 3 | a2 | b1 | c3 | | 4 | a2 | b2 | c1 | | 5 | a3 | b1 | c2 | | 6 | a3 | b2 | c3 | | ... | | | |
适用场景:浏览器兼容性(浏览器×系统×分辨率)、表单多字段组合、配置项测试。
State Transition Testing
For workflow/status-driven features, map out state transitions:
[草稿] --提交--> [待审核] --通过--> [已发布]
| |--驳回--> [已驳回] --修改--> [草稿]
|--删除--> [已删除]
Generate test cases covering: