layer-12-testing
Expert knowledge for Testing Layer modeling in Documentation Robotics
When & Why to Use This Skill
This Claude skill provides expert-level knowledge for Testing Layer modeling within the Documentation Robotics framework. It enables systematic test coverage definition using the Input Space Partitioning (ISP) model, allowing teams to specify coverage requirements, test case sketches, and input partitions to ensure robust software quality and traceability.
Use Cases
- Systematic Input Space Partitioning: Use the ISP model to partition input spaces for APIs and features, ensuring all boundary conditions and edge cases are systematically covered.
- Test Strategy & Coverage Modeling: Define high-level test coverage models and targets that align with business goals and technical requirements for comprehensive quality assurance.
- Gap Analysis and Risk Management: Identify and document coverage gaps and explicit exclusions to maintain a transparent view of testing risks and areas requiring further validation.
- Cross-Layer Traceability: Link test cases and coverage targets to other architectural layers, such as API operations, data schemas, and business processes, for end-to-end impact analysis.
| name | LAYER_12_TESTING |
|---|---|
| description | Expert knowledge for Testing Layer modeling in Documentation Robotics |
| version | 0.7.0 |
Testing Layer Skill
Layer Number: 12 Specification: Metadata Model Spec v0.7.0 Purpose: Defines test coverage using ISP (Input Space Partitioning) Coverage Model, specifying coverage requirements, test cases, and input partitions.
Layer Overview
The Testing Layer captures test coverage strategy:
- COVERAGE MODELS - Overall test coverage requirements
- COVERAGE TARGETS - What needs testing (APIs, features, data)
- INPUT PARTITIONS - Partition input space for systematic coverage
- TEST CASES - Concrete test case sketches
- CONTEXT VARIATIONS - Environmental and contextual variations
- COVERAGE GAPS - Identified gaps in coverage
This layer uses ISP Coverage Model (systematic input space partitioning).
Central Entity: The TestCoverageModel is the core modeling unit.
Entity Types
Core Testing Entities (17 entities)
| Entity Type | Description |
|---|---|
| TestCoverageModel | Root coverage model for system/component |
| TestCoverageTarget | What needs testing (API, feature, data) |
| InputSpacePartition | Partition of input space |
| PartitionValue | Value/range within partition |
| InputPartitionSelection | Selected partition values for coverage |
| CoverageRequirement | Specific coverage requirement |
| TestCaseSketch | High-level test case description |
| OutcomeCategory | Expected outcome categories |
| ContextVariation | Environmental/contextual variation |
| EnvironmentFactor | Environment-specific factor |
| PartitionDependency | Dependencies between partitions |
| CoverageGap | Identified gap in coverage |
| CoverageExclusion | Explicitly excluded coverage |
| CoverageSummary | Summary of coverage status |
| TargetCoverageSummary | Coverage summary for target |
| TargetInputField | Input field for target |
When to Use This Skill
Activate when the user:
- Mentions "testing", "test coverage", "test cases", "ISP"
- Wants to define test strategy or coverage requirements
- Asks about input partitioning or systematic testing
- Needs to model test cases for APIs, features, or data
- Wants to link testing to requirements or business goals
Cross-Layer Relationships
Outgoing (Testing → Other Layers):
motivation.supports-goals→ Motivation Layer (quality goals)motivation.fulfills-requirements→ Motivation Layer (test requirements)business.covers-process→ Business Layer (process coverage)api.tests-operation→ API Layer (API endpoint testing)data.validates-schema→ Data Model Layer (data validation)ux.tests-view→ UX Layer (UI testing)
Incoming (Other Layers → Testing):
- Motivation Layer → Testing (requirements drive coverage)
- API Layer → Testing (operations need test coverage)
- Business Layer → Testing (processes need testing)
Testing Best Practices
- Systematic partitioning - Use ISP to partition input space
- Coverage criteria - Define clear coverage criteria
- Context variations - Test across different contexts
- Traceability - Link tests to requirements and features
- Gap analysis - Identify and document coverage gaps
- Exclusions - Explicitly document what's not tested
- Outcome categories - Define expected outcomes clearly
Common Commands
# Add coverage model
dr add testing test-coverage-model --name "API Coverage Model"
# Add coverage target
dr add testing test-coverage-target --name "Login API Coverage"
# Add test case sketch
dr add testing test-case-sketch --name "Valid Login Test"
# List coverage models
dr list testing test-coverage-model
# Validate testing layer
dr validate --layer testing
# Export coverage report
dr export --layer testing --format markdown
Example: Login API Coverage Model
id: testing.coverage-model.login-api
name: "Login API Coverage Model"
type: test-coverage-model
properties:
targets:
- testing.target.login-endpoint
coverageCriteria: each-choice
contextVariations:
- browser: [Chrome, Firefox, Safari]
- network: [high-speed, low-speed, offline]
- device: [desktop, mobile, tablet]
motivation:
supports-goals:
- motivation.goal.quality-assurance
fulfills-requirements:
- motivation.requirement.comprehensive-testing
Example: Login Test Coverage Target
id: testing.target.login-endpoint
name: "Login Endpoint Coverage"
type: test-coverage-target
properties:
targetRef: api.operation.login
inputFields:
- name: email
partitions:
- valid-email: [user@example.com]
- invalid-format: [notanemail, @example.com]
- missing: [null, empty]
- name: password
partitions:
- valid-password: [StrongPass123!]
- weak-password: [123, abc]
- missing: [null, empty]
- too-long: [1000-char-string]
outcomeCategories:
- success: 200 OK with auth token
- invalid-credentials: 401 Unauthorized
- validation-error: 400 Bad Request
- rate-limited: 429 Too Many Requests
testCases:
- testing.test-case.valid-login
- testing.test-case.invalid-email
- testing.test-case.invalid-password
- testing.test-case.missing-credentials
Example: Test Case Sketch
id: testing.test-case.valid-login
name: "Valid Login Test Case"
type: test-case-sketch
properties:
target: testing.target.login-endpoint
description: "Test successful login with valid credentials"
inputSelection:
email: valid-email
password: valid-password
contextSelection:
browser: Chrome
network: high-speed
device: desktop
expectedOutcome: success
expectedResponse:
status: 200
body:
token: JWT token present
user: User object with id and email
motivation:
supports-goals:
- motivation.goal.secure-authentication
Pitfalls to Avoid
- ❌ Ad-hoc testing without systematic partitioning
- ❌ Missing context variations (only testing happy path)
- ❌ Not documenting coverage gaps
- ❌ No traceability to requirements
- ❌ Missing cross-layer links to tested elements
- ❌ Incomplete outcome categories