Die Herstellung von Computersoftware ist ein Geschäft, das auf der Entwicklung von Softwareanwendungen für Verbraucher basiert. Ein Systemtestingenieur ist eine Person, die dafür verantwortlich ist, Softwareanwendungen auf Fehler zu überprüfen. In der Regel testet er eine Anwendung, um sicherzustellen, dass das System wie beabsichtigt funktioniert, bevor es für Verbraucher auf dem Markt freigegeben wird.
In der Vergangenheit wurden Systemtests von den Softwareingenieuren durchgeführt, die die Anwendung ursprünglich erstellt haben. Diese Vorgehensweise erwies sich als ineffizient, da die Entwickler mit der Software zu genau vertraut waren und Systemfehler in der Regel übersehen hatten. Der Systemtest hat sich in den letzten Jahrzehnten zu einer Disziplin der Informatik entwickelt.
Qualitätssoftwareprodukte erfordern stundenlange strenge Tests. Der Systemtestingenieur ist der Qualitätskontrollspezialist für eine Softwareentwicklungsorganisation. Er hat grundsätzlich die Befugnis, fehlerhafte Software abzulehnen. Er arbeitet typischerweise in der Prüfabteilung eines Unternehmens und gilt als letzte Qualitätsprüfung vor der Produktion.
Um ein Systemtestingenieur zu werden, sollte eine Person die grundlegenden Prinzipien der Computerprogrammierung verstehen. Er sollte eine Hochschulausbildung mit Schwerpunkt Informatik haben. Die meisten großen Unternehmen verfügen über ein spezielles Testteam, das auf Qualitätssicherungsprozesse spezialisiert ist. Dieses Team besteht normalerweise aus Testmanagern, Ingenieuren, technischen Redakteuren und Automatisierungstestern.
Heutzutage gibt es viele automatisierte Softwareanwendungen, die vom Systemtestingenieur gefundene Fehler verwalten. Diese Software ist eine grundlegende Scorecard der vom Testteam dokumentierten Probleme. Der Testingenieur ist für die Verfolgung, Verwaltung und Meldung aller Fehler in der Softwareanwendung verantwortlich. Dieser Dokumentationsprozess wird normalerweise mit jedem Software-Build-and-Test-Zyklus durchgeführt.
Das Testen von Computersoftware wird typischerweise in einer eigenständigen Testumgebung durchgeführt. Diese Umgebung wird vom Systemtestingenieur verwaltet und konfiguriert. Er ist dafür verantwortlich, eine Umgebung zu schaffen, die der Systemkonfiguration ähnelt, die von Verbrauchern verwendet wird. Der Testingenieur erstellt spezielle Testskripte, die darauf ausgelegt sind, alle Facetten der Anwendung zu testen.
Ein guter Testzyklus basiert auf positiven und negativen Testproben. Positives Testen ist ein Prozess, bei dem ein System mit guten Daten getestet wird, die einem definierten Geschäftsprozess folgen. Negatives Testen ist eine Form des Testens, die sicherstellt, dass die Fehlerbehandlung bei ungültigen Daten korrekt funktioniert. Dies wird als detaillierterer Testprozess betrachtet, da der Tester versucht, das System zu zerstören.
Die meisten Systemtestingenieure verwenden Automatisierungssoftware zum Testen von Anwendungen. Diese Software basiert auf Testskripten, die den eigentlichen Test durchführen. Automatisierungssoftware ist eine genauere Testmethode, die in Zukunft für Regressionstests einer Anwendung verwendet werden kann.