Skip to main content

test-reviewer

Review test coverage, assertions, isolation, and failure cases to assess release confidence.

Quellinformationen

Repository
majesticlabs-dev/majestic-abilities
Letzte Quellaktivität
30. September 2026 um 03:14
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
1

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
test-reviewer
description
Review test coverage, assertions, isolation, and failure cases to assess release confidence.
# Test Reviewer **Audience:** Developers reviewing test suites for quality and completeness. **Goal:** Assess whether tests prove intended user workflows and independent behavior contracts, with meaningful assertions and failure detection rather than test count or method coverage. ## Review Steps ### 1. Identify Test Context - Establish the review scope from the request, changed files, or provided diff - Locate test files related to the changed behavior - Identify the testing framework and repository conventions ### 2. Map Behavior Contracts to Tests - Start from user workflows, acceptance criteria, documented contracts, and known failure traces, not the implementation's assumptions - State the expected outcomes independently of the code; mark missing or ambiguous expectations as evidence gaps - Read the implementation and relevant callers to trace how each behavior is exercised - Create a coverage matrix mapping user workflows and behavior contracts to test cases, including the failure each case would detect - Prefer end-to-end checks that prove a user can complete the workflow. Keep focused unit and integration tests when they detect additional real failures or isolate a failure that a broader check would miss - Do not require a separate unit test for every public method or enforce a testing pyramid by habit ### 3. Analyze Test Coverage For each user workflow or behavior contract, check if tests exist for: - **Happy Path**: Normal successful execution flows - **Sad Path**: Error conditions, validation failures, edge cases - **Boundary Conditions**: Empty values, nil/null, maximum limits - **State Transitions**: Before/after states, side effects - **Authorization**: Permission checks (if applicable) - **Integration Points**: External service calls, database operations ### 4. Evaluate Test Quality - **Assertion Quality**: - Are assertions specific and meaningful? - Do tests verify behavior against an independent expectation, not mirror implementation details? - Would a plausible regression in the expected outcome make the test fail? - Do end-to-end checks exercise the real workflow rather than mock away the behavior they claim to verify? - Are error messages helpful for debugging? - **Test Isolation**: - Do tests depend on execution order? - Are external services properly mocked? - Is test data properly set up and torn down? - **AAA Pattern**: - Clear Arrange (setup) section - Single Act (execution) - Focused Assert (verification) - **Test Names**: - Do names describe expected behavior? - Would someone understand the test without reading code? ### 5. Check Test Patterns - **Framework Compliance**: - RSpec: Proper use of `describe`, `context`, `it`, `let`, `before` - Minitest: Proper use of `setup`, `test`, fixtures - Jest: Proper use of `describe`, `it`, `beforeEach`, mocks - **Project Conventions**: - Do tests follow existing patterns in the codebase? - Are shared examples/contexts used where appropriate? - Is test data handled consistently (fixtures vs factories)? ### 6. Identify Missing Scenarios Look for common gaps: - **Nil/Empty Handling**: What happens with nil, empty strings, empty arrays? - **Error Cases**: Network failures, database errors, validation failures - **Concurrency**: Race conditions, parallel execution - **Edge Cases**: First/last items, exactly at limits, off-by-one - **Security**: Input sanitization, authorization bypasses - **Performance**: Large data sets, timeout scenarios ### 7. Check for Test Anti-Patterns - Skipped/pending tests without justification - Tests with `sleep` or hardcoded delays (flaky test smell) - Tests with non-deterministic data (random values without seeds) - Over-reliance on `allow_any_instance_of` or similar broad mocks **Note:** This skill performs static analysis only. Test execution is handled separately to avoid redundant test runs. **Red Flags to Watch For:** - Tests that always pass (no real assertions) - Tests that test Rails/framework behavior, not application code - Overly complex test setup indicating design issues - Mocking too much (testing mocks, not real behavior) - No error case coverage - Tests tightly coupled to implementation details - Agent-written tests that copy the implementation's assumptions without an independent contract - Many passing unit tests with no check that the user can complete the workflow - Redundant tests that add maintenance work without detecting additional failures - Missing database state verification - **Frozen fixture assertions**: Exact collection comparisons (`assert_equal [a, b], scope` or `expect(scope).to eq([a, b])`) that break when unrelated fixtures are added. Recommend `assert_includes`/`expect(...).to include(...)` instead. ## Test Quality Review Report Provide your findings in this structure: ### Test Coverage Summary - **Implementation Files Reviewed**: [count] - **Test Files Reviewed**: [count] - **Coverage Gaps Identified**: [count] - **Quality Issues Found**: [count] ### Coverage Matrix | Workflow/Contract | Expected Outcome Source | Test Level | Failure Detected | Coverage Gaps | |-------------------|-------------------------|------------|------------------|---------------| | [workflow] | [specification or failure trace] | [e2e/integration/unit] | [regression] | [missing or unverified behavior] | Record coverage as present, missing, or unknown. This static review cannot establish that tests passed; report execution evidence separately when supplied. ### Critical Coverage Gaps [List features/methods with missing test coverage, prioritized by risk] 1. **[Feature/Method Name]** - [file:line] - Missing: [what scenarios are not tested] - Risk: [why this gap matters] - Recommended: [specific test to add] ### Test Quality Issues **High Priority**: - [Issue description with file:line reference] - Recommendation: [how to fix] **Medium Priority**: - [Issue description] - Recommendation: [how to fix] **Low Priority**: - [Issue description] - Recommendation: [how to fix] ### Missing Edge Cases [List specific edge case scenarios that should be tested] 1. [Scenario]: [why it matters] → [file to add test] ### Pattern Violations [Tests that don't follow project conventions or best practices] ### Recommendations 1. [Prioritized actionable recommendations] 2. [Include specific test examples where helpful] 3. [Reference project patterns to follow] ### Overall Assessment - **Test Suite Health**: [Excellent/Good/Needs Work/Critical Gaps] - **Confidence Level**: [High/Medium/Low] - Can we ship with current tests? - **Priority Actions**: [Top 3 things to fix before merging] **Note**: Use clear repository-relative file paths and line numbers. Focus on actionable feedback that improves test quality and coverage.
Auf GitHub ansehen