Software-Entwicklung ist in jedem Unternehmen ein heikler Bereich: Anwendungen und Modifikationen müssen mit engen Terminplänen in hoher Qualität bereit gestellt werden. Schon kleinste Fehler können fatale Ergebnisse zeitigen. Ausführliche Tests sind deswegen ein absolutes Muss. Häufig jedoch verfügen die internen IT-Abteilungen nicht über die notwendigen Ressourcen, um die vielfältigen Anforderungen an das Software-Testen abzudecken. Daraus ergeben sich bei der Qualitätssicherung Probleme, die unter Umständen das gesamte Projekt in Frage stellen. Oft anzutreffen sind:
-
Der Softwaretest wird zu spät begonnen.
-
Die Entwickler testen auch auf Ebene der Qualitätssicherung ihre Software selbst.
-
Die Testfälle decken nicht alle zu testenden Funktionalitäten ab.
-
Die Dokumentation ist unvollständig.
-
Die Risiken bei der Inbetriebnahme der Anwendungen sind nicht einschätzbar.
Auch grundlegendere Rechtsnormen wie der Datenschutz spielen beim Softwaretest eine Rolle. Immerhin nutzen laut einer Studie des Unternehmens Micro Focus rund 70 Prozent aller Unternehmen unmaskierte Originaldaten zum Testen ihrer Anwendungen.
Wie problematisch das Testen ist, bestätigt eine Studie von Pierre Audoin Consultants aus dem Jahr 2008: Obwohl rund zwei Drittel der über 1000 befragten IT-Entscheider das Testen als wichtig erachteten, konnte die Mehrheit der Studienteilnehmer weder die Kosten für Tests beziffern noch sagen, wie viele Mitarbeiter im Unternehmen damit befasst sind. Und nur 20 Prozent der IT-Entscheider gaben an, dass bei ihrer Software in den ersten Monaten nach der Auslieferung keine Fehler auftreten.
Es gilt also, qualifizierte Testprozesse aufzusetzen und diese eng mit der Entwicklung zu verzahnen. Unternehmen, die das nicht selbst leisten wollen, können dazu auf die von spezialisierten Dienstleistern angebotenen Managed Testing Services (MTS) zurückgreifen.
Dieser Ansatz biete einige Vorteile, wie Klaus Kilvinger, Mitglied der Geschäftsführung der Sogeti Deutschland GmbH, erläutert: „Zunächst können Unternehmen auf Kostenseite profitieren: Skaleneffekte erlauben es, das Testen deutlich günstiger zu erbringen, als das intern der Fall wäre. Und in der Regel wird Managed Testing zum Festpreis angeboten. Damit erhalten Unternehmen eine hohe Kostentransparenz und können einen Teil des Risikos auf die Schultern des Dienstleisters verlagern.“ Gleichzeitig steige die Flexibilität, da die Service-Anbieter bei Bedarf die Kernteams, die für einen Kunden arbeiten, durch weitere Ressourcen verstärken können.
Auswahlkriterien für einen Managed Testing Dienstleister
Doch nicht jeder MTS-Dienstleister kann die Anforderungen in großen Entwicklungsprojekten erfüllen. Wichtige Aspekte bei der Auswahl eines geeigneten Anbieters sind:
-
Verfügt der Dienstleister über ausgebildete Tester?
-
Kann der Dienstleister die Testprozesse als Teil der Software-Entwicklung etablieren?
-
Wird ein Verantwortlicher des Dienstleisters On-Site präsent sein?
-
Ist die Herangehensweise bei der Spezifikation der Testfälle strukturiert?
-
Wird das Testen automatisiert und reproduzierbar erbracht?
-
Bestehen kundenspezifische KPI (Key Performance Indicators) zur Überwachung der SLAs (Service Level Agreements)?
-
Ist der Einsatz von Off- und Near-Shore-Kapazitäten möglich, etwa wenn die Entwicklung nach dem Follow-the-Sun-Prinzip arbeitet?
-
Kann der Dienstleister sicherstellen, dass sensible Daten entsprechend den gesetzlichen Grundlagen und den Sicherheitsansprüchen des Unternehmens verwahrt werden?
Fachliche Qualifikation versus Outsourcing
Gegen das Auslagern an einen Dienstleister kann vor allem die Frage der fachlichen Qualifikation ins Feld geführt werden: Die Tester müssen sich erst in die fachliche Seite einer Anwendung einarbeiten, um die Testspezifikation festzulegen. Interne Tester, die eng mit den Fachabteilungen zusammenarbeiten, sind in der Regel bereits gut mit den fachlichen Fragen vertraut.
„Jedoch hat gerade die Distanz der externen Mitarbeiter zu den Fachbereichen positive Effekte“, so Klivinger. „Denn oft zeigt sich, dass die Anforderungs- und Systemdokumentationen lückenhaft sind – viele Funktionalitäten und Prozesse existieren zwar in den Köpfen der Mitarbeiter, sind aber nicht dokumentiert. Der unbefangene Blick von Außen kann solche Schwachpunkte aufdecken und damit viele Probleme bereits im Vorfeld eines Entwicklungsprojekts beseitigen, die Insidern nicht auffallen.“
In diesem Fall agiert der Test-Dienstleister als unabhängiger Auditor. Um den fachlichen Anforderungen gerecht zu werden, sollten zudem alle Testfälle den Fachabteilungen zur Prüfung vorgelegt werden. Durch dieses Vier-Augen-Prinzip kann sichergestellt werden, dass sowohl der neutrale Blick des externen Testers als auch der des Insiders oder des Fachbereichs zum Tragen kommt. „Durch dieses Vier-Augen-Prinzip kann sichergestellt werden, dass sowohl der neutrale Blick des externen Testers als auch der des Insiders oder des Fachbereichs zum Tragen kommt“, betont der Sogeti-Manager.
Unternehmen, die viel Zeit und Geld in die Entwicklung eigener, wettbewerbswichtiger Software investieren, können also in mehrfacher Hinsicht von Managed Testing Services profitieren. Entscheidend ist jedoch, dass Kosteneinsparungen nicht zu Lasten der Qualität gehen. Damit kommt der Wahl des passenden Dienstleisters – und auch der Definition der eigenen Anforderungen - ein hohes Gewicht zu.
Oft setzen Entwickler das Testen mit dem Debugging gleich. Dabei bestehen zwischen beiden Arten, sich fehlerfreiem Code zu nähern, elementare Unterschiede. Fehlerhaft im Sinne des Debuggings sind zum Beispiel ungültige Funktionen oder auch ganz banale Tippfehler im Code. Über die Funktion einer Anwendung im Sinne der Benutzeranforderungen sagt das Debugging nicht aus. Beim Testen hingegen werden nachvollziehbar und transparent Abweichungen von den festgelegten Anforderungen ermittelt, unabhängig von möglichen Ursachen. Dazu müssen vorab sinnvolle Test-Szenarien definiert und geeignete Testdaten erzeugen werden. Alle Tests müssen jederzeit reproduzierbar sein. |