Tietokoneohjelmistojen valmistus on liiketoiminta, joka perustuu ohjelmistosovellusten kehittämiseen kuluttajille. Järjestelmätestausinsinööri on henkilö, joka vastaa ohjelmistosovellusten vikojen tarkistamisesta. Tyypillisesti hän testaa sovellusta varmistaakseen järjestelmän toimivan suunnitellulla tavalla ennen kuin se julkaistaan kuluttajille markkinoilla.
Sovelluksen alun perin luoneet ohjelmistosuunnittelijat suorittivat historiallisesti järjestelmän testauksen. Tämä käytäntö osoittautui tehottomaksi, koska kehittäjät tunsivat ohjelmiston liian läheisesti ja jäivät tyypillisesti tekemättä järjestelmän vikoja. Viimeisten vuosikymmenten aikana järjestelmätestauksesta on tullut tietotekniikan tieteenala.
Laadukkaat ohjelmistotuotteet vaativat tuntikausia tiukkaa testausta. Järjestelmätestausinsinööri on ohjelmistokehitysorganisaation laadunvalvonnan asiantuntija. Hänellä on yleensä oikeus hylätä viallinen ohjelmisto. Hän työskentelee tyypillisesti yrityksen testausosastolla ja häntä pidetään viimeisenä laaduntarkastusasemana ennen tuotantoa.
Tullakseen järjestelmätestausinsinööriksi yksilön tulisi ymmärtää tietokoneohjelmoinnin perusperiaatteet. Hänellä pitäisi olla jonkinlainen korkeakoulututkinto painottaen tietotekniikkaa. Useimmilla suurilla yrityksillä on erityinen testausryhmä, joka on erikoistunut laadunvarmistusprosesseihin. Tähän tiimiin kuuluu tyypillisesti testauspäälliköitä, insinöörejä, teknisiä kirjoittajia ja automaation testaajia.
Nykyään on monia automaattisia ohjelmistosovelluksia, jotka hallitsevat järjestelmätestausinsinöörin löytämiä vikoja. Tämä ohjelmisto on peruspistekortti testiryhmän dokumentoimista ongelmista. Testausinsinööri vastaa ohjelmistosovelluksessa havaittujen vikojen seurannasta, hallinnasta ja raportoinnista. Tämä dokumentointiprosessi suoritetaan tyypillisesti jokaisen ohjelmiston rakentamis- ja testausjakson yhteydessä.
Tietokoneohjelmistotestaus tehdään tyypillisesti itsenäisessä testausympäristössä. Tätä ympäristöä hallitsee ja määrittää järjestelmätestausinsinööri. Hän on vastuussa ympäristön luomisesta, joka muistuttaa järjestelmän kokoonpanoa, jota kuluttajat käyttävät. Testausinsinööri luo erityisiä testikomentosarjoja, jotka on suunniteltu testaamaan sovelluksen kaikki puolet.
Hyvä testisykli on sellainen, joka perustuu positiivisiin ja negatiivisiin testinäytteisiin. Positiivinen testaus on prosessi, jossa järjestelmä testataan hyvillä tiedoilla, jotka seuraavat määriteltyä liiketoimintaprosessia. Negatiivinen testaus on testausmuoto, joka varmistaa virheiden käsittelyn oikein virheellisten tietojen kanssa. Tätä pidetään yksityiskohtaisempana testausprosessina, koska testaaja yrittää rikkoa järjestelmän.
Useimmat järjestelmätestausinsinöörit käyttävät automaatio -ohjelmistoja sovellusten testaamiseen. Tämä ohjelmisto perustuu testiskripteihin, jotka suorittavat todellisen testin. Automaatio -ohjelmisto on tarkempi testausmenetelmä, jota voidaan käyttää sovelluksen regressiotestaukseen tulevaisuudessa.