Zapewnienie jakości oprogramowania to procedura, która gwarantuje, że wszystkie formy budowy produktu, techniki, i prace nad oprogramowaniem są sprawdzane i zgadzają się z opisanymi modelami.
Kontrola jakości oprogramowania odbywa się na wszystkich etapach tworzenia oprogramowania. Poczynając od projektowania, poprzez kodowanie na wdrażaniu kończąc. W przypadku oprogramowania mogą wystąpić pewne błędy, których nie da się wyłapać w pobieżnym testowaniu. Mogą one występować tylko w określonych okolicznościach, dlatego też podczas kontroli jakości symuluje się działania zwykłego użytkownika. Oprogramowanie musi działać bez zarzutu możemy wyobrazić sobie sprzęt medyczny podtrzymujący życie, gdzie nie może być mowy o żadnych błędach, które mogły by zagrażać ludzkiemu życiu. Podobnie wadliwe oprogramowanie w sprzęcie wojskowym może mieć bardzo złe następstwa. Aby mieć pewność, że oprogramowanie jest bezpieczne i działa zgodnie z oczekiwaniami, wprowadzono koncepcję jakości oprogramowania. Oprogramowanie musi działać zgodnie z wytycznymi podmiotu dla którego je tworzymy. Mogą być to wytyczne związane związane z funkcjonalnością. Sprawdzamy wówczas zgodność produktu z wymaganiami i specyfikacjami projektowymi.
Ten aspekt koncentruje się na praktycznym użytkowaniu oprogramowania z punktu widzenia użytkownika, jego funkcjach, wydajności, łatwości użytkowania, niezawodności.
Można także sprawdzać czynniki niefunkcjonalne, są to wewnętrzne cechy i architektura systemu. Mogą być to wymagania o których nie mówi się wprost przyjmując po prostu iż oprogramowanie będzie je posiadało. Twórcy oprogramowania muszą być pewni że spełnia ono określone wymogi dlatego też konieczne będzie dogłębne testowanie aplikacji. Aspekt funkcjonalny można zapewnić poprzez zestaw dedykowanych działań zarządzania jakością, które obejmują zapewnienie jakości, kontrolę jakości i testowanie. Te trzy terminy, często używane zamiennie, odnoszą się do nieco innych aspektów zarządzania jakością oprogramowania. Pomimo wspólnego celu, jakim jest dostarczenie produktu najlepszej możliwej jakości, zarówno strukturalnie, jak i funkcjonalnie, stosują różne podejścia do tego zadania.