Testowanie mutacyjne (in. mutation testing / mutation analysis / program mutation) – technika wykorzystywana do projektowania testów oprogramowania oraz oceny jakości testów już istniejących (np. testów jednostkowych). Testowanie mutacyjne polega na wielokrotnym wprowadzaniu niewielkich zmian do programu. Po wprowadzeniu zmian program uruchamiany jest ponownie, a zadaniem testu jest wykrycie wprowadzonych modyfikacji oraz usunięcie ich. Głównym celem stosowania testowania mutacyjnego jest pomoc testerowi w budowaniu skutecznych testów lub zlokalizowanie słabych punktów testów już wykorzystywanych. Testy mutacyjne zalicza się do grupy testów strukturalnych (ang. white-box testing).

Bardziej ogólna definicja testowania mutacyjnego mówi, że testowanie to polega na stosowaniu dobrze zdefiniowanych reguł w strukturach składniowych programu w celu dokonywania systematycznych zmian w artefaktach oprogramowania.

Główne cele stosowania testowania mutacyjnego

  • identyfikowanie słabo przetestowanych fragmentów kodu (tych, dla których modyfikacje nie zostały odnalezione)
  • identyfikowanie słabych testów (tych, które mają małą wykrywalność mutacji)

Zobacz też

Przypisy

  1. 1 2 Paul Ammann and Jeff Offutt, Introduction to Software Testing. Cambridge University Press, 2008.
  2. 1 2 Richard A. DeMillo, Richard J. Lipton, Fred G. Sayward, Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11(4):34-41, 1978.
  3. Smith B, "On Guiding Augmentation of an Automated Test Suite via Mutation Analysis", 2008.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.