Testowanie mutacyjne

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

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)[1]. Testowanie mutacyjne polega na wielokrotnym wprowadzaniu niewielkich zmian do programu[2]. 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[1].

Główne cele stosowania testowania mutacyjnego[edytuj | edytuj kod]

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

Zobacz też[edytuj | edytuj kod]

Przypisy[edytuj | edytuj kod]

  1. a b Paul Ammann and Jeff Offutt, Introduction to Software Testing. Cambridge University Press, 2008.
  2. a b 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.