Closed ArnaudBuchholz closed 1 year ago
Example of possible mutation :
x < y
⇒ x > y
0
⇒ 1
new Promise(function (resolve, reject) { ... })
⇒ new Promise(function (reject, resolve) { ... })
any function call which result is not reused, remove the function call
Generate a mutation score : #killed mutants / # non equivalent mutants
Equivalent mutants generates the same output
Prioritize qUnit tests over OPA tests. If a mutation can be killed with a QUnit test, simply ignore the OPA ones. test timeout means mutant should get killed. It would be interesting to keep track of test duration to determine a valid timeout.
Closing for now, not the top priority
Provided the fact that coverage is split per journey (and qUnit), it would be possible to optimize mutation testing by knowing which tests to execute depending on which file is altered.
What needs to be done :