Probleme unzureichender Softwaretests
© everythingpossible – stock.adobe.com
Was ist Testmanagement?
Unter Testmanagement versteht man die Koordination aller Tätigkeiten im gesamten Testprozess. Der Testprozess besteht dabei aus vielen einzelnen Aktivitäten, die wie folgt gruppiert werden können. (Nach ISTQB® [1]):- Testplanung und Teststeuerung
- Testanalyse und Testentwurf
- Testrealisierung und Testdurchführung
- Bewertung von Endekriterien und Bericht
- Abschluss der Testaktivitäten
Was umfasst Testmanagement im Einzelnen?
Egal ob agile oder konventionelle Softwareentwicklung, über grundlegende Softwaretest-relevante Dinge muss man sich Gedanken machen. Folgende Punkte müssen im Rahmen des Testmanagements definiert oder geplant werden, bzw. werden vom Testmanager im Zuge der Ausarbeitung von anderen Projektmitarbeitern stark mitbetreut- Anforderungs-Definition an ein Testmanagement-Tool. Tool-Auswahl einer Testmanagement-Software/ALM-Software (Testfallverwaltung, Requirements, etc.). Bzw. Entscheidung, ob überhaupt ein Tool genutzt werden soll.
- Testfall-Management (Wo und wie? Ggf. mit Requirement-Verknüpfung?)
- Defect-Management (Wo und wie?)
- Viele Definitionen, die im Rahmen der Softwareentwicklung und des Softwaretests gebraucht werden und wo alle beteiligten eine gemeinsame Sprache sprechen sollten, müssen festgelegt werden:
- Fehlerklassen, Definition und Bewertung der Fehlerschwere
- Begriffe im Projektalltag der Tester, je nach Unternehmen und Projekt unterschiedlich.
- Testende Kriterien / Abnahmekriterien / Akzeptanzkriterien
- Tipp: Denken Sie neben den Funktionalen Kriterien auch an die nicht-funktionalen Kriterien (Performance, Wartbarkeit, Ausfallsicherheit, Usability).
- Testumfang / Testabdeckung / Speziell auch Umfang der Regressionstests
- Tipp: Zumindest eine grobe Planung muss her, was und welcher grob definierte Umfang getestet werden soll. Eine Testabdeckung zu definieren, ist besonders in großen Konzern-Projekten sehr schwierig.
- Tipp: Nicht vergessen, es kann auch zu viel getestet werden. Wenn zu viel Zeit beim Testen „verloren“ geht, ohne wichtige Fehler zu finden, ist der Testumfang zu hoch.
- Testinhalt / Testdefinition, Umfang der Testobjekte und Qualitätskriterien
- Tipp: Nicht nur Funktionale Tests beachten: Technische Tests (nicht-funktionale Tests), Logging-Verhalten, Last- und Performancetest, Ressourcen-Verbrauch, Unittests (Komponententests), Ausfalltests, Tests auf Schnittstellen oder GUI-Ebene, Einsatz von Crowdtesting, Usability-Test, letzteres gerade im Mobile-App-Bereich immer gefragter.
- Testmanager unterstützt bei Testanalyse (Was ist zu testen?) und Testentwurf (Wie ist es zu testen?)
- Prioritäten im Test, Risikobewertung, ggf. strickte risikoorientierte Testvorgehen auswählen
- Tipp: Das Testen ist (bzw. sollte immer) auf eine Art risikobasiert sein. Denn am Ende ist wichtig, dass die Geschäfts-kritischen Dinge laufen. Diese müssen auch gut getestet sein.
- Testarten und Abgrenzung der Teststufen (auch Black-Box-Tests vs. White-Box-Test)
- Tipp: Vor allem auch wichtig, welche Tests manuell und welche automatisiert laufen sollen.
- Testumgebung
- Tipp: Wann ist die Umgebung für wen verfügbar? Wer baut die Umgebung auf und pflegt diese? Welche und wie viele Testumgebungen werden gebraucht? Was umfasst eine Testumgebung alles? Welche Schnittstelle, Umsysteme, Mocks und welche Zugriffe werden benötigt?
- Testdaten
- Tipp: Besonders technische – nicht-funktionale – Tests wie Last- und Performancetests brauchen oft eine große Masse an Testdaten. Möglicherweise muss man über Produktionsabzüge, Massen-Testdatengenerierung oder Anonymisierung nachdenken. Das alles gehört zum Bereich Testdatenmanagement was mit zum Testmanagement gehört, aber eine eigene Rolle haben kann.
- Ressourcen bzw. Test-Personalfragen, Testteam-Zusammenstellung
- Alle personellen Fragen müssen überdacht werden: „Wann, Wer, Wo, Was?“ Dazu gehört auch "Wer“ kann "Was"? Sprich, wer soll welche „Tester-Rolle“ und welche „Testaufgaben“ übernehmen.
- Teststeuerung, Überwachung der Testaktivitäten und Erheben von Trends
- Tipp: Durchgehende Kontrolle, ob alles gut läuft oder Probleme eskaliert werden müssen. Prüfen ob alles in Plan läuft. Wie entwickeln sich die Defects/Issues (Fehler/Abweichungen) von Woche zu Woche, bzw. von Meilenstein zu Meilenstein? Wie weit ist es bis zum nächsten Meilenstein? Schaffen wir das?
- Reporting, Berichte:
- Welche Berichte sollen wann und an wen gesandt werden?
- Welche Eskalationsstufen und Eskalationswege gibt es?
- Tipp: Berichte und Testergebnisse sollten nachverfolgbar und transparent sein.
- Testplanung:
- Tipp: Das Testen Frühzeitig starten (Siehe dazu auch den Absatz „Testing im Softwarelebenszyklus“). Zur Testplanung sind geeignete Metriken auszuwählen, mit denen man den Fortschritt des Tests überwachen kann und eine Aussage treffen kann, ob man „im Plan“ liegt.
- Defect-Prozesse, Fehlermanagement bzw. Defectmanagement-Prozesse
- Tipp: Der Workflow für den Defectmanagement-Prozesse sollte möglichst leicht verständlich und in einer Form tool-unterstützt sein, sodass niemand, der in seiner Rolle Defects bearbeitet (egal ob Tester oder Entwickler), eine Anleitung bzw. eine Handreichung zum Defect-Management-Prozess braucht. Es sollte einleuchtend und selbsterklärend sein.
- Tipp: Auch die Kontrolle / Überwachung vom Defectmanagement-Prozess und Status der Defects obliegt dem Testmanager, insofern die Rolle nicht an andere Personen ausgelagert wurde.
- Aufwandschätzungen / Testschätzung
- Tipp: Diese Schätzungen macht der Testmanager normal nicht alleine, sondern durch das Einbeziehen der Tester und Testautomatisierer. Zuvor müssen natürlich die Aufwände erst einmal grundsätzlich geklärt werden.
- Und natürlich aktive kontinuierliche Verbesserung / Test-Improvement
- Tipp: Unter anderem durch methodische Retroperspektive Meetings mit den Testern, welche vom Test Manager initiiert werden.
Das Testkonzept
Je nachdem, wie das Unternehmen und das IT-Projekt aufgestellt ist, können diese Punkte (siehe „Was umfasst Testmanagement im Einzelnen?“) dann in ein Testhandbuch, Teststrategie, Testkonzept (etc.) wandern, je nachdem welcher Entwicklungsprozess gepflegt wird. Es muss nicht zwangsweise alles in aufwendiger Dokumentation gefestigt werden, besonders in agilen Projekten nicht, dennoch wird sich über die meisten der Punkte auch im Agilen-Test Gedanken gemacht. Je weiter „lean“ oder „agile“ ein Softwareentwicklungsprojekt ist, desto kleiner wird die Dokumentation dazu sein. Agiles Kredo zur Dokumentation: „Just enough!“. Jedoch ist der Gedanke über die Themen rund um das Testmanagement nie fehl am Platz. Nach ISTQB ist das Testkonzept...„Ein Dokument, das u.a. den Gültigkeitsbereich, die Vorgehensweise, die Ressourcen und die Zeitplanung der beabsichtigten Tests mit allen Aktivitäten beschreibt. (…)“[1]
Testing im Softwarelebenszyklus (Application Lifecycle)
So gut wie jedes Lehrbuch und jeder Lehrplan, der Softwaretest Themen umfasst, hat auch eine Passage mit folgender Aussage: Softwaretest-Aktivitäten bitte so früh wie möglich beginnen! Dennoch machen es die wenigsten. Wobei sich dies in Agilen Methoden ändert oder zumindest vermischt, da es in Agilen Vorgehen eher dazu gehört, dass der Tester die Storys bereits bei der Planung begutachtet. Jeden falls macht dies den Anschein, wenn man sich aktuell gängige Praktiken in der agilen Welt anschaut. Egal ob Agile oder nicht: Starten Sie also mit allen Testaktivitäten früh genug. Am besten lassen sie Tester bereits an der Projekt-Planung, Software-Konzeption und besonders der Anforderungs-Definition (bzw. Definition von Stories) teilhaben, zum Beispiel in Form von Reviews. Schlagwort: Testen über den gesamten Application Lifecycle! Der Testprozess darf nicht losgelöst vom Entwicklungsprozess betrachtet werden. Der Testprozess ist vielmehr eng mit dem Entwicklungsprozess verwoben und läuft im Idealfall zeitgleich mit dem Entwicklungsprozess ab. Nur wenn der Testprozess den Entwicklungsprozess begleitet, können Synergieeffekte gewinnbringend genutzt werden, was wiederum zu einer Steigerung der Qualität des Produkts führt. Der Testprozess endet dabei erst mit der erfolgreichen Abnahme der Software durch den Auftraggeber. Testmanager und Tester sollen somit von Beginn an mit einbezogen werden, um zu einem hochwertigen und möglichst fehlerfreien Softwareprodukt zu kommen. Tester und Testmanager helfen dabei, Fehler in Konzepten aufzudecken und Fragen zur Testbarkeit von Beginn an zu erörtern. Ferner starten Tester und Testmanager ihre Testanalyse & Testentwürfe, bzw. die Arbeit am Testkonzept.Toolunterstützung im gesamten Softwarelebenszyklus (Application Lifecycle)
© everythingpossible – stock.adobe.com
Standardisierung und Richtlinien im Softwaretest
Möchte man einen Testprozess etablieren, welcher nicht nur für ein Projekt verwendet werden kann, muss unternehmensweite Standardisierung eingesetzt werden. Hierzu können unternehmens-interne Testhandbücher / Testleitfäden / Teststrategien (laut ISTQB: Testrichtlinie) erstellt werden, welche als Vorlage dienen, wenn in einzelnen IT-Projekten konkrete Test-Strategien und konkrete Test-Konzepte konzipiert werden. Diese Art von Vorlage-Testhandbücher sind oft auch Teil eines übergeordneten Software-Engineering-Handbuchs (Software-Entwicklungs-Guideline) des Unternehmens. Als Minimum der Standardisierung im Softwaretest wären zum Beispiel Templates für Defect, Testfälle und Reports, welche sich ein Team für einen gemeinsamen Nenner erstellen kann. Oft werden in Unternehmen aber unternehmensweite Standards erarbeitet. Ferner kann man sich auf Standards im Softwaretest im Softwaretest und Softwaretest-Dokumentation beziehen, wie sie nach ISTQB, IEEE, ISO/IEC zu finden ist. Ein relativ neuer Standard im Softwaretest ist die ISO/IEC/IEEE 29119 Software Testing Diese umfasst [4]:- 29119-1: Konzepte und Definitionen (Concepts & Definitions)
- 29119-2: Testprozesse (Test Processes)
- 29119-3: Testdokumentation (Test Documentation)
- 29119-4: Testtechniken (Test Techniques)
- 29119-5: Keyword-Driven Testing (Keyword Driven Testing)
Outsourcing von Testprozessen
Das Outsourcing von Teilen des Testprozesses oder des gesamten Testprozesses kann je nach Unternehmen und Projekt Sinn machen oder auch nicht. So werden in der Praxis häufig Teilbereiche wie die Testautomatisierung an externe QS-Beratungshäuser bzw. externe IT-Dienstleister vergeben, da diese (hoffentlich ☺ ) bereits viel Know-how auf diesem Gebiet haben oder eventuell sogar kostengünstiger sind, als die eigene, interne Testabteilung. Vor der Entscheidung, Outsourcing einzusetzen, sollte jedoch immer eine ehrliche Kosten-Nutzen-Analyse und ein realistischer Zeitplan erstellt werden. Nicht selten laufen diese Projekte, wenn sie schlecht geplant wurden, nicht nur kostentechnisch aus dem Ruder. Vor allem der zusätzliche Kommunikationsaufwand und die Überprüfung der Endergebnisse werden in der initialen Planung eines Outsourcingprojekts häufig unterschätzt. Je nach Outsourcing-Modell kann es sich um Themen der Testautomatisierung, Manuelle Tests, bestimmte Tests (Lasttest) oder sogar der große Teil des Testprozesses (Integrationstests, Systemtest, Abnahmetest) handeln. Von Near-Shore bis Off-Shore ist je nach Projekt, Situation und Unternehmen die beste Wahl zu treffen. Es muss bei Start eines Outsourcingprojekts nicht nur festgelegt werden, welches Modell (Nearshoring oder Offshoring) gewählt wird und welche Ergebnisse erwartet werden, sondern auch, wer für die Kommunikation mit dem Drittanbieter verantwortlich ist und welche Maßnahmen bei Problemen ergriffen werden können.Testplanung und Teststeuerung
Ohne eine gewissenhafte und saubere Testplanung können besonders größere Softwareprojekte schon zu Projektbeginn zum Scheitern verurteilt sein. Um eine hohe Softwarequalität und eine termingerechte Fertigstellung der Software zu garantieren, benötigt man daher zuverlässige Testplanung. Die Testplanung besteht dabei nicht nur aus einer simplen Ressourcenplanung, sondern umfasst auch die Erstellung eines Testkonzepts, in welchem alle wesentlichen Testobjekte, die Testeingangs- sowie Testausgangskriterien, die Testabbruchbedingungen und auch die eingesetzten Testmethoden und die Testvorgehensweise festgehalten werden. Zudem müssen zu Beginn des Projekts die notwendigen Ergebnisse und Dokumente definiert werden, welche zu Projektende geliefert werden müssen. Zur Teststeuerung gehört auch das Überwachen der Testaktivitäten und das schnelle Eingreifen bei Missständen.Testanalyse und Testentwurf
In dieser Phase werden die Details der einzelnen Testobjekte betrachtet. Erst hier erkennt man, wie aufwendig das Projekt in Wirklichkeit ist und welche Testtechniken und Werkzeuge zur Anwendung kommen. Durch die genaue Analyse der Requirements wird beispielsweise erst klar, ob Performance Tests für das Projekt in der ersten Phase zwingend notwendig sind oder wie viele Tests automatisiert werden können. Die Absicht dieser Phase ist es, alle Testziele in konkrete Testbedingungen und Testfälle zu übersetzen, sodass am Ende dieser Etappe eine fertige Testentwurfsspezifikation vorliegt.Teststufen und Testtechniken
Im Allgemeinen stehen dem Testteam verschiedene Testtechniken für unterschiedliche Teststufen zur Verfügung. Die Teststufen lassen sich dabei für gewöhnlich in folgende Teildisziplinen aufteilen:- Unittests, Modultests, Komponententests
- Integrationstest, Schnittstellen-Tests
- Systemtests
- Abnahmetest
Testautomatisierung
© jim – stock.adobe.com
Testdaten und Testumgebung
Um erfolgreiche, praxis-nahe Tests durchführen zu können, wie zum Beispiel für Last- und Performancetests erforderlich, benötigen die Tester so früh wie möglich eine Testumgebung, die der späteren Produktivumgebung entspricht. Zudem müssen die QA-Engineers auf eine konsistente und realistische Datenbasis zugreifen können. Es hilft hierbei wenig, beispielsweise ein Data Warehouse, welches im Echtbetrieb mit Millionen von Datensätzen arbeitet, während des Tests mit nur einigen Hundert Testdatensätzen zu simulieren. Genauso wenig ist es sinnvoll, Applikationen, die später von Hunderten von Usern zeitgleich benutzt werden, im Performancetest mit nur 2 oder 3 Benutzern zu überprüfen. Hierbei kommt dem Sizing der Testumgebungen eine entscheidende Rolle zu und genau hier sind die Anknüpfungspunkte für das spätere Configuration Management und Release Management. Es ist Aufgabe des Testmanagers, diese Überschneidungen zu koordinieren und seinem Testteam die optimalen Umgebungen (je nach Einsatzzweck) bereitzustellen. Dazu gehören auch alle benötigten Umsysteme und eventuellen Mocks. Neben der Testumgebung spielen auch die passenden Testdaten eine wichtige Rolle. Je nach Einsatzzweck müssen die passenden Testdaten vorhanden sein. Praxis-vergleichbare Lasttests oder Fail-Over-Tests unter Lastbedingungen benötigen meist sehr viele Testdaten oder sogar einen vollen Praxis-Abzug. Um an die geeigneten Testdaten zu kommen gibt es viele verschiedene Wege. Die Schlagwörter dazu sind Anonymisierung, Pseudo-Anonymisierung, Synthetische Testden, Testdaten-Generatoren, Tesdatenmanagement-Tools, Datenschutz und Security. Die Planung, Generierung und Koordination der Bereitstellung der Testdaten gehört zum Testdatenmanagement, welches häufig in IT-Projekt keine eigene Rolle (bzw. Person) besitzt, sondern von den Testern und Entwicklern mit ausgeführt und vom Testmanager geplant wird. Gerade in sehr großen Unternehmen und sehr großen IT-Projekten können hierzu aber feste Rollen und feste Personen von Vorteil sein, die sich zentral mit dem Thema Testdaten auseinander setzen. Besonders wenn der Punkt Datenschutz hinzukommt, bedarf es einiges an Spezialisierung und Expertise in dieser Thematik.Testrealisierung und Testdurchführung
Wurden alle Testeingangskriterien erfüllt, kann die Phase der Testrealisierung gestartet werden. In dieser Phase werden alle Testfälle und Use Cases auf Basis der Testentwurfsspezifikation ausgeführt und dokumentiert. Der Testmanager überwacht dabei den Testfortschritt und trifft beim Auftreten von schwerwiegenden Problemen allenfalls die Entscheidung zum Testabbruch. Zudem kümmert er sich darum, dass alle Testergebnisse gemäß den vorab definierten Standards nachvollziehbar dokumentiert werden und dass alle gefundenen Fehler lückenlos im verwendeten ALM-Tool oder Fehlermanagementtool aufscheinen.Testauswertung und Bericht
Nach erfolgreichem Abschluss der Testdurchführung wird ein Testabschlussbericht erstellt. Dieser Report enthält eine Zusammenfassung der Tests und Testaktivitäten sowie eine Liste aller gefundenen Abweichungen. Jedes Testobjekt wird in diesem Bericht einzeln bewertet und es kommt zu einer Empfehlung über die Freigabe des jeweiligen Testobjekts. Häufig wird neben dem Bericht selbst auch eine Testüberdeckungsmatrix geliefert. Diese Matrix zeigt, welche Requirements durch welche Testfälle abgedeckt wurden.Abschluss der Testaktivitäten
Nach der Freigabe der Software können die Testaktivitäten abgeschlossen werden. Zu diesen Abschlussarbeiten zählt beispielsweise die Archivierung der Testumgebung und der Testdaten, sowie die Erstellung von abschließenden Berichten und Dokumenten. Schlussendlich kommt es zu einer Bewertungssitzung, in welcher auch Best Practices für die nächsten Projekte erarbeitet werden sollten.Aufgaben des Testmanagers
Eine Aktivität von Testmanagern ist die Erstellung einer Teststrategie und Testkonzept, die im optimalen Fall von allen Stakeholdern bindend unterzeichnet wird. Der Testmanager ist zudem gezielt für die „Testplanung und Teststeuerung“ und für das „Reporting und den Informationsfluss“ zuständig und nimmt bestenfalls an allen relevanten Projektmeetings teil. In diesen präsentiert er neben dem Testfortschritt seines Teams die vorab definierten Berichte und Metriken. Der Testmanager ist das wichtigste Bindeglied zwischen den Testern und allen Stakeholdern, die am Test und den Testergebnissen interessiert sind. Der Testmanager vertritt in Meetings einen Standpunkt von hoher Softwarequalität. Dabei ist vom Testmanager stets ein gutes Verhältnis zu allen Stakeholdern anzustreben. Der Testmanager muss die Stakeholder und ihre Test-Anforderungen wie auch ihre Kritik am Testvorgehen verstehen. Dazu kommuniziert der Testmanager natürlich den Teststatus (inkl. Defect-Status) oder beantwortet Rückfragen der Stakeholder dazu bei Bedarf. Dabei hat der Testmanager stets einen professionellen und objektiven Eindruck aufrecht zu erhalten. Der Testmanager muss Tests in seinem Testteam verstehen und Auskunft über den Sinn, Testabdeckungen und anderen Rückfragen geben können, die von Stakeholdern aufkommen. Aus diesem Grund muss er einen groben Überblick über die Gesamtbedingungen des Testteams haben, aber auch Detailwissen über die Tests verfügen. Da der Testmanager bestenfalls bei Testanalyse / Testentwurf zumindest konzeptionell und beratend unterstützt hat und den kompletten Testprozess mit geplant haben sollte, ist dieses Detailwissen meist vorhanden.
© MK-Photo – stock.adobe.com
Sind Testmanager immer nötig?
Testmanager werden für gewöhnlich erst dann eingesetzt, wenn das Testteam eine bestimmte Größe erreicht hat. In der Praxis hat sich dabei eine Teamgröße von 3 bis 7 Testern etabliert. Dabei leiten Testmanager ihr Team nicht nur während des Projekts, sondern übernehmen auch die Aufgabe einer zentralen Schnittstelle zwischen dem Projektmanagement, dem Entwicklungsteam und dem Testteam. Ist kein Testmanager vorhanden, übernimmt das Testteam die Aufgaben im Testmanagement implizit mit, da die meisten Belange daraus zwangsweise koordiniert und geplant werden müssen.Die häufigen Probleme im Testmanagement
„Leider“ sind die häufigsten Probleme im Testmanagement ganz lapidarer Natur:- Zu wenig Zeit für den Test, da Softwaretest-Aktivitäten meistens in IT-Projekt zu niedrige Priorisierung genießen.
- Test-Aktivitäten wurden zu spät im IT-Projekt gestartet.
- Es ist zu wenig Budget für den Test übrig bzw. für den geplanten Testumfang , der dem IT-Projekt gut tun wurde.
- Probleme rund um Testautomatisierung (schlecht wartbar, zu teuer, zu langwierig, zu langsam, läuft gar nicht, läuft nicht konstant, schlechte oder fehlende Abdeckung)
- Differenzen zwischen Testteam und Entwicklungsteam oder anderen Stakeholdern.
Testmanagement in agilen Softwareprojekten
In der agilen Softwareentwicklung sind viele klassische Testmanagementmethoden von Haus aus integriert (oder sollten es zumindest sein). Das führt dazu, dass Testmanager in diesen Entwicklungsmodellen meist eher eine beratende Funktion einnehmen bzw. „Testmanager“ eher eine imaginäre Rolle ist, die von einer (oder mehreren) Person aus dem agilen Team mit ausgeführt wird. Über viele Punkte aus „Was umfasst Testmanagement im Einzelnen?“ macht sich das agile Team auch Gedanken, aber hierbei eher im Team und durch kurze Absprachen. Testmanager können weiterhin Ansprechpartner für eingesetzte Testwerkzeuge und Testmethoden sowie für Test-Weiterbildungsmöglichkeiten und die Arbeitsplatzauslastung sein. Zudem besteht ihre Aufgabe darin, eine Testkultur im Team (bzw. über das Team hinaus) zu etablieren und eine gesunde Einstellung zu hoher Softwarequalität zu schaffen. Die meisten Agilen Methoden bringen grundlegende QS-Maßnahmen mit sich, beispielweise sollen Stories und deren Akzeptanzkriterien testbar sein und Testabdeckung (mindestens) in Form von Unittests gehört in der Regel dazu.
Teststufenaufteilung in Agilen Entwicklungsmethoden
Exkurs: Das Testmanagement als Unterstützung der Vertragslage für beauftragte Software
Nicht selten sind die Abnahmekriterien für eine beauftragte Software schon vor Vertragsabschluss bekannt. Wenn auch noch nicht ausdefiniert, existiert auf detaillierter Nachfrage hin sicherlich eine gewisse Vorstellung vieler Abnahmekriterien in den Köpfen der Stakeholder. Um späteren Streitigkeiten Einhalt zu gebieten, kann die frühe Erstellung der Abnahmekriterien somit auch zur Festlegung der Vertragslage für eine Softwarebeauftragung sinnvoll sein. Durch die Verankerung der Abnahmekriterien im Vertrag kann das Projekt somit zügig abgewickelt und abgenommen werden, ohne unnötige Diskussion darüber, ob eine vom Kunden gewünschte Funktionalität nun ein Change Request oder ein Requirement ist. Der Einsatz konkreter für den Test auch nutzbaren Abnahmekriterien, hat zudem noch den weiteren Vorteil, dass es die Erstellung eines Testkonzepts vereinfachen kann. Auch terminliche Planung und Meilensteine, die auch im Testkonzept Erwähnung finden würden, können aus den Definitionen im Vertrag direkt in die Konzepte wandern. Bei diesem Konstrukt ist wichtig, dass der Testmanager bzw. das Test-Team direkt von Anfang an im Entwicklungsprozess beteiligt ist. Denn diese müssen direkt ihre Expertise einfließen lassen, was testbar ist und wie es später getestet werden kann. Dieses Konstrukt bietet an sich Vorteile, da so gut wie jedes Lehrbuch uns lehrt, den Test frühestmöglich im IT-Projekt zu beteiligen. Wie die Agile-Welt uns in den letzten Jahrzehnte zeigt (oder weismachen möchte), ist das frühe und (zu) detaillierte klären von Abnahmekriterien aber ein Unterfangen, dass auch Risiken und große Hürden mit sich bringt, da die Ansichten der Stakeholder sich auch ändern können. Denn auch die Stakeholder bekommen im Laufe des Softwareentwicklungsprozesses ja erst ein echtes Gefühl für ihre gelieferte Software. Meist lernen die Stakeholder auch erst mit der Zeit, was ihre Software wirklich benötigt. In diesem Fall müssen die vertraglichen Abnahmekriterien im gegenseitigen Einverständnis angepasst werden.Fazit
Das erfolgreiche Testen von Software benötigt nicht nur Zeit und Personal, sondern auch ein durchgehendes Testmanagement. Ohne die Integration des Testmanagementprozesses in den Projektablauf kommt es immer wieder zu Verzögerungen und zu Budgetüberschreitungen im Projekt. Im schlimmsten Fall kann der Auftraggeber die Abnahme der Software sogar verweigern. Nur durch ein systematisches Vorgehen und durch ein konsequentes Umsetzen aller relevanten Themen können gesetzte Qualitätsstandards eingehalten werden. Dies kann nur dann gelingen, wenn der Testprozess im Unternehmen selbst etabliert ist und hinreichend gemanagt wird und wenn den Verantwortlichen genügend Ressourcen zur Verfügung gestellt werden.Ihre Erfahrungen, Fragen, Feedback?
Haben Sie Fragen rund um das Thema Testmanagement oder Agile-Testing? Oder möchten Sie gerne eine Beigabe aus Ihrem Testmanagement-Knowhow beisteuern? Gerne Feedback, Ideen und Fragen in den Kommentaren weiter unten. Quellenverzeichnis- ISTQB Gloassar: http://glossar.german-testing-board.info (Abruf 07.02.2017)
- Heise News: https://www.heise.de/newsticker/meldung/Bericht-Viele-IT-Projekte-scheitern-an-unzureichenden-Tests-1233377.html (Abruf 07.02.2017)
- Heise News: https://www.heise.de/resale/artikel/Fuenf-goldene-Regeln-fuer-erfolgreiches-Testmanagement-1247450.html (Abruf 07.02.2017)
- Wikipedia: https://en.wikipedia.org/wiki/ISO/IEC_29119 (Abruf 07.02.2017)
- ISTQB CTFL TM: http://www.german-testing-board.info/wp-content/uploads/2016/07/CTAL_Lehrplan2012_TM_Final_Germ_V100.pdf (Abruf 07.02.2017)
Testmanagement Artikel
© Sikov – stock.adobe.comBesonderheiten im Testmanagement von Sprachbenutzerschnittstellen (VUI)
Beim Testmanagement von Sprachbenutzerschnittstellen zeigen sich im Softwaretest mehrere Herausforderungen. Es gibt Unterschiede zwischen dem Test von Sprachbenutzerschnittstellen und grafischen Benutzerschnittstellen. Dies liegt vor allem an der Vielfalt der Eingabemöglichkeiten durch gesprochene oder geschriebene Sprache....
Read More »
© tashatuvango – stock.adobe.comTestberichte mit Jira und Xray
Was ist das Jira Plug-in Xray? Testberichte sind für Testmanager und Projektleiter unersetzlich und mit Xray und Jira sind sie einfacher zu erzeugen. Zudem muss das Planungstool der Wahl nicht verlassen werden. Jira ist als...
Read More »
© magele-picture – stock.adobe.comBDD: Behavior-Driven-Development
Behavior-Driven-Development, kurz BDD, bezeichnet die verhaltensgetriebene Softwareentwicklung, welche eine Methode in den Agilen Softwareentwicklungs-Modellen ist. Das Test-Driven-Development erfreut sich großer Beliebtheit und die verhaltensgetriebene Entwicklung (englisch Behavior-Driven-Development, BDD) entwickelt diesen Ansatz der testgetriebenen Entwicklung konsequent weiter....
Read More »
© vchalup – stock.adobe.comBug Tracker und Defect Management Tools
Der Bug Tracker zählt neben der Versionsverwaltung zu den am häufigsten genutzten Werkzeugen in der Softwareentwicklung. Ob als eigenständiges Programm oder integriert in ein ALM-Tool oder Projektmanagement Software, kommt heute keine anspruchsvolle Softwareentwicklung ohne diese...
Read More »
© everythingpossible – stock.adobe.comALM Tools und Testmanagement Software
Die Reihenfolge der folgenden Testmanagement Software und ALM Tools stellt keine Bewertung dar sondern ist zufallsbedingt. Weiterhin erhebt diese Übersicht von Testing-Tools keinen Anspruch auf Vollständigkeit. Sollte ein Testwerkzeug fehlen, freuen wir uns über eine Information. Möchten...
Read More »



Hallo,
im Rahmen meiner Bachelorarbeit nehme ich Bezug auf Testmanagement und deren Bestandteile. Ich würde gerne den unten genannten Beitrag als Quelle für meine Bachelorarbeit verwenden. Doch leider habe ich keinen Autor zu diesem Beitrag und auch keine Angaben zu dem Datum der Publikationen gefunden. Können Sie mir da weiter helfen.
Mit freundlichen Grüßen
Eyüp Ridvan Ballkaya
WebLink: https://www.testing-board.com/testmanagement-im-softwaretest/?cn-reloaded=1