Testowanie oprogramowania to proces związany z wytwarzaniem oprogramowania. Jest on jednym z procesów kontroli jakości oprogramowania. Testowanie ma dwa główne cele: weryfikację oprogramowania oraz walidację oprogramowania. Pierwsza z nich weryfikacja oprogramowania ma na celu sprawdzenie, czy wytwarzane oprogramowanie jest zgodne ze specyfikacją. Natomiast druga walidacja sprawdza, czy oprogramowanie jest zgodne z oczekiwaniami użytkownika. Ponadto testy takie dzieli się na pięć poziomów: testy jednostkowe, testy integracyjne wewnętrzne, testy systemowe, testy integracyjne zewnętrzne, testy akceptacyjne. Testowanie to ostatni i niestety czasem pomijany element procesu tworzenia oprogramowania. Tymczasem ten właśnie etap powinien być niezwykle znaczącą częścią każdego projektu. Znaczenie testowania dostrzegano już w początkowym okresie dynamicznego rozwoju technologii tworzenia oprogramowania, jednak nadal trudno jest znaleźć jasny i czytelny zbiór reguł testowania i metodyki, w oparciu o które proces ten należy przeprowadzać.