IT-DIRECTOR: Herr Bartsch, welche Bedeutung schreiben Sie den Testverfahren in der Software-Entwicklung zu?
A. Bartsch: Die Testverfahren in der Software-Entwicklung haben eine große Bedeutung, weil eine gute Produktqualität in erster Linie längerfristig die Kosten senkt.
IT-DIRECTOR: Nach welchen Testarten wird differenziert?
A. Bartsch: Es gibt Unit-Tests, Schnittstellentests, Software-Integrationstests, Systemtests und Abnahmetests.
Alternativ: White-Box, Grey-Box und Black-Box
Oder: manuelles, teilautomatisiertes und vollautomatisiertes Testen
Oder: Regressionstests und Smoke-Tests
IT-DIRECTOR: Wer führt die Tests normalerweise durch und welche Werkzeuge kommen zum Einsatz?
A. Bartsch: Tests werden üblicherweise durch die Entwicklungs- und Testabteilung durchgeführt. Für manuelle und automatisierte Tests wird unsere Testautomatisierungswerkzeug Expecco eingesetzt.
IT-DIRECTOR: Nach welchen Kriterien wird Software generell getestet?
A. Bartsch: Software wird getestet nach Sicherheit, Zuverlässigkeit, Performance und Anwendbarkeit.
IT-DIRECTOR: Aus welchen Phasen/Stufen setzt sich ein Testprozess zusammen?
A. Bartsch: Testdefinitionsphase: Man beginnt mit der Analyse der Anforderungen und erstellt daraus ein Testfallmodell. Dann werden die Testdaten für die Testmodelle definiert und daraus die entsprechenden Testfälle abgeleitet.
Testausführungsphase: Die auszuführenden Testfälle werden ausgewählt, durchgeführt und die Testresultate archiviert.
Testresultatsanalysephase: Im Fehlerfall werden die Testabläufe analysiert und bewertet sowie anschließend an den zuständigen Bearbeiter mit zusätzlichen Informationen weitergeleitet.
IT-DIRECTOR: Mit welchen Daten wird bei den Tests gearbeitet?
A. Bartsch: Wir arbeiten grundsätzlich mit synthetischen Daten.
IT-DIRECTOR: Wie viel Zeit nimmt i.d.R. die Testphase von Software-Modulen/Applikationen in Anspruch, ehe der Einsatz in der Produktivumgebung erfolgt?
A. Bartsch: Da wir einen agilen Prozess in der Software-Entwicklung anwenden, erfolgt das Testen parallel zur Entwicklung. Vor dem Einsatz der Testautomatisierung liegt der Anteil zwischen Entwicklungs- und Testaufwand bei ca. 50 zu 50 Prozent. Durch den Einsatz der Testautomatisierung konnte der relative Aufwand von Entwicklung zum Testen auf 70 zu 30 verbessert werden.
IT-DIRECTOR: Wie groß ist die Fehlertoleranzgrenze beim Testen von Software?
A. Bartsch: Je nach Risikoeinschätzung der Anwendung ist die Fehlertoleranzgrenze höher oder geringer.
IT-DIRECTOR: Welche Software-Fehler treten am häufigsten auf?
A. Bartsch: Mangelhafte Spezifikation der Anforderungen, die einen großen Interpretationsspielraum lassen, führen dazu, dass Erwartungen und Realisierung nicht immer übereinstimmen. Am häufigsten treten Software-Fehler auf, die durch fehlerhafte Logik verursacht werden. Diese führen dann zu fehlerhaften Programmabläufen. Laufzeitfehler, die Programmabstürze verursachen, treten auch häufig auf. Eine weitere Fehlerart sind Designfehler der Software: Sie führen dazu, dass die Anforderungen nicht wie gewünscht umgesetzt werden können.
IT-DIRECTOR: Welchen Schaden können Software-Fehler anrichten?
A. Bartsch: Software-Fehler können im schlimmsten Fall zum Totalausfall des Systems führen und somit katastrophale Folgen haben. Abhängig vom Einsatz der Software wie beispielsweise in einem Atomkraftwerk, Flugzeug oder Ähnliches sind die Folgen unterschiedlich und können massive finanzielle Kosten verursachen oder im Schlimmsten Fall auch Menschenleben.