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

qe-test-design-techniques

Systematic test design with boundary value analysis, equivalence partitioning, decision tables, state transition testing, and combinatorial testing. Use when designing comprehensive test cases, reducing redundant tests, or ensuring systematic coverage.

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

proffesor-for-testing/agentic-qe스타 515(GitHub 515 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.2 KB

SKILL.md(원문)

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

Test Design Techniques

<default_to_action> When designing test cases systematically:

  1. APPLY Boundary Value Analysis (test at min, max, edges)
  2. USE Equivalence Partitioning (one test per partition)
  3. CREATE Decision Tables (for complex business rules)
  4. MODEL State Transitions (for stateful behavior)
  5. REDUCE with Pairwise Testing (for combinations)

Quick Design Selection:

  • Numeric ranges → BVA + EP
  • Multiple conditions → Decision Tables
  • Workflows → State Transition
  • Many parameters → Pairwise Testing

Critical Success Factors:

  • Systematic design finds more bugs with fewer tests
  • Random testing is inefficient
  • 40+ years of research backs these techniques </default_to_action>

Quick Reference Card

When to Use

  • Designing new test suites
  • Optimizing existing tests
  • Complex business rules
  • Reducing test redundancy

Technique Selection Guide

ScenarioTechnique
Numeric input rangesBVA + EP
Multiple conditionsDecision Tables
Stateful workflowsState Transition
Many parameter combinationsPairwise
All combinations criticalFull Factorial

Boundary Value Analysis (BVA)

Principle: Bugs cluster at boundaries.

Test at boundaries:

  • Minimum valid value
  • Just below minimum (invalid)
  • Just above minimum (valid)
  • Maximum valid value
  • Just above maximum (invalid)
// Age field: 18-120 valid
const boundaryTests = [
  { input: 17, expected: 'invalid' },  // Below min
  { input: 18, expected: 'valid' },    // Min boundary
  { input: 19, expected: 'valid' },    // Above min
  { input: 119, expected: 'valid' },   // Below max
  { input: 120, expected: 'valid' },   // Max boundary
  { input: 121, expected: 'invalid' }  // Above max
];

Equivalence Partitioning (EP)

Principle: One test per equivalent class.

// Discount rules:
// 1-10:  No discount
// 11-100: 10% discount
// 101+:   20% discount

const partitionTests = [
  { quantity: -1, expected: 'invalid' },  // Invalid partition
  { quantity: 5, expected: 0 },           // Partition 1: 1-10
  { quantity: 50, expected: 0.10 },       // Partition 2: 11-100
  { quantity: 200, expected: 0.20 }       // Partition 3: 101+
];

// 4 tests cover all behavior (vs 200+ if testing every value)

Decision Tables

Use for: Complex business rules with multiple conditions.

Loan Approval Rules:
┌──────────────┬───────┬───────┬───────┬───────┬───────┐
│ Conditions   │ R1    │ R2    │ R3    │ R4    │ R5    │
├──────────────┼───────┼───────┼───────┼───────┼───────┤
│ Age ≥ 18     │ Yes   │ Yes   │ Yes   │ No    │ Yes   │
│ Credit ≥ 700 │ Yes   │ Yes   │ No    │ Yes   │ No    │
│ Income ≥ 50k │ Yes   │ No    │ Yes   │ Yes   │ Yes   │
├──────────────┼───────┼───────┼───────┼───────┼───────┤
│ Result       │Approve│Approve│Reject │Reject │Reject │
└──────────────┴───────┴───────┴───────┴───────┴───────┘

// 5 tests cover all decision combinations

State Transition Testing

Model state changes:

States: Logged Out → Logged In → Premium → Suspended

Valid Transitions:
- Login: Logged Out → Logged In
- Upgrade: Logged In → Premium
- Payment Fail: Premium → Suspended
- Logout: Any → Logged Out

Invalid Transitions to Test:
- Logged Out → Premium (should reject)
- Suspended → Premium (should reject)
test('cannot upgrade without login', async () => {
  const result = await user.upgrade(); // While logged out
  expect(result.error).toBe('Login required');
});

Pairwise (Combinatorial) Testing

Problem: All combinations explode exponentially.

// Parameters:
// Browser: Chrome, Firefox, Safari (3)
// OS: Windows, Mac, Linux (3)
// Screen: Desktop, Tablet, Mobile (3)

// All combinations: 3 × 3 × 3 = 27 tests
// Pairwise: 9 tests cover all pairs

const pairwiseTests = [
  { browser: 'Chrome', os: 'Windows', screen: 'Desktop' },
  { browser: 'Chrome', os: 'Mac', screen: 'Tablet' },
  { browser: 'Chrome', os: 'Linux', screen: 'Mobile' },
  { browser: 'Firefox', os: 'Windows', screen: 'Tablet' },
  { browser: 'Firefox', os: 'Mac', screen: 'Mobile' },
  { browser: 'Firefox', os: 'Linux', screen: 'Desktop' },
  { browser: 'Safari', os: 'Windows', screen: 'Mobile' },
  { browser: 'Safari', os: 'Mac', screen: 'Desktop' },
  { browser: 'Safari', os: 'Linux', screen: 'Tablet' }
];
// Each pair appears at least once

Agent-Driven Test Design

// Auto-generate BVA tests
await Task("Generate BVA Tests", {
  field: 'age',
  dataType: 'integer',
  constraints: { min: 18, max: 120 }
}, "qe-test-generator");
// Returns: 6 boundary test cases

// Auto-generate pairwise tests
await Task("Generate Pairwise Tests", {
  parameters: {
    browser: ['Chrome', 'Firefox', 'Safari'],
    os: ['Windows', 'Mac', 'Linux'],
    screen: ['Desktop', 'Tablet', 'Mobile']
  }
}, "qe-test-generator");
// Returns: 9-12 tests (vs 27 full combination)

Agent Coordination Hints

Memory Namespace

aqe/test-design/
├── bva-analysis/*       - Boundary value tests
├── partitions/*         - Equivalence partitions
├── decision-tables/*    - Decision table tests
└── pairwise/*           - Combinatorial reduction

Fleet Coordination

const designFleet = await FleetManager.coordinate({
  strategy: 'systematic-test-design',
  agents: [
    'qe-test-generator',    // Apply design techniques
    'qe-coverage-analyzer', // Analyze coverage
    'qe-quality-analyzer'   // Assess test quality
  ],
  topology: 'sequential'
});

Related Skills


Remember

Systematic design > Random testing. 40+ years of research shows these techniques find more bugs with fewer tests than ad-hoc approaches.

Combine techniques for comprehensive coverage. BVA for boundaries, EP for partitions, decision tables for rules, pairwise for combinations.

With Agents: qe-test-generator applies these techniques automatically, generating optimal test suites with maximum coverage and minimum redundancy. Agents identify boundaries, partitions, and combinations from code analysis.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

a11y-ally

무료

Use when running comprehensive WCAG accessibility audits with axe-core + pa11y + Lighthouse, generating context-aware remediation, or testing video accessibility. Supports 3-tier browser cascade with graceful degradation.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

WCAG 2.2 compliance testing, screen reader validation, and inclusive design verification. Use when ensuring legal compliance (ADA, Section 508), testing for disabilities, or building accessible applications for 1 billion disabled users globally.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid search, and distributed systems integration. Use when building distributed AI systems, multi-agent coordination, or advanced vector search applications.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer, Q-Learning, SARSA, Actor-Critic, and more. Use when building self-learning agents, implementing RL, or optimizing agent behavior through experience.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

Implement persistent memory patterns for AI agents using AgentDB. Includes session memory, long-term storage, pattern learning, and context management. Use when building stateful agents, chat systems, or intelligent assistants.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

Optimize AgentDB performance with quantization (4-32x memory reduction), HNSW indexing (150x faster search), caching, and batch operations. Use when optimizing memory usage, improving search speed, or scaling to millions of vectors.

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

proffesor-for-testing/agentic-qe5152026년 10월 26일 업데이트

proffesor-for-testing의 스킬 모두 보기

이 스킬의 문제 신고