Testowanie obejmuje cały cykl życia oprogramowania, a nie tylko uruchamianie programu. W przypadku systemu płacowego testowanie obejmuje przegląd wymagań pod kątem kompletności (testowanie statyczne), projektowanie przypadków testowych na podstawie zasad naliczania wynagrodzeń, wykonywanie ich względem systemu (testowanie dynamiczne) oraz ocenę, czy system nadaje się do zamierzonego celu. Celem jest ustalenie, że system spełnia określone wymagania, wykazanie przydatności do zamierzonego celu oraz wykrywanie defektów.
Jaka jest różnica między testowaniem a usuwaniem błędów? Testowanie to proces planowania, przygotowania i oceny, mający na celu znalezienie defektów i wykazanie jakości. Usuwanie błędów to czynność wytwórcza polegająca na zlokalizowaniu i usunięciu przyczyny wykrytego defektu. Testowanie znajduje defekt; usuwanie błędów go eliminuje.
Czy testowanie polega tylko na wykonywaniu oprogramowania? Nie. Testowanie obejmuje także czynności statyczne, takie jak przeglądy wymagań, projektu i kodu. Testowanie statyczne wykrywa defekty bez wykonywania oprogramowania, często wcześniej i taniej.
Co oznacza „przydatność do zamierzonego celu”? Że oprogramowanie w praktyce, w sposób możliwy do wykazania, spełnia potrzeby swoich użytkowników i interesariuszy, wykraczając poza dosłowną treść określonych wymagań.
Czy testowanie może udowodnić brak defektów? Nie. Testowanie może jedynie wykazać obecność defektów, a nie ich brak — testowanie wyczerpujące jest niemożliwe poza trywialnymi przypadkami.