본문으로 건너뛰기
cccskills
무료GitHub에 공개

qa-test-design

Design and write QA test artifacts - test cases, test plans, acceptance criteria, API test specs, and PR testability reviews. Use this skill whenever a QA engineer or SDET needs to translate requirements, user stories, or feature specs into structured test documentation. Trigger on phrases like "write test cases", "create a test plan", "define acceptance criteria", "review this PR for testability", "write API test specs", "test coverage for this feature", "what should we test", "how do we test this", or any request to structure what and how to test before execution begins. Also trigger when a developer asks "is this testable?" or a PM asks "what are the edge cases?".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Overview

Based on "The Art of Software Testing" by Glenford Myers. Myers established three systematic techniques that catch the most defects per test written: equivalence partitioning, boundary value analysis, and decision table testing. Applied together, they replace ad-hoc test design with a method that maximizes defect detection within a fixed time budget.

QA Test Design

Turn requirements, user stories, and feature specs into structured, executable test documentation.

When to Use

  • Translating a user story or spec into test cases
  • Writing acceptance criteria before a feature is built
  • Reviewing a PR for testability gaps
  • Drafting an API test spec from endpoint documentation
  • Producing a test plan for a sprint or release

Inputs to Gather

Before writing anything, collect:

  1. Feature/scope - what is being built or changed?
  2. User story or spec - the requirements source
  3. Tech context - frontend, API, mobile, or all of the above?
  4. Test management tool - Jira, TestRail, Notion, or plain markdown?
  5. Risk level - new feature, regression area, or critical path?

If inputs are missing, ask for the user story or spec before proceeding.

Workflow

Step 1: Analyze Requirements

Read the spec or story. Identify:

  • The happy path (what should work)
  • Negative paths (what should fail gracefully)
  • Edge cases (boundary values, empty states, large data, concurrent users)
  • Integration points (APIs called, DB writes, external services)
  • Non-functional requirements (performance thresholds, accessibility, security)

Apply Myers' three techniques:

  • Equivalence Partitioning - Divide inputs into classes where any value in the class is equally likely to reveal a bug. Test one value per class (not all). Example: age input - classes are negative, 0-17, 18-120, >120. Test one from each.
  • Boundary Value Analysis - Bugs cluster at boundaries. For each equivalence class, test the boundary values (min, min+1, max-1, max). Example: a form accepting 1-255 characters → test 0, 1, 2, 254, 255, 256.
  • Decision Table Testing - For features with complex logic (multiple conditions → multiple outcomes), build a table mapping all condition combinations to expected actions. Catches combinations that informal testing misses.

Step 2: Write Test Cases

Use this structure for each test case:

ID: TC-[feature]-[number]
Title: [brief action + expected result]
Preconditions: [system state before test runs]
Steps:
  1. [action]
  2. [action]
Expected Result: [observable outcome]
Priority: P1 / P2 / P3
Type: Positive / Negative / Edge / Regression

Aim for coverage across:

  • P1 - critical path, blocks release if broken
  • P2 - important, degrades experience
  • P3 - nice to have, low risk

Step 3: Write Acceptance Criteria (if requested)

Use Given/When/Then format:

Given [precondition]
When [action]
Then [expected outcome]

Each criterion must be:

  • Observable - can be verified by a tester or automated check
  • Specific - no ambiguity about pass/fail
  • Independent - does not depend on another AC to make sense

Step 4: API Test Spec (if requested)

For each endpoint, document:

Endpoint: [METHOD] /path
Description: [what it does]
Auth: [required / not required / scope needed]

Test Cases:
  Happy path: [valid payload → expected response + status]
  Missing required field: [payload → 400 + error message]
  Invalid auth: [payload → 401/403]
  Edge: [boundary value → expected behavior]

Contract checks:
  - Response schema matches documented spec
  - Required fields always present
  - Error messages are human-readable

Step 5: PR Testability Review (if requested)

Evaluate the diff for:

  • Are new code paths covered by existing or new tests?
  • Are error branches tested, not just the happy path?
  • Are there hardcoded values that should be parameterized for testing?
  • Is the code structured to be testable (dependencies injectable, side effects isolated)?
  • Are there missing logging/observability that would make failures hard to diagnose?

Output as a short checklist with specific line references.

Output Formats

Test cases - table or numbered list, depending on test management tool Acceptance criteria - Given/When/Then bullets in the ticket API test spec - markdown doc or Postman collection outline PR testability review - bullet checklist with file:line references

Anti-Patterns

Only testing the happy path Every feature has edge cases. Empty inputs, max limits, concurrent operations, network failures. If you only test what should work, you miss what will break in production.

Vague steps "Click the button" is not a test step. "Click the Submit button on the /checkout page with a valid Visa card number" is. Steps must be reproducible by someone who has never seen the feature.

No expected result A test case without a specific expected result is not a test case. It is a script. State exactly what the system should do - status codes, UI messages, DB state, side effects.

Writing tests after the feature is built Test design before implementation surfaces ambiguity in requirements while it is cheap to fix. Do test design during sprint planning or alongside spec review, not after code review.

Ignoring non-functional requirements Performance, accessibility, and security are test cases too. A login flow that passes functional tests but is inaccessible to screen readers is a bug.

Quality Checklist

Before finalizing any test artifact:

  • Every happy path has a corresponding negative path
  • Edge cases include: empty, null, max value, min value, special characters
  • Each test case has a unique ID, clear steps, and a specific expected result
  • Priority is assigned (P1/P2/P3) with rationale
  • Integration points and external dependencies are called out
  • Acceptance criteria are observable and unambiguous
  • API specs include auth, error, and schema checks
  • No test depends on execution order (each is independent)

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Rate any product, feature, or experience on the 11-star scale (Brian Chesky's Airbnb thought experiment). Use when user says "rate this experience", "11-star", "star rating", "experience audit", "how good is this", "experience rating", "product audit", "quality assessment", or wants to evaluate product quality and identify improvement paths. Also trigger when user wants to benchmark a feature, assess where a product stands, or map out what "great" looks like - even if they don't explicitly say "11-star".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

Generate A/B copy variants grounded in Eugene Schwartz's awareness and market-sophistication stages and John Caples' tested-headline discipline. Every variant declares its angle, the awareness stage it targets, and a falsifiable hypothesis, and the skill recommends which pair to test first and what delta counts as signal. Use when the user says "A/B test this", "write variants", "give me options", "test different angles", "copy variants", "ab copy", "test this headline", "multiple versions", "which version is better", or wants to test copy before publishing. For reviewing copy that already exists, see copy-review. For sample size and stopping rules, see growth-experiment. For diagnosing a page rather than its words, see page-cro. For full paid ad sets by platform, see ad-campaign-writer.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

Design statistically rigorous experiments to test data science hypotheses. Use when the user says "design an A/B test", "run an experiment", "test this hypothesis", "is this difference significant", "how many samples do I need", "randomized controlled trial", "causal inference", "uplift test", "holdout group", "significance test", "power calculation", "avoid p-hacking", or needs to determine whether an observed effect is real before making a product or model decision. For lean build-measure-learn product experiments without the statistics, use experiment-design instead.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

Write measurable acceptance criteria for requirements or user stories. Use when the user says "write acceptance criteria", "definition of done", "how do we test this", "fit criteria", "given when then", "Gherkin scenarios", "what does done look like", "testable conditions", "how will we know this works" - even if they don't explicitly say "acceptance criteria".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

Build a strategic account plan for winning, retaining, or expanding a named account. Use when the user says "build an account plan", "strategic account planning", "how do I grow this account", "account expansion strategy", "whitespace analysis", "QBR prep", "key account review", "map the stakeholders in this account", "land and expand plan", "how do I break into [company]", or wants a structured strategy for a specific account.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

Write paid ad copy for LinkedIn, Google, Meta, and YouTube. Produces multiple variants per platform, each targeting a different Eugene Schwartz awareness level and Cialdini persuasion principle. Use when the user asks for ad copy, ad variants, "write LinkedIn ads", Google ads, Meta ads, paid social copy, ad headlines, or wants creative for a paid campaign. Reads brand voice, ICP, and positioning from knowledge/. For organic social posts, see linkedin-post or social-calendar. For the landing page the ad points at, see landing-page-writer. For testing variants, see ab-copy-writer.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

qa-aman/claude-skills212026년 10월 19일 업데이트

qa-aman의 스킬 모두 보기

이 스킬의 문제 신고