„Süsteem testimisel” (SUT) on lai mõiste, mis tähendab, et programmeerija või keegi teine katsetab kõnealust süsteemi, et veenduda selle toimimises. Tavaliselt kasutatakse seda vigade parandamiseks, kuna programmeerija peaks suutma parandada süsteemi testimise faasis tekkivad probleemid. SUT-i kasutatakse tavaliselt terve programmi jaoks, kuid seda saab kasutada ka ainult programmi teatud osade testimiseks. Tavaliselt tehakse seda pärast integratsiooni testimist, mis tagab programmi integreerumise ja arvutisse installimise.
Harva leidub kommerts- või tasuta süsteemi, mis ei muutu mingil hetkel testitavaks süsteemiks. See tähendab, et programmeerija või keegi teine, kellele usaldatakse vigade tuvastamine, kasutab programmi praegust versiooni. Programm ei ole praegu veel lõppenud, seega võib enne süsteemi juurutamiseks valmisolekut teha veel palju muudatusi. Programmi võib ka vähendada, et inimesel oleks lihtsam süsteemi läbida, kuigi see ei ole alati tõsi.
Süsteemi testimise peamine põhjus on vigade kontrollimine. Tavaliselt tehakse seda iga üksiku funktsiooni, käsu, tööriista ja muu programmi pakutava funktsiooni kaudu. Tööriistade kasutamine koos üksteisega võib samuti põhjustada ootamatuid vigu, mis tuleks parandada. Enamikul programmidel on vähemalt üks viga, mistõttu on SUT sageli süsteemi arendusprotsessi oluline samm.
Süsteemi testimine hõlmab tavaliselt kogu programmi, eriti esimest korda, nii et testija saab läbida kõik funktsioonid. Kui testimist vajab ainult üks funktsioon, saab testi vähendada nii, et ainult see funktsioon on kasutatav. See muudab testija jaoks funktsiooni kontrollimise lihtsamaks ja kiiremaks, et näha, kas täiustatud programmeerimine on probleemi lahendanud.
Integratsiooni testimine eelneb traditsiooniliselt süsteemi testimise faasile. Selle põhjuseks on asjaolu, et integratsioonitesti kasutatakse selleks, et näha, kas programm suudab installida ja arvutiga korralikult integreerida. Kui seda ei saa installida, siis programm tavaliselt ei käivitu, mis tähendab, et seda ei saa kasutada. Samal ajal saavad programmeerijad seda tavalist järjekorda muuta või integratsioonitesti täielikult välja jätta, kuigi see võib olla halb mõte.