Każdy rodzaj oprogramowania jakie oddajemy w ręce użytkowników musi być dogłębnie przetestowany.
Dlatego też bardzo ważne będzie testowanie jakości oprogramowania, będzie miało ono na celu także wykrycie wszystkich potencjalnych błędów. Kontrola jakości to proces inżynierii oprogramowania, zwykle stosowany w celu zapewnienia wysokiej jakości produktów lub usług. Celem kontroli jakości jest upewnienie się, że projekt produktu spełnia wymagania i specyfikacje klientów. Jeśli znajdziemy problem z produktem końcowym, szybko musi być rozwiązany, zanim klient końcowy otrzyma produkt. Mówiąc najprościej, tego rodzaju obejmuje wszystko, co ma na celu zapewnienie, że produkt lub usługa spełnia standardowe wymagania jakościowe i wymagania klientów. Testowanie odnosi się do sprawdzenia produktu może to obejmować użycie lub testowanie warunków skrajnych produktu lub sprawdzenie, czy rzeczywiste wyniki są prawidłowe. Większość firm stara się dostarczać konsumentowi końcowemu najlepszy możliwy produkt. Dlatego też oprogramowanie musi zostać przetestowane pod względem różnych scenariuszy, które mogły by zaistnieć podczas użytkowania oprogramowania. Może być to przykładowo instalowanie aplikacji, należy sprawdzić czy instalacja przebiega poprawnie, następnie należy sprawdzić poprawność autoryzacji oprogramowania, a następnie rejestracji i logowania.
Następnie sprawdzana będzie poprawność wprowadzania danych, oraz wyniki działania oprogramowania.
Produkty muszą być testowane na różne sposoby, z różnymi użytkownikami i różnymi scenariuszami, aby upewnić się, że oprogramowanie działa poprawnie w każdej sytuacji. Warto przeprowadzić testy funkcjonalne które mogą polegać na symulowaniu zachowań normalnych użytkowników. Można przetestować odporność oprogramowania na duże obciążenie, w tym przypadku można wykorzystać testowanie automatyczne, które będzie emulowało wiele zapytań do bazy danych. Można w ten sposób wykryć słabe strony oprogramowania. Dzięki temu można także wykryć które elementy należy poprawić, może się bowiem okazać iż potrzebna będzie optymalizacja bazy danych.