“Sustav pod testom” (SUT) je širok pojam koji znači da programer, ili bilo tko drugi, testira dotični sustav kako bi se uvjerio da radi. Ovo se obično koristi za ispravljanje pogrešaka, jer bi programer trebao biti u mogućnosti riješiti sve probleme koji se pojave tijekom faze testiranja sustava. SUT se obično koristi za cijeli program, ali se također može koristiti za testiranje samo određenih dijelova programa. To se obično radi nakon integracijskog testiranja, što osigurava da se program može integrirati i instalirati na računalo.
Rijetko postoji sustav, komercijalan ili besplatan, koji u nekom trenutku ne postane sustav koji se testira. To znači da programer ili netko drugi kome se vjeruje da identificira pogreške koristi trenutnu verziju programa. Program nije gotov u ovom trenutku, tako da još uvijek može biti mnogo promjena prije nego što sustav bude spreman za implementaciju. Program se također može smanjiti kako bi se osobi olakšalo prolazak kroz sustav, iako to nije uvijek točno.
Glavni razlog za testiranje sustava je provjera grešaka. To se obično radi prolaskom kroz svaku pojedinu funkciju, naredbu, alat i sve ostalo što nudi program. Korištenje alata u kombinaciji jedan s drugim također može dovesti do neočekivanih pogrešaka koje treba popraviti. Većina programa ima barem jednu pogrešku, zbog čega je SUT često važan korak u procesu razvoja sustava.
Testiranje sustava obično uključuje cijeli program, posebno prvih nekoliko puta, tako da tester može proći kroz svaku funkciju. Ako postoji samo jedna funkcija koju treba testirati, tada se test može smanjiti tako da je samo ta funkcija upotrebljiva. Time je testeru lakše i brže provjeriti funkciju da vidi je li poboljšano programiranje riješilo problem.
Integracijsko testiranje tradicionalno prethodi fazi testiranja sustava. To je zato što se integracijsko testiranje koristi kako bi se provjerilo može li se program instalirati i pravilno integrirati s računalom. Ako se ne može instalirati, tada se program obično neće izvršiti, što znači da se ne može koristiti. Istodobno, programeri mogu promijeniti ovaj normalni poredak ili potpuno izostaviti integracijski test, iako to može biti loša ideja.