Generate test cases using metamorphic testing by applying transformations based on metamorphic properties. Use when you need to expand test suites, test programs without oracles, validate mathematical or algorithmic properties, or detect subtle bugs through input-output relationships. The skill takes a program, original test cases, and metamorphic properties as input, generates new test cases by applying transformations, executes tests, verifies outputs satisfy properties, reports violations and anomalies, and outputs an expanded test suite with property coverage summary. Supports multiple programming languages and property types.
Install with Tessl CLI
npx tessl i github:ArabelaTso/Skills-4-SE --skill metamorphic-test-generator80
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Correct script invocation and CLI usage
generate.py used
0%
100%
Program as first arg
0%
100%
--tests flag used
0%
100%
--properties flag used
0%
100%
--output flag used
0%
100%
report.json exists
100%
100%
report original_tests field
100%
100%
report generated_tests field
100%
100%
report violations field
100%
100%
Test case input field
100%
100%
Without context: $0.3956 · 2m 32s · 20 turns · 25 in / 7,130 out tokens
With context: $0.5486 · 1m 46s · 25 turns · 27 in / 4,835 out tokens
Properties JSON file with parameterized multiplication and suite output
properties.json exists
100%
100%
Top-level properties key
100%
100%
Object form used
100%
0%
name key present
100%
0%
factor key present
53%
33%
Expanded suite file exists
100%
100%
Suite original_tests key
0%
100%
Suite generated_tests key
0%
100%
Report exists
100%
100%
Multiplication in report
75%
100%
Without context: $1.0347 · 4m 6s · 47 turns · 52 in / 10,452 out tokens
With context: $0.5885 · 2m 56s · 24 turns · 7,156 in / 5,621 out tokens
Custom MetamorphicProperty class extension
MetamorphicProperty referenced
100%
100%
Subclass defined
100%
100%
__init__ with super() call
0%
100%
transform_input defined
0%
100%
verify_output defined
0%
100%
verify_output returns bool
0%
100%
verify_output returns message
0%
100%
Property registered
70%
100%
report.json exists
100%
100%
Non-trivial transform
100%
100%
Without context: $0.5627 · 3m 46s · 24 turns · 28 in / 8,627 out tokens
With context: $0.8650 · 4m 18s · 28 turns · 31 in / 11,941 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.