Skip to main content
main-content

Über dieses Buch

Das Buch gibt konkrete Tipps zur erfolgreichen Umsetzung von Softwaretests und effizientem Testmanagement. Dabei verbindet der Autor theoretische Grundlagen mit betrieblicher Realität zur Anwendung in der Praxis. Er gibt hilfreiche Hinweise, welche Herausforderungen beim Test von Software bestehen, wo es Fallstricke gibt und was zu beachten ist, um sie zu vermeiden.

Inhaltsverzeichnis

Frontmatter

1. Der Testprozess

Das Testmanagement organisiert, koordiniert und überwacht die Aktivitäten im gesamten Testprozess. Ein definierter Testprozess grenzt die einzelnen Phasen voneinander ab. Die Rahmenbedingungen für den Softwaretest haben sich dabei permanent verändert.

Frank Witte

2. Grundsätze für Softwaretester

Es gibt einige generelle Leitlinien für Softwaretester, eine Testphilosophie die allen Softwaretest-Aktivitäten zugrunde liegt und als gemeinsame Richtschnur in jedem Testprojekt, ob groß oder klein, vorhanden sein sollte. Diese Grundsätze verhelfen zu einem gemeinsamen Verständnis und einer richtigen Einordnung der Testaktivitäten.

Frank Witte

3. Testnormen

Normen schaffen gemeinsame Standards und bilden damit eine Voraussetzung für den erfolgreichen Wettbewerb unterschiedlicher Unternehmen. Auf der Grundlage der Normen der IEEE und ISO hat das ISTQB Normen zur Standardisierung und Vergleichbarkeit von Testprozessen erarbeitet.

Frank Witte

4. Rollen und Verantwortlichkeiten im Testmanagement

In einem Testprojekt sind für bestimmte Aktivitäten definierte Rollen festgelegt. Von Projekt zu Projekt sind diese Rollen abhängig von den verfügbaren Mitarbeitern jeweils neu festzulegen. Es sind dabei auch Mischformen möglich oder die Vereinigung mehrerer Rollen in einer Person, aber genauso gut die Aufteilung der Verantwortlichkeiten einer Rolle auf mehrere Mitarbeiter.

Frank Witte

5. Grundlagen des Testmanagements

Zur Organisation konkreter Abläufe und Arbeiten für die Aktivitäten zum Softwaretest ist ein definiertes Testmanagement erforderlich.

Frank Witte

6. Marktsituation beim Softwaretest

Von den Hochschulen Bremen und Bremerhaven, der Technischen Hochschule Köln, der ANECON Software und Beratung GmbH, dem German Testing Board (GTB) und dem Swiss Testing Board wurden in den Jahren 2012 und 2016 anonyme Online-Umfragen zum Thema „Softwaretest in der Praxis“ durchgeführt. Damit sollte einerseits der aktuelle Stand von Qualität und Testaktivitäten in der Praxis, andererseits der Handlungsbedarf für Forschung, Ausbildung und Beratung im Testen analysiert werden.

Frank Witte

7. Testvorbereitung

Bevor man mit der Testdurchführung starten kann, sind strategische Überlegungen, Planungsaktivitäten und konkrete Vorbereitungsmaßnahmen erforderlich. Einige grundlegende Fakten sind unternehmensweit zu klären. Sie gelten in der Regel komplett oder zumindest teilweise für alle beteiligten Projekte des Unternehmens. Auch wenn diese Aspekte nicht in jedem Projekt neu bewertet werden müssen, ist es wichtig, dass in jedem einzelnen Projekt das grundlegende Verständnis dafür vorhanden ist.

Frank Witte

8. Requirements Engineering

Das Requirements Engineering dient zum systematischen Management und Verfahren der Anforderungsanalyse und Anforderungsverfolgung und stellt die Grundlage erfolgreicher Softwareprojekte dar. Effiziente und fehlerarme Systeme benötigen klar beschriebene, nicht widersprüchliche und vollständige Anforderungen. Requirements Engineering umfasst die Ermittlung, Analyse, Spezifikation und Validierung der Eigenschaften und Rahmenbedingungen eines Softwaresystems, die über seinen gesamten Lebenszyklus gewünscht werden bzw. relevant sind.

Frank Witte

9. Teststufen

Der Test eines komplexen Softwaresystems wird in mehrere Phasen (Teststufen) unterteilt. Die Einordnung der Teststufen (auch Testzyklen genannt) folgt häufig dem Entwicklungsstand des Systems. Es geht dabei darum, dass der Test einer bestimmten Funktionalität so früh wie möglich erfolgen soll. Da aber nicht jeder Test in jeder Teststufe schon möglich ist, muss man diese Teststufen eindeutig abgrenzen und prüfen, welcher Test in welchem Testzyklus sinnvoll ist.

Frank Witte

10. Testabdeckung und Überdeckungsmaße

Für den Test muss eine sinnvolle Untermenge an Testfällen aus allen möglichen Kombinationen definiert werden, damit eine geeignete Testabdeckung vorhanden ist. Dafür existieren mehrere Überdeckungsmaße.

Frank Witte

11. Fehlermanagement

Die systematische Erfassung und Verfolgung von Fehlern und ihre Eliminierung in einer möglichst frühen Testphase ist ein wesentlicher Erfolgsfaktor für den Softwaretest. Dafür muss ein geeigneter Fehlerprozess definiert und umgesetzt werden.

Frank Witte

12. Testplanung

In der Testplanungwerden Methoden, Strukturen und Werkzeuge für den Test definiert. Es wird definiert, welche Tools für die Testbeschreibung, die Fehlerverwaltung, die Beschreibung der Anforderungen und die Automatisierung verwendet werden. In diesem Zusammenhang muss das grundsätzliche Vorgehen beschrieben werden, wenn eine neue Software von der Entwicklung geliefert wird, also die Prozesse einschließlich der Schnittstellen zu anderen Abteilungen, das Testreporting, die Einbeziehung der Stakeholder und der zeitliche Rahmenplan.

Frank Witte

13. Testumgebung

Für den Softwaretest sind geeignete Testumgebungen zu definieren und zu pflegen. Dabei sind mehrere Parameter zu beachten.

Frank Witte

14. Testkonzeption

Ein Testkonzeptbeschreibt für ein spezifisches Projektvorhaben die vorgegebenen und zu erfüllenden Mindestanforderungen für die geplante Testvorgehensweise, die Zuständigkeiten, die Verantwortlichkeiten und Abhängigkeiten. Des Weiteren werden die Rahmenbedingungen (z. B. Testumgebung, Konfiguration des Testsystems, Testvoraussetzungen), Ziele des Testvorgehens, die zu verwendenden Testmethoden und Testverfahren sowie der Umfang der durchzuführenden Testaktivitäten festgelegt.

Frank Witte

15. Kennzahlen zur Bewertung von Tests

Geeignete Kennzahlen zum Softwaretest verhelfen zur Beurteilung des Testerfolgs und legen eine sichere Grundlage für betriebliche Entscheidungen.

Frank Witte

16. Testvoraussetzungen

Bevor man mit der Testdurchführung loslegen kann, muss man genaue Überlegungen anstellen, was alles zu den Testvoraussetzungengehört. Welche Hardware, also welcher Prozessor, welches Betriebssystem, welche technische Ausstattung sind zu verwenden? Welche Umgebungsvariablen sind entscheidend – das Wetter, die Tageszeit. Gibt es saisonale Schwankungen?

Frank Witte

17. Beschreibung der Testfälle

Systematische Softwaretests im Rahmen der Qualitätssicherung erfordern eine strukturierte Testdokumentation. Diese Dokumentation spezifiziert die korrekte Planung, das Testvorgehen und die Umgebungsvariablen beim Softwaretest. Standardisierte Templates helfen dem Tester bei Erstellung der Spezifikation und Beschreibung der Testprozeduren.

Frank Witte

18. Testmethoden

Softwaretests werden oft als analytische Maßnahmen, die erst nach Erstellung des Prüfgegenstandes durchgeführt werden können, definiert. Diese Testmethodenwerden beim Softwaretest angewendet. Einige ausgewählte Testmethoden werden in diesem Kapitel beschrieben.

Frank Witte

19. Testdurchführung

Wenn die Testfälle beschrieben sind soweit es aufgrund der Spezifikationen sinnvoll möglich ist und die Software in testbarem Zustand vorhanden ist, kann mit der Durchführung der Softwaretests gestartet werden. Nun sollte man die Testanweisung exakt durchgehen und so testen, wie es in der Testanweisung beschrieben ist.

Frank Witte

20. Testbericht

Der Testbericht (Testreport) fasst die Ergebnisse der Testdurchführung zusammen. Er zeigt den Handlungsbedarf auf, der zur Nachbesserung erforderlich ist und gibt Aufschluss über die durchgeführten Testmaßnahmen und die Qualität der Software.

Frank Witte

21. Produktiveinführung von Systemen

Neueinführungen oder Wartungsprojekte können in unterschiedlichen Methoden produktiv eingeführt werden. Das hängt einerseits vom betrieblichen Risiko der betroffenen IT-Systeme und Prozesse ab, andererseits von der technischen und fachlichen Realisierbarkeit. Ob die Produktivnahme der Anwendung sukzessive, also etwa im Rahmen von Wartungsaufträgen, oder als gebündelte Gesamteinführung in Form eines Release stattfindet, ist von der Art der Einführung abhängig, von den damit verbundenen Risiken und den zur Verfügung stehenden Ressourcen. Ein Release-Management kann die Einführung oder die Bündelung von Wartungsaufträgen zentral priorisieren und steuern.

Frank Witte

22. Reviews im Testprozess

Wichtige Entscheidungen sollten nicht allein vorbereitet und kritische Entscheidungen hinterfragt werden, um das Risiko von Fehlern oder Missbrauch im Unternehmen zu reduzieren. Das gilt auch in besonderem Maße für den Testprozess, weil der Softwaretest ja gerade Fehler minimieren und die Qualität des Endprodukts steigern soll. Deshalb ist ein Vier-Augen-Prinzip zu empfehlen, das sich beim Testprozess durch Reviews umsetzen lässt.

Frank Witte

23. Werkzeuge für die Unterstützung des Testmanagements

Tools für das Testmanagement bieten Mechanismen zur komfortablen Erfassung, Organisation und Steuerung der Prioritäten von Testfällen. Dadurch kann der Status der Testaktivitäten überwacht, dokumentiert und statistisch ausgewertet werden. Es wird ersichtlich, welche Testfälle durchgeführt wurden und welches Ergebnis bei welchem Testfall erwartet wurde und tatsächlich auftrat. Das Testmanagement ist auf die Unterstützung von Testtools angewiesen, um den Testfortschritt jederzeit zu messen, eine stringente Testplanung und ein klares Testreporting durchführen zu können.

Frank Witte

24. Die optimale Testabdeckung

Als Testabdeckungbezeichnet man das Verhältnis an tatsächlich getroffenen Aussagen eines Tests gegenüber den theoretisch möglich treffbaren Aussagen bzw. der Menge der gewünschten treffbaren Aussagen. Die Testabdeckung dient als Gradmesser für die Qualitätssicherung und wird häufig in Metriken verwendet.

Frank Witte

25. Testmetriken

Für das Testreporting empfiehlt sich der Einsatz geeigneter Testmetriken. Metriken versuchen mittels Kennzahlen, den Softwareprozess kontrollierter ablaufen zu lassen und können für die Testüberwachung eingesetzt werden.

Frank Witte

26. Testautomatisierung

Tests, die wiederholt ablaufen, können automatisiert werden. Das verhilft zu höherer Testabdeckung, einer verlässlichen Reproduzierbarkeit, spart Zeit und Kosten, 1000 Kombinationen von Testfällen manuell testen will, ist man damit ein paar Wochen beschäftigt. Ein Roboter der dafür ein Skript abarbeitet, schafft das in wenigen Stunden.

Frank Witte

27. Offshoring von Tests

Der Begriff Offshoring bezeichnet eine Form der Verlagerung unternehmerischer Funktionen und Prozesse ins Ausland. Wenn Offshoring-Projekte durchgeführt werden, ist eine Reihe von Faktoren zu bedenken.

Frank Witte

28. Test von Internet-Anwendungen

Für den Test von Internet-Anwendungen gilt grundsätzlich dasselbe wie für den Test von Software-Applikationen. Der wesentliche Unterschied ist, dass im Internet fehlerhafte Qualität viel schneller einer erheblich größeren Gruppe von Nutzern auffällt.

Frank Witte

29. Testen in der Cloud

Beim Testen in der Cloud muss man nicht wissen, wo Software und Daten abgelegt sind. Inzwischen werden mehr und mehr menschliche Arbeiten in der Cloud erledigt. Die Cloud lässt sich zur Testautomatisierung verwenden.

Frank Witte

30. Mobile Testing

Smartphones und Tablets haben inzwischen viele Lebensbereiche erobert. Mobile IT-Systeme bieten neue Anwendungsbereiche und gestatten von der einfachen App bis zur komplexen Shopping-Lösung neue Möglichkeiten und mehr Flexibilität für den Nutzer. Mobile Anwendungen bedeuten neue Anforderungen für das Testmanagement.

Frank Witte

31. Agiles Testen

Unter agilem Testen versteht man das Testen von Software im Rahmen eines agilen Entwicklungsprojekts. Daher muss sich der Test in einem agilen Entwicklungsprojekt auf die Unterstützung des Entwicklungsteams konzentrieren. Viele Eigenschaften von agilen Testern helfen dabei auch einem traditionellen Tester.

Frank Witte

32. Geschäftsbasiertes Testmanagement

Das geschäftsbasierte Testmanagement ist ein Test Governance-Ansatz. Test-Governance ist eine Geschäftspolitik, die in Testdokumenten umgesetzt werden muss. Der BDTM-Ansatz ermöglicht eine Festlegung der Teststrategie und verantwortliche Lenkung des Testprozesses.

Frank Witte

33. TPI Next

Sogetis Modell der Testverbesserung verhilft mit Best Practices zu einer Verbesserung der Testprozesse im Unternehmen. Dabei können die einzelnen Optimierungsschritte gezielt an die spezifischen Bedürfnisse eines Unternehmens angepasst werden.

Frank Witte

34. Testumgebungsmanagement

Mehrere Aspekte sind beim Aufbau einer Testumgebung zu prüfen. Beschränkungen der Testumgebungen bedeuten manchmal keine ausreichende Übertragbarkeit der Testergebnisse.

Frank Witte

35. Testaufwandsschätzung

Die Schätzung der zu erwartenden Testaufwände ist von zahlreichen Parametern abhängig. Zur Aufwandsermittlung sind mehrere Modelle geeignet. Eine detaillierte Bewertung der einzelnen Einflussgrößen und Erfahrungswerte aus ähnlich gelagerten Projekten ermöglichen realistische Projektkalkulationen.

Frank Witte

Backmatter

Weitere Informationen