real-world-test-engineering
Skill0 starsChanged 13 days agoMITView on GitHub
Discover realistic failure cases and write, run, or improve behavior-focused unit, component, integration, and contract tests. Use for meaningful application verification, regression fixes, concurrency risks, or weak/flaky tests; skip trivial documentation edits and standalone AI-agent evaluations.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- api-design-engineeringSkill
- deep-readonly-system-auditSkill
- distributed-systems-reliabilitySkill
- engineering-research-intelligenceSkill
- flutter-app-engineeringSkill
- go-backend-engineeringSkill
- multi-tenant-access-controlSkill
- nextjs-fullstack-engineeringSkill
- nodejs-backend-engineeringSkill
- postgresql-data-engineeringSkill
- react-vite-dashboard-engineeringSkill
- redis-production-engineeringSkill
- repository-structure-engineeringSkill
- saas-security-engineeringSkill
- task-subagent-orchestrationSkill
- universal-database-engineeringSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Use scenario discovery and oracles for counterexamples, property/stateful/fuzz testing and selective mutation testing.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Real-World Test Engineering
Build the smallest sufficient suite that distinguishes correct behavior from plausible defects. Test counts, line coverage, successful compilation and a green runner are not proof of meaningful correctness. Strengthen code-level confidence before expensive acceptance testing while identifying what still needs a real browser, device, service or deployment.
Establish expected behavior first
Inspect the request, relevant instructions, callers/consumers, implementation, state transitions, existing tests, fixtures and CI commands. Establish actual runtime/framework/driver versions and test environments. Expand only along relevant dependencies. Reuse the project's runner, helpers and isolated services; do not migrate frameworks or add testing infrastructure by default.
Define the intended user/workflow outcome, compatibility requirements, business/security invariants and the observable evidence that would establish them. Existing code/tests can be wrong; do not copy their current result into the oracle. Resolve material ambiguity from contracts and domain evidence before encoding a disputed expectation. For read-only requests, assess evidence and propose checks without changing the application or executing mutating tests; preserve the authorized report-only boundary.
Discover the failures that matter
Trace where input, ownership, state or responsibility changes. Ask what happens if the user repeats an action, another actor changes state, work completes out of order, or a dependency fails before versus after committing an effect. Combine only risks supported by the actual workflow. Rank by impact, likelihood, exposure and uncertainty, not by checklist length.
For each important scenario, identify the precondition, action/interleaving, expected response/final state, prohibited effect and the test boundary that can observe them. A small fix can use one focused regression; substantial work may warrant a compact scenario summary. Do not generate a formal matrix for every utility.
Use scenario discovery and oracles for counterexamples, property/stateful/fuzz testing and selective mutation testing. These techniques are options, not requirements for every change.
Choose a boundary that can prove the claim
Use unit tests for isolated decisions, component/widget tests for framework interactions, and integration tests for actual adapters and service behavior. Keep the behavior under test real. A mocked repository cannot prove transaction isolation, a mocked Redis clock cannot prove server expiry, and a mocked broker cannot prove redelivery. Mock external boundaries when their real behavior is outside the claim. Schema/consumer mocks need provider verification when interoperability is claimed.
| Current uncertainty | Conditional reference |
| Oracles, meaningful assertions, advanced discovery or regression sensitivity | Scenarios and oracles |
| Async ordering, concurrency, real dependencies, contracts, fixtures or flakes | Reproducible integration |
| TypeScript/Node.js, React or Next.js | JavaScript and web |
| Go handlers, goroutines, race detection or fuzzing | Go |
| Python fixtures, async behavior or generated tests | Python |
| Dart/Flutter state, widgets and platform boundaries | Flutter and Dart |
| Authoritative evidence, version caveats or source examples | Research index |
Load only relevant detail. Use available research/specialist skills for consequential engine, runtime or security uncertainty. This skill owns test quality and confidence, not a new E2E framework, security audit or model-provider evaluation system. Companion skills are optional and must honor the same scope.
Prove, fix and verify
Before a defect fix, establish a failing regression when feasible. Confirm it reaches the intended condition and fails for the defect, not broken setup/imports. For new behavior, define expectations independently before implementation. If a test passes unexpectedly, inspect its path, awaited work, doubles and assertions; do not assume the suspected defect is absent.
Correct the cause, retain the regression and run the focused tests plus justified neighboring/integration checks. Assert actual response, durable state, allowed/forbidden effects and recovery as relevant. Do not weaken assertions, suppress failures, add production bypasses or accept arbitrary sleeps to obtain green results. Stop broadening/repeating successful checks without a new reason. Normal validation is appropriate for documentation/skill-only work; a behavioral evaluation campaign is not the default.
For every substantial task report in main chat: scenarios and edge cases → tests added/improved → bugs/root causes/corrections → commands and actual results → remaining verification gaps → PASS / PARTIAL / FAIL / BLOCKED. Distinguish passed, failed, skipped and unexecuted checks. State what the evidence establishes and which browser/device/proxy/provider/performance risks remain; never claim code-level tests eliminate all real-environment verification.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

