ArnaudBuchholz / ui5-test-runner

A test runner for UI5 applications enabling parallel execution of tests.
https://arnaudbuchholz.github.io/ui5-test-runner/
MIT License
18 stars 9 forks source link

Experiment mutation testing #20

Closed ArnaudBuchholz closed 1 year ago

ArnaudBuchholz commented 2 years ago

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 :

ArnaudBuchholz commented 2 years ago

Example of possible mutation : x < yx > y 01 new Promise(function (resolve, reject) { ... })new Promise(function (reject, resolve) { ... }) any function call which result is not reused, remove the function call

ArnaudBuchholz commented 2 years ago

Generate a mutation score : #killed mutants / # non equivalent mutants

Equivalent mutants generates the same output

ArnaudBuchholz commented 2 years ago

https://stryker-mutator.io/docs/mutation-testing-elements/supported-mutators/

ArnaudBuchholz commented 2 years ago

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.

ArnaudBuchholz commented 1 year ago

Closing for now, not the top priority