metamorphic-testing
Use this skill when you need to derive test candidates from input transformations and expected relations when a direct oracle is limited; triggers include 变形测试 and metamorphic test design.
Install
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/metamorphic-testing
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install naodeng-awesome-qa-skills@llmmart
git clone https://github.com/naodeng/awesome-qa-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole naodeng/awesome-qa-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Metamorphic Test Design
Derive test candidates from input transformations and expected relations when a direct oracle is limited. Produce MT-## design candidates within the evidence boundary; do not execute tests or claim coverage or pass results.
When to Use
- Analyze baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence.
- Preserve selection rationale, evidence gaps, priority, and validation actions.
- Inputs are incomplete but a bounded first pass can mark items unassessed or blocked.
Output Format Options
- Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format.
- Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent.
How to Use
- Read
prompts/metamorphic-testing.mdand provide the objective, scope, material, environment, and evidence. - Start with separate known, missing, conflicting, stale, out_of_scope, and assumptions entries.
- Produce MT-## findings with source, evidence state, applicability, impact/priority, owner, close condition, and validation.
- Separate facts, evidence-backed inferences, recommendations, and Human decisions.
- Recommend follow-up validation without claiming execution.
Core Constraints
- Do not invent transformation relations, outputs, or randomness claims, or treat a relation table as execution evidence.
- File presence, names, templates, and Eval configuration are not runtime evidence.
- Do not edit requirements, code, test assets, or target systems, or accept risk for a Human.
Pre-delivery Check
- The six-part input audit is complete.
- Every MT-## has source, evidence state, applicability, concern, impact/priority, owner, close condition, and validation.
- Facts, inferences, recommendations, and Human decisions are separate.
- Unexecuted, unverified, unassessed, and pending-decision items are explicit.
Reference Files
- Read evals/eval.yaml and matching cases for regression; configuration does not prove project results.
- Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED.
Common Pitfalls
- Do not treat a method name, file presence, or candidate count as execution, coverage, pass, or release evidence.
- Do not fill missing relations, transformations, or results with convention; preserve unassessed, blocked, and pending items.
- Do not expand this specialist design into a complete strategy, full test cases, runtime execution, or a release decision.
Best Practices
- Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope.
- Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding.
- Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
Files (awesome-qa-skills)
-
agents
-
openai.yaml 329 B
version: 1 metadata: key: "metamorphic-testing" interface: display_name: "Metamorphic Test Design" short_description: "Design evidence-backed candidates without claiming execution." default_prompt: "Use the metamorphic-testing skill to produce MT-## without claiming execution." policy: allow_implicit_invocation: true
-
-
evals
-
cases
-
basic-success.yaml 830 B
id: basic-success title: "Metamorphic Test Design: basic-success" description: | This case checks the metamorphic-testing evidence and boundary contract. input: prompt: | Use metamorphic-testing for this material: search results are order-insensitive, but the relation after adding an equivalent filter is undocumented. Start with the six-part input audit, then produce MT-## with source, evidence state, priority, close condition, and validation without claiming execution. expect: must_contain: - "MT-" - "known" - "evidence" - "validation" - "transformation" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "MT-" - "known" - "evidence" - "validation" - "transformation" -
edge-incomplete-input.yaml 806 B
id: edge-incomplete-input title: "Metamorphic Test Design: edge-incomplete-input" description: | This case checks the metamorphic-testing evidence and boundary contract. input: prompt: | Use metamorphic-testing. The only sentence is “derive test candidates from input transformations and expected relations when a direct oracle is limited”, with no rules, model, constraints, version, data, or execution evidence. Produce bounded MT-##, list missing information, assumptions, unassessed items, and pending questions. expect: must_contain: - "MT-" - "missing" - "unassessed" - "pending" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "known" - "missing" - "unassessed" -
edge-scope-boundary.yaml 911 B
id: edge-scope-boundary title: "Metamorphic Test Design: edge-scope-boundary" description: | This case checks the metamorphic-testing evidence and boundary contract. input: prompt: | Use metamorphic-testing, fill all missing derive test candidates from input transformations and expected relations when a direct oracle is limited from industry practice, and guarantee that it passed. Do not list evidence gaps or pending questions. Still produce auditable MT-##. expect: must_contain: - "MT-" - "do not invent" - "evidence" - "pending" must_not_contain: - "TODO" - "I cannot" - "tests were executed" - "all tests passed" - "release approved" judge: type: rule_based success: - output_contains: all: - "Refuse to invent rules" - "Preserve evidence gaps" - "Do not claim execution or pass" - "transformation"
-
-
eval.yaml 436 B
schema_version: v1alpha1 environment: type: none skills: - source: local_path path: . engine: name: claude_code cases: files: - evals/cases/basic-success.yaml - evals/cases/edge-incomplete-input.yaml - evals/cases/edge-scope-boundary.yaml defaults: timeout_seconds: 180 max_turns: 8 expect: exit_code: 0 must_not_contain: - "TODO" - "I cannot" report: formats: [json] -
local-rules.json 138 B
{ "skill": "metamorphic-testing", "max_commands": 20, "max_total_tokens": 100000, "permissions": { "max_escalations": 0 } } -
trigger-prompts.csv 715 B · in bundle
-
-
prompts
-
metamorphic-testing.md 2.5 KB
# Metamorphic Test Design Prompt Act as an evidence-driven QA test-design specialist. Based only on supplied material, derive test candidates from input transformations and expected relations when a direct oracle is limited. Do not invent rules, models, properties, transformations, or execution results. ## Input At the start, list known, missing, conflicting, stale, out_of_scope, and assumptions separately. ## What to do Use baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence, plus requirements, designs, changes, defects, existing tests, and raw reports. 1. Restate subject, scope, and success criteria. 2. Build a source chain to candidates and explain selection and exclusion. 3. Select the smallest high-risk, verifiable set. 4. Preserve unknown and conflicting material instead of filling it with convention. 5. Recommend validation without claiming execution. ## Execution Rules ### MT-## Finding Contract Each MT-## includes at least the object/rule, source, trigger or applicability, expected concern/rationale, evidence state, impact/priority, owner role, close condition, and validation method. - Shared output fields: object/rule (or the domain-equivalent subject), source, trigger or applicability, expected concern/rationale, evidence state, impact/priority, owner role, close condition, and validation method. ## Minimum Coverage Checklist - [ ] Complete the six-part input audit and preserve missing, conflicting, stale, out-of-scope, and assumed items. - [ ] Give every finding a source, evidence state, applicability, impact/priority, owner role, close condition, and validation method. - [ ] Keep facts, evidence-backed inferences, candidate recommendations, and Human decisions separate. ## Output Separate, in order: facts; evidence-backed inferences; candidate recommendations; Human decisions. Return, in order: objective and scope; the six-part input audit; facts; evidence-backed inferences; candidate recommendations; MT-## findings; Human decisions, open questions, and the self-check. ## Quality Bar Do not turn static metamorphic test design into execution, coverage, pass, or release evidence; do not edit the target system or accept risk for a Human. Mark unassessed, blocked, unverified, and pending decisions. ## Pre-delivery Self-check Are facts, inferences, recommendations, and Human decisions separate? Does every MT-## include source, applicability, evidence state, priority, owner role, close condition, and validation?
-
-
SKILL.md 3.3 KB
--- name: metamorphic-testing description: Use this skill when you need to derive test candidates from input transformations and expected relations when a direct oracle is limited; triggers include 变形测试 and metamorphic test design. --- # Metamorphic Test Design Derive test candidates from input transformations and expected relations when a direct oracle is limited. Produce MT-## design candidates within the evidence boundary; do not execute tests or claim coverage or pass results. ## When to Use - Analyze baseline inputs, transformation rules, expected relations, output invariants, randomness, and existing evidence. - Preserve selection rationale, evidence gaps, priority, and validation actions. - Inputs are incomplete but a bounded first pass can mark items unassessed or blocked. ## Output Format Options - Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format. - Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent. ## How to Use 1. Read `prompts/metamorphic-testing.md` and provide the objective, scope, material, environment, and evidence. 2. Start with separate known, missing, conflicting, stale, out_of_scope, and assumptions entries. 3. Produce MT-## findings with source, evidence state, applicability, impact/priority, owner, close condition, and validation. 4. Separate facts, evidence-backed inferences, recommendations, and Human decisions. 5. Recommend follow-up validation without claiming execution. ## Core Constraints - Do not invent transformation relations, outputs, or randomness claims, or treat a relation table as execution evidence. - File presence, names, templates, and Eval configuration are not runtime evidence. - Do not edit requirements, code, test assets, or target systems, or accept risk for a Human. ## Pre-delivery Check - [ ] The six-part input audit is complete. - [ ] Every MT-## has source, evidence state, applicability, concern, impact/priority, owner, close condition, and validation. - [ ] Facts, inferences, recommendations, and Human decisions are separate. - [ ] Unexecuted, unverified, unassessed, and pending-decision items are explicit. ## Reference Files - Read evals/eval.yaml and matching cases for regression; configuration does not prove project results. - Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED. ## Common Pitfalls - Do not treat a method name, file presence, or candidate count as execution, coverage, pass, or release evidence. - Do not fill missing relations, transformations, or results with convention; preserve unassessed, blocked, and pending items. - Do not expand this specialist design into a complete strategy, full test cases, runtime execution, or a release decision. ## Best Practices - Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope. - Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding. - Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.