Proizvodnja računalnog softvera je posao koji se temelji na razvoju softverskih aplikacija za potrošače. Inženjer za ispitivanje sustava je osoba koja je odgovorna za provjeru softverskih aplikacija na greške. Obično testira aplikaciju kako bi osigurao da sustav funkcionira kako je zamišljen prije nego što bude pušten potrošačima na tržište.
Povijesno gledano, testiranje sustava dovršili su softverski inženjeri koji su izvorno kreirali aplikaciju. Pokazalo se da je ova praksa neučinkovita jer su programeri bili previše dobro upoznati sa softverom i obično su propustili greške u sustavu. Tijekom posljednjih nekoliko desetljeća testiranje sustava postalo je disciplina unutar računalne znanosti.
Kvalitetni softverski proizvodi zahtijevaju sate rigoroznog testiranja. Inženjer za ispitivanje sustava je stručnjak za kontrolu kvalitete za organizaciju za razvoj softvera. On općenito ima ovlasti odbiti neispravan softver. Obično radi u odjelu za testiranje tvrtke i smatra se posljednjom točkom za provjeru kvalitete prije proizvodnje.
Da bi postao inženjer za testiranje sustava, pojedinac bi trebao razumjeti osnovne principe računalnog programiranja. Trebao bi imati neko fakultetsko obrazovanje s naglaskom na informatiku. Većina velikih tvrtki ima specifičan tim za testiranje koji je specijaliziran za procese osiguranja kvalitete. Ovaj tim obično uključuje voditelje testiranja, inženjere, tehničke pisce i testere automatizacije.
Danas postoji mnogo automatiziranih softverskih aplikacija koje upravljaju nedostacima koje je pronašao inženjer za ispitivanje sustava. Ovaj softver je osnovna tablica rezultata problema koje je dokumentirao tim za testiranje. Inženjer za testiranje odgovoran je za praćenje, upravljanje i izvješćivanje o svim nedostacima pronađenim u softverskoj aplikaciji. Ovaj proces dokumentacije obično se obavlja sa svakim ciklusom izrade i testiranja softvera.
Testiranje računalnog softvera obično se provodi u samostalnom okruženju za testiranje. Tim okruženjem upravlja i konfigurira inženjer za ispitivanje sustava. On je odgovoran za stvaranje okruženja koje nalikuje konfiguraciji sustava koju će koristiti potrošači. Inženjer za testiranje stvara posebne testne skripte koje su dizajnirane za testiranje svih aspekata aplikacije.
Dobar ciklus testiranja je onaj koji se temelji na pozitivnim i negativnim uzorcima testa. Pozitivno testiranje je proces u kojem se sustav testira s dobrim podacima koji prati definirani poslovni proces. Negativno testiranje je oblik testiranja koji osigurava ispravno rukovanje pogreškama s nevažećim podacima. Ovo se smatra detaljnijim procesom testiranja jer tester pokušava razbiti sustav.
Većina inženjera za testiranje sustava koristi softver za automatizaciju za testiranje aplikacija. Ovaj softver temelji se na skriptama za testiranje koje izvode stvarni test. Softver za automatizaciju je točnija metoda testiranja koja se može koristiti za regresijsko testiranje aplikacije u budućnosti.