Datoru programmatūras ražošana ir bizness, kura pamatā ir programmatūras lietojumprogrammu izstrāde patērētājiem. Sistēmu testēšanas inženieris ir persona, kas ir atbildīga par programmatūras lietojumprogrammu defektu pārbaudi. Viņš parasti pārbauda lietojumprogrammu, lai nodrošinātu, ka sistēma darbojas tā, kā bija paredzēts, pirms tā tiek izlaista patērētājiem tirgū.
Vēsturiski sistēmas testēšanu pabeidza programmatūras inženieri, kuri sākotnēji izveidoja lietojumprogrammu. Šī prakse izrādījās neefektīva, jo izstrādātāji bija pārāk cieši iepazinušies ar programmatūru un parasti palaida garām sistēmas defektus. Pēdējo desmitgažu laikā sistēmu testēšana ir kļuvusi par datorzinātņu disciplīnu.
Kvalitatīviem programmatūras produktiem ir nepieciešamas stundas stingras pārbaudes. Sistēmu testēšanas inženieris ir programmatūras izstrādes organizācijas kvalitātes kontroles speciālists. Parasti viņam ir tiesības noraidīt bojātu programmatūru. Viņš parasti strādā uzņēmuma testēšanas nodaļā un tiek uzskatīts par pēdējo kvalitātes pārbaudes punktu pirms ražošanas.
Lai kļūtu par sistēmu testēšanas inženieri, indivīdam ir jāsaprot datorprogrammēšanas pamatprincipi. Viņam vajadzētu iegūt kādu koledžas izglītību, uzsvaru liekot uz datorzinātnēm. Lielākajai daļai lielo uzņēmumu ir īpaša testēšanas komanda, kas specializējas kvalitātes nodrošināšanas procesos. Šajā komandā parasti ir testēšanas vadītāji, inženieri, tehniskie rakstnieki un automatizācijas testētāji.
Mūsdienās ir daudz automatizētu lietojumprogrammu, kas pārvalda defektus, ko atklājis sistēmu testēšanas inženieris. Šī programmatūra ir testēšanas komandas dokumentēto problēmu pamata rādītāju karte. Testēšanas inženieris ir atbildīgs par visu lietojumprogrammas defektu izsekošanu, pārvaldību un ziņošanu par tiem. Šis dokumentācijas process parasti tiek veikts katrā programmatūras izveides un testēšanas ciklā.
Datoru programmatūras testēšana parasti tiek veikta autonomā testēšanas vidē. Šo vidi pārvalda un konfigurē sistēmu testēšanas inženieris. Viņš ir atbildīgs par tādas vides izveidi, kas līdzinās sistēmas konfigurācijai, ko izmantos patērētāji. Testēšanas inženieris izveido īpašus testa skriptus, kas paredzēti visu lietojumprogrammas aspektu pārbaudei.
Labs testēšanas cikls ir tāds, kura pamatā ir pozitīvi un negatīvi testa paraugi. Pozitīvā testēšana ir process, kurā sistēma tiek pārbaudīta ar labiem datiem, kas seko noteiktam biznesa procesam. Negatīvā pārbaude ir pārbaudes veids, kas nodrošina pareizu kļūdu apstrādi ar nederīgiem datiem. Tas tiek uzskatīts par detalizētāku testēšanas procesu, jo testētājs mēģina izjaukt sistēmu.
Lielākā daļa sistēmu testēšanas inženieru lietojumprogrammu testēšanai izmanto automatizācijas programmatūru. Šī programmatūra ir balstīta uz testēšanas skriptiem, kas veic faktisko pārbaudi. Automatizācijas programmatūra ir precīzāka testēšanas metode, ko nākotnē var izmantot lietojumprogrammas regresijas testēšanai.