Testowanie mutacyjne
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]
- ↑ a b Paul Ammann and Jeff Offutt , Introduction to Software Testing. Cambridge University Press, 2008 .
- ↑ 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 .
- ↑ Smith B , "On Guiding Augmentation of an Automated Test Suite via Mutation Analysis", 2008 .