Testowanie Oprogramowania

Testowanie to sprawdzanie zgodności działania systemu ze specyfikacją na podstawie jego działania. Jest to najczęściej stosowana technika zapewnienia jakości.

metoda rodzaj testowania zalecane narzędzia
szklanej skrzynki (white box) testowanie strukturalne bazujące na wiedzy o wewnętrznej strukturze kodu Programowanie Sterowane Testami i Testowanie Mutacyjne
czarnej skrzynki (black box) testowanie funkcjonalności bazujące na informacji o interfejsie klasy / modułu Programowanie Sterowane Testami
testowanie efektywności Szukanie wąskich gardeł aplikacji Profilery, Incremental Development
testowanie użyteczności Badanie przydatności oprogramowania dla użytkowników Incremental Development

Do testowania zalecam stosowanie testów regresywnych (gdzie możliwe jest w pełni automatyczne odtworzenie wcześniej zapisanych testów). Zobacz: Programowanie Sterowane Testami

Aby potwierdzić jakość testów można używać: Testowanie Mutacyjne, Inspekcje Oprogramowania

(...) Nie ma bowiem łatwych odpowiedzi. Nie istnieje nic takiego jak najlepsze rozwiązanie - zarówno jeśli chodzi o narzędzia, jak i języki czy systemy operacyjne. Są jedynie systemy, które mogą być bardziej odpowiednie w konkretnych okolicznościach.

I tu właśnie do gry wchodzi pragmatyzm. Nie należy przywiązywać się do żadnej określonej metody, ale mieć na tyle rozległą wiedzę i doświadczenie, by w danej sytuacji wybrać dobre rozwiązanie. (...)

Andrew Hunt, David Thomas "Pragmatyczny Programista"