Dzięki wczesnemu znajdywaniu defektów w oprogramowaniu jesteśmy w stanie usunąć je, zanim znajdzie je użytkownik. Dzięki testowaniu, którego wynikiem jest nieznajdywanie defektów, jesteśmy w stanie, z prawdopodobieństwem wprost proporcjonalnym do wkładu w testowanie, powiedzieć, że defektów w danym obszarze nie ma lub są one zaszyte na tyle głęboko, że użytkownik nie jest w stanie ich znaleźć. Istnieje ryzyko, że użytkownik doprowadzi do sytuacji nieprzewidzianej przez testera lub niemożliwej do odtworzenia w środowisku testerskim. W takim przypadku pozostaje nam wiara, że aplikacja zachowa się poprawnie, a możliwe defekty będą odpowiednio obsłużone.
Testowanie jest towarzyszem całego procesu wytwarzania oprogramowania. Jego obecność zazwyczaj wiąże się z następującymi motywacjami:
- przyzwyczajenie – w organizacjach, w których testowanie jest obecne od zawsze, nikt nie zadaje sobie pytania" po co testować?". Z jednej strony jest to korzystne, bo weryfikujemy jakość oprogramowania. Z drugiej jednak strony nie jesteśmy świadomi kosztów i zysków z testowania, co pociąga za sobą brak optymalizacji kosztów i brak próby zwiększenia efektywności;
- wymuszenie - zdarza się, że jako wykonawcy jesteśmy zmuszani przez sponsorów do prowadzenia testów. Ich jakość - jeśli testujemy tylko dlatego, że jesteśmy do tego przymuszeni - jest zazwyczaj niska;
- świadomość znaczenia kontroli jakości – organizacje dojrzałe to takie, które nie tylko testują, ale również wiedzą, dlaczego testują. Kierwonik testów w takiej organizacji jest świadomy nakładów przeznaczonych na testowanie i potrafi pokazać na przykładach przydatność swojej pracy. Każdego dnia eliminuje się defekty znajdowane przez testerów i innych uczestników procesu wytwórczego i mierzy się je wartością takiego defektu.
Bez względu na powód stosowania testowania może ono budować poczucie bezpieczeństwa dzięki dostarczanym miarom. Wiemy, że głównym celem projektu informatycznego jest wytworzenie produktu pozbawionego defektów, ale znając realia, wiemy, że nie jest to możliwe. Staramy się więc zrobić wszystko, by uzyskać możliwie najwięcej informacji na jego temat. Zarówno tych pozytywnych (działa), jak i negatywnych (nie działa).
Konieczność testowania wynika z ludzkiej omylności i tak długo, jak ludzie będą omylni w procesie wytwarzania oprogramowania albo tak długo, jak oprogramowanie będzie tworzone przez ludzi, tak długo testowanie będzie musiało mieć miejsce.
Oryginalna publikacja pochodziła z 07/09/2011 i została zaktualizowana.