Quelle: Autor
Mutation testing mit stryker.net 16.12.2019, 00:00 Uhr

Die Mutanten kommen - wer killt sie?

Stefan Lieser hat ein kostenloses Mutation-Testing-Tool für .NET ausprobiert.
Wer Tests schreibt, stellt sich immer die Frage, ob alle relevanten Fälle abgedeckt sind. In der Regel wird dies durch ein Code-Coverage-Tool überprüft. Mit Mutation Testing steht eine ergänzende Methode zur Verfügung.
Die Idee ist verblüffend einfach: Bevor die Tests ausgeführt werden, wird der Code der Anwendung modifiziert. So wird beispielsweise die Bedingung einer if-Abfrage geändert: Lautet die Abfrage etwa if (x > 0), wird der Code so modifiziert, dass if (x >= 0) ausgeführt wird. Wenn die Tests eine ausreichende Abdeckung haben, muss diese Änderung dazu führen, dass wenigstens ein Test anschlägt und auf Rot geht. Der so modifizierte Code wird als Mutant bezeichnet. Schlägt ein Test fehl, ist der Mutant damit „gekillt“. Bleiben allerdings alle Tests auf Grün, überlebt der Mutant. Dies bedeutet. Es muss ein Test ergänzt werden, der den Mutanten killt.

dotnetpro

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Auf jedem Gerät verfügbar