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].