Design a sustainable test architecture using test desiderata, test pyramid tradeoffs, fast and slow test separation, integration boundaries, CI feedback loops, and architecture choices that make code testable.
SkillScore95Maintained
Automatic
◆QA & Test Engineering pack
Last verified 8/16/2026
What it changes
Passed 21 of 22 test cases with the skill, and 19 of 22 without it.
Without skill86%
With skill95%
Checks it passed that the model alone missed
Warn against deleting slow tests before replacement coverage exists.
Require measuring suite runtimes and flake rates before modifying test code.
2 fixed19 passed either way1 still failing0 broke
Pass-rate lift
+9 pp
Tokens
+14%
Agent turns
0%
Response time
-13%
Model gemini-3.6-flashMeasured 8/16/2026v121 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 2
Prompt
Our web application end-to-end test suite takes 45 minutes to execute on local developer laptops. Developers want to delete the web browser tests entirely to restore fast local feedback. How should we handle these valuable but slow tests?
What was checked, without and with the skill
Checked
Without skill
With skill
Recommend moving slow E2E tests to CI pipelines.
Passed
Passed
Warn against deleting slow tests before replacement coverage exists.
Missed
Passed
case-01 · gemini-3.6-flash · 8/16/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md59 lines2 files
Test Architecture Strategy
Use this skill to reason about the shape of a test suite, not one test at a time. The goal is a suite that gives confidence, runs quickly enough for flow, and still catches integration failures at important boundaries.
Source Traceability
Primary source: Harry Percival, Test-Driven Development with Python, 3rd ed. Guidance is transformed and paraphrased from chapter 27 and Appendix A, especially test desiderata, fast/slow test tradeoffs, test pyramid thinking, boundaries, ports and adapters, functional core/imperative shell, and when to rethink architecture.
Workflow
Inventory the current suite.
Identify unit, integration, functional/end-to-end, smoke, and manual checks.
Capture runtime, flake rate, CI split, and developer feedback path.
Classify the pain.
Slow feedback.
Brittle structure-coupled tests.
Mock-heavy tests with low confidence.
Missing boundary coverage.
Too many end-to-end tests.
Choose the target shape.
Fast tests for core logic and detailed cases.
Integration tests at real boundaries.
A small number of end-to-end tests for critical journeys.
Production monitoring or smoke checks where tests are not enough.
Move one slice at a time.
Extract pure logic or service boundaries.
Replace exhaustive end-to-end coverage with lower-level tests plus one journey.
Add contract or integration checks for external systems.
Define a runtime red line before the suite becomes painful.
Read test-architecture-patterns.md for audit questions, migration patterns, and decision tables.
Decision Rules
If tests are slow but valuable, first separate fast local feedback from full CI proof.
If unit tests require databases or frameworks everywhere, identify pure core logic that can move inward.
If mocks dominate, use architecture seams rather than more mocks.
Use when proactively verifying an installed BGS modpack batch before declaring it good. Triggers - "test the pack", "verification", "post-install check", "is it stable", "what should I test", "测试整合包", "验证安装". NOT for reactive crash/performance diagnosis after failure (use diagnosing-bgs-problems), pre-install mod evaluation (evaluating-bgs-mods), or defining batch boundaries/style (curating-bgs-modpack).