Ein Softwaretestingenieur ist in der Regel dafür verantwortlich, neue Computersoftware oder -programme zu testen, bevor das Produkt an Verbraucher verkauft wird, um sicherzustellen, dass es ordnungsgemäß funktioniert, die gewünschten Funktionen ausführt und frei von Mängeln ist. Diese Computerfachleute entwerfen und führen normalerweise die Tests durch, werten die Ergebnisse aus und geben Empfehlungen auf der Grundlage der endgültigen Schlussfolgerungen ab. Sie arbeiten oft als Teil eines Qualitätssicherungsteams und kooperieren mit anderem Qualitätssicherungspersonal wie Computerprogrammierern.
Der Softwaretestingenieur ist in mehrere Phasen des Entwicklungsprozesses eingebunden, da neue Produkte in verschiedenen Phasen kontinuierlich getestet werden müssen, damit Probleme schnell gefunden und behoben werden können. Neue Software wird normalerweise während mehrerer Entwicklungsphasen getestet, einschließlich Design, Programmierung, Installation und Wartung. Software-Testingenieure versuchen, viele verschiedene Nutzungsszenarien zu simulieren, um festzustellen, ob die Software wie beabsichtigt funktioniert. Sie prüfen gezielt, ob die Software die Funktionen, für die sie entwickelt wurde, korrekt und ohne größere Schwierigkeiten zuverlässig und konsistent ausführt. Sie testen auch auf Internetsicherheitsprobleme.
Es gibt zwei Hauptgesichtspunkte, die ein Softwaretestingenieur beim Testen verwendet, die als White- und Black-Box-Tests bezeichnet werden. Beim White-Box-Test verwendet der Tester eine interne Sichtweise. Dies bedeutet, dass er oder sie die Struktur der Programmierung bewertet und tatsächlich in der Lage ist, den Informationsfluss durch die Software zu verfolgen und zu lokalisieren, wo Probleme innerhalb des Programms auftreten.
Beim Black-Box-Testen nimmt der Softwaretestingenieur eine externe Sichtweise oder die Sicht des Softwarebenutzers ein. Dies bedeutet, dass er oder sie so viele verschiedene Eingaben von Informationen wie möglich testet und die Ergebnisse dieser Eingaben auswertet, aber nicht genau sehen kann, wo etwas schief geht, wenn Probleme auftreten.
Nach Abschluss des Tests ist ein Software-Testingenieur für die Auswertung und Analyse der Ergebnisse verantwortlich. Oft arbeitet er dann daran, Lösungen für gefundene Fehler zu entwickeln und die Leistung der Software zu verbessern. Die Ergebnisse und Lösungsvorschläge werden an andere Mitglieder des Qualitätssicherungsteams kommuniziert und die Verbesserungen werden in der Regel von Programmierern umgesetzt. Danach wird die Software erneut getestet und bewertet, um festzustellen, ob die Verbesserungen den gewünschten Effekt haben. Der Prozess wird fortgesetzt, bis die Teammitglieder davon überzeugt sind, dass die Software den Erwartungen entspricht.
Softwaretestingenieure werden normalerweise von Unternehmen angestellt, die Computersoftware herstellen und verkaufen, oder für Beratungsunternehmen, die von den Softwareunternehmen beauftragt werden. Die Arbeitsumgebung ist in der Regel ein Büro, in einigen Fällen ist jedoch auch die Arbeit von zu Hause aus möglich. Die von ihnen geleistete Arbeit wird immer wichtiger und wertvoller, da die Gesellschaft in allen Lebensbereichen immer abhängiger von gut funktionierenden Computern wird.