qa-testing-methodology
QA test design patterns (equivalence partitioning, boundary analysis, accessibility). Auto-loads when designing test cases, planning test coverage, or writing test procedures.
Best use case
qa-testing-methodology is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
QA test design patterns (equivalence partitioning, boundary analysis, accessibility). Auto-loads when designing test cases, planning test coverage, or writing test procedures.
Teams using qa-testing-methodology should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/qa-testing-methodology/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How qa-testing-methodology Compares
| Feature / Agent | qa-testing-methodology | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
QA test design patterns (equivalence partitioning, boundary analysis, accessibility). Auto-loads when designing test cases, planning test coverage, or writing test procedures.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# QA Testing Methodology Skill
Apply proven test design patterns for comprehensive test coverage.
## Test Case Design Order
Always design tests in this order:
1. **Happy Path** - Main success scenarios
2. **Validation Tests** - Required fields, format validation
3. **Edge Cases** - Boundary conditions, limits
4. **Error Scenarios** - Invalid inputs, system errors
5. **Permission Tests** - Access control, authorization
## Equivalence Partitioning
Divide input data into partitions where all values should behave identically.
### Example: Age Input Field (18-65)
| Partition | Values | Expected Behavior |
|-----------|--------|-------------------|
| Below minimum | 0-17 | Reject with "Must be 18+" |
| Valid range | 18-65 | Accept |
| Above maximum | 66+ | Reject with "Maximum age is 65" |
| Invalid | -1, "abc", empty | Reject with validation error |
**Test Strategy**: Test ONE value from each partition, not every value.
## Boundary Value Analysis
Focus testing on boundaries where behavior changes.
### Example: Password (8-20 characters)
| Boundary | Test Values | Expected |
|----------|-------------|----------|
| Just below minimum | 7 chars | Reject |
| At minimum | 8 chars | Accept |
| Just above minimum | 9 chars | Accept |
| Just below maximum | 19 chars | Accept |
| At maximum | 20 chars | Accept |
| Just above maximum | 21 chars | Reject |
## Test Prioritization Matrix
Prioritize tests based on risk and frequency:
| Priority | Risk | User Impact | Test Frequency |
|----------|------|-------------|----------------|
| **Critical** | Data loss, security breach | All users blocked | Every build |
| **High** | Feature broken | Major workflow impacted | Every release |
| **Medium** | Inconvenient | Workaround available | Weekly |
| **Low** | Minor annoyance | Cosmetic issues | Monthly |
## Accessibility Testing Checklist
Include in every test procedure:
### Keyboard Navigation
- [ ] All interactive elements focusable with Tab
- [ ] Focus order is logical (left-to-right, top-to-bottom)
- [ ] Focus indicator is visible
- [ ] No keyboard traps
### Screen Reader
- [ ] All images have alt text
- [ ] Form fields have labels
- [ ] Error messages announced
- [ ] Headings structured correctly (h1 → h2 → h3)
### Visual
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
- [ ] Information not conveyed by color alone
- [ ] Text resizable to 200% without loss
- [ ] No content flashes more than 3 times/second
## Performance Considerations
Note performance during manual testing:
| Metric | Acceptable | Needs Investigation |
|--------|------------|---------------------|
| Page load | < 3 seconds | > 3 seconds |
| Button response | < 100ms | > 300ms |
| Form submission | < 2 seconds | > 5 seconds |
| Search results | < 1 second | > 2 seconds |
## Test Data Guidelines
### DO
- Use realistic but fake data
- Document exact test data in test cases
- Use consistent test accounts
- Reset test data between runs when needed
### DON'T
- Use production data
- Use generic placeholders ("enter something")
- Share test credentials in plain text
- Assume data from previous tests exists
### Test Data Examples
```
Email: test.user@example.com
Password: Test@1234! (in password manager)
Phone: +1-555-0100 (test range)
Credit Card: 4111-1111-1111-1111 (test card)
Address: 123 Test Street, Test City, TS 12345
```
## Regression Testing
When to run regression tests:
| Trigger | Regression Scope |
|---------|------------------|
| Bug fix | Related feature + integration points |
| New feature | All features that share data/UI |
| Dependency update | Full regression |
| Release candidate | Critical + High priority tests |
## State-Based Testing
Test all valid state transitions:
```
Example: Order Status
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌───────────┐
│ Created │ ──▶ │ Pending │ ──▶ │ Shipped │ ──▶ │ Delivered │
└─────────┘ └─────────┘ └─────────┘ └───────────┘
│ │
▼ ▼
┌───────────┐ ┌────────────┐
│ Cancelled │ │ Returned │
└───────────┘ └────────────┘
```
Test:
- Valid transitions (Created → Pending)
- Invalid transitions (Delivered → Created)
- Edge cases (Cancel while shipping)
## Error Message Verification
Check error messages for:
1. **Clarity**: User understands what went wrong
2. **Actionability**: User knows how to fix it
3. **Tone**: Professional, not blaming
4. **Security**: No sensitive information exposed
### Good vs Bad Error Messages
| Bad | Good |
|-----|------|
| "Error 500" | "Something went wrong. Please try again." |
| "Invalid input" | "Email must be in format: name@example.com" |
| "User not found in database" | "No account found with this email" |
| "Password must match regex..." | "Password needs 8+ characters with a number" |
## Cross-Browser Testing Matrix
Minimum browser coverage:
| Browser | Desktop | Mobile |
|---------|---------|--------|
| Chrome | Latest, Latest-1 | Android |
| Safari | Latest | iOS |
| Firefox | Latest | - |
| Edge | Latest | - |
## Test Documentation Patterns
### When to Screenshot
- Initial state before test
- After critical actions
- Error states
- Final/success state
- Any unexpected behavior
### Writing Clear Steps
**Bad**: Click the button
**Good**: Click the blue "Submit" button in the bottom-right of the form
**Bad**: Enter your details
**Good**: Enter "test@example.com" in the Email field
**Bad**: Verify it works
**Good**: Verify success message "Order placed successfully" appears
## Mobile Testing Considerations
- Test touch targets (minimum 44x44 pixels)
- Test swipe gestures where applicable
- Test orientation changes (portrait ↔ landscape)
- Test with on-screen keyboard visible
- Test with poor network (3G simulation)Related Skills
zod
Zod schema validation patterns and type inference. Auto-loads when validating schemas, parsing data, validating forms, checking types at runtime, or using z.object/z.string/z.infer in TypeScript.
typescript-import-style
Merge-friendly import formatting (one-per-line, alphabetical). Auto-loads when writing TypeScript/JavaScript imports to minimize merge conflicts in parallel development. Enforces consistent grouping and sorting.
setup-mcp-auth
Configure authentication for an existing FastMCP server
fastmcp
FastMCP TypeScript framework patterns for MCP servers. Auto-loads when building MCP servers, creating tools/resources/prompts, implementing authentication, configuring transports, or working with FastMCP in TypeScript.
add-mcp-tool
Add a new tool to an existing FastMCP server with guided configuration
add-mcp-resource
Add a new resource or resource template to an existing FastMCP server
plan-with-team
Validate plan file ownership
privacy-compliance
GDPR, CCPA, and privacy compliance guidance for data protection. Use when handling personal data, implementing consent management, or ensuring regulatory compliance across jurisdictions.
oauth
OAuth 2.0 and OpenID Connect implementation patterns. Use when implementing authentication, authorization flows, or integrating with OAuth providers like Google, GitHub, or custom identity providers.
mcp-security
Use when securing MCP servers, preventing prompt injection, implementing authorization, validating user input, or building secure multi-agent pipelines. Provides 5-layer defense architecture patterns.
rag-cag-security
Security patterns for RAG and CAG systems with multi-tenant isolation. Use when building retrieval-augmented or cache-augmented generation systems that require tenant isolation, access control, and secure data handling.
chunking-strategies
Document chunking strategies for RAG systems. Use when implementing document processing pipelines to determine optimal chunking approaches based on document type and retrieval requirements.