Anmerkung der Redaktion: Willkommen bei der Serie „Führung im Test“ des Softwaretest-Experten und -Beraters Paul Gerrard. Die Serie soll Testern mit einigen Jahren Erfahrung – insbesondere solchen in agilen Teams – dabei helfen, in ihren Rollen als Testleiter und Testmanager erfolgreich zu sein.
Im vorherigen Artikel haben wir uns die Infrastruktur von Websites und deren Testen angesehen. In diesem Artikel führe ich Sie durch den Werkzeugkasten der Tester, erläutere, wie man zwischen proprietären und Open-Source-Lösungen wählt, und zeige eine kurze Übung zur Werkzeugauswahl.
Melden Sie sich für den Newsletter von The QA Lead an, um benachrichtigt zu werden, sobald neue Teile der Serie veröffentlicht werden. Diese Beiträge sind Auszüge aus Pauls Kurs „Führung im Test“, den wir sehr empfehlen, wenn Sie tiefer in dieses und andere Themen einsteigen möchten. Wenn Sie das tun, verwenden Sie unseren exklusiven Gutscheincode QALEADOFFER, um $60 Rabatt auf den vollständigen Kurspreis zu erhalten!
Softwareteams, die sich selbst verwalten, verwenden eine größere Auswahl an Werkzeugen als je zuvor. In einem typischen Softwareteam können zwanzig oder sogar dreißig Werkzeuge im Einsatz sein. Damit Sie sich in all dem zurechtfinden, behandeln wir in diesem Artikel:
- Werkzeuge zum Testen
- Werkzeugarchitektur
- Testmanagement
- Testentwurf
- Proprietär oder Open Source?
- Eine Übung zur Werkzeugauswahl
Beginnen wir mit einem Blick auf die wichtigsten Arten von Werkzeugen, die Sie zum Testen verwenden werden.
Werkzeuge zum Testen
Die für das Testen relevanten Werkzeuge lassen sich praktischerweise in drei Arten unterteilen:
- Werkzeuge für die Zusammenarbeit: Sie unterstützen die Erfassung von Ideen und Anforderungen sowie die Kommunikation im Team mit einer gewissen Integration in automatisierte Prozesse, manchmal auch über Bots.
- Testwerkzeuge: ein großes Spektrum an Werkzeugen zur Unterstützung der Testdatenverwaltung, des Testentwurfs, von Unit-Test-Frameworks, der Ausführung funktionaler Tests, von Leistungs- und Lasttests, statischer Tests, des Testentwurfs, der Verwaltung des Testprozesses, von Testfällen sowie der Testprotokollierung und Berichterstattung.
- Werkzeuge für DevOps oder die Infrastrukturverwaltung: Diese Werkzeuge unterstützen die Verwaltung von Umgebungen und Plattformen, die Bereitstellung mithilfe von Infrastruktur als Code und Containertechnologien sowie die Protokollierung, Überwachung und Analyse in der Produktion.
Die Wissensdatenbank für Werkzeuge ist ein Online-Verzeichnis für Werkzeuge, das sich von den meisten Online-Verzeichnissen dadurch unterscheidet, dass sein Umfang die Bereiche Zusammenarbeit, Testen und DevOps umfasst. In diesen drei Bereichen gibt es über 1700 Werkzeuge. Die Webseiten der Werkzeuge sind indexiert und durchsuchbar.
Die Website bündelt und indexiert außerdem über 300 Blogger; zudem sind über 52.000 Blogs indexiert und durchsuchbar. Wir haben URLs zu den wichtigsten Werkzeugkategorien sowie Verknüpfungen für die Suche nach diesen Kategorien in den Blogs bereitgestellt.
Es gibt über 1700 Werkzeuge, die Zusammenarbeit, Testen und DevOps unterstützen.
Auf die wichtigsten Themen, die das Testmanagement beeinflussen und unterstützen, gehen wir später in diesem Artikel ein.
Werkzeugarchitektur
In der folgenden Grafik haben wir die verschiedenen Werkzeugtypen identifiziert, die von den meisten modernen Softwareteams verwendet werden. Wir haben die Werkzeuge getrennt dargestellt, die typischerweise in Entwicklungs-, Test- und Produktionsumgebungen eingesetzt werden.
Diese Werkzeuge basieren auf Infrastruktur-Werkzeugen, die Plattformen, virtuelle Maschinen und Container zum Hosten von Umgebungen bereitstellen, sowie auf Werkzeugen, die automatisierte Bereitstellungen durchführen. Die Werkzeuge zur Verwaltung von Bereitstellungen und Veröffentlichungen werden als Werkzeuge zur Orchestrierung von Veröffentlichungen und Pipelines bezeichnet. Die Kommunikation innerhalb des Teams sowie mit vielen automatisierten Prozessen wird durch Werkzeuge für die Zusammenarbeit oder ChatOps verwaltet.
Obwohl die Entwicklung und Einführung von Werkzeugen zur Unterstützung einer kontinuierlichen Entwicklung durch den Übergang zu DevOps vorangetrieben wird, sind fast alle diese Werkzeuge für jedes Softwareentwicklungs- oder Betriebsteam nützlich.

Sie müssen keine DevOps-Kultur haben, um „DevOps“-Werkzeuge zu verwenden.
Testmanagement
Testmanagement-Werkzeuge sind in allen Projekten größeren Umfangs unverzichtbar. Agile Projekte verwenden in der Regel ein Werkzeug für das Vorfallmanagement und verlassen sich bei Tests teilweise auf die Verwendung von Geschäftsanforderungen und Szenarien, um wichtige Beispiele für möglichst alle Tests nachzuverfolgen. Testmanagement-Werkzeuge unterscheiden sich in ihrem Umfang und reichen von sehr einfachen Lösungen wie Microsoft Excel bis hin zu umfassenden Produkten für das Anwendungslebenszyklusmanagement (ALM).
Im Allgemeinen erstreckt sich der Umfang von Testmanagement-Werkzeugen auf mehrere Bereiche:
Modell der Testabdeckung: Die meisten Testmanagement-Werkzeuge ermöglichen es Ihnen, eine Reihe von Anforderungen zu definieren, denen Testfälle und/oder Prüfungen in Tests zugeordnet werden können. Diese Anforderungen können manchmal hierarchisch strukturiert sein, um das Inhaltsverzeichnis eines Dokuments abzubilden. Zunehmend können auch andere Modelle, beispielsweise Anwendungsfälle oder Geschäftsprozessabläufe, erfasst werden. Berichte zur Abdeckung von Testplanung und -ausführung sind in der Regel verfügbar.
Testfallverwaltung: Testfälle und ihre Inhalte können verwaltet werden, um eine dokumentierte Aufzeichnung der Tests bereitzustellen. Die Inhalte von Testfällen können vor dem Testen vorbereitet werden oder als Aufzeichnung bereits ausgeführter Tests dienen. Testfälle können als Freitext vorliegen oder in Schritte mit erwarteten Ergebnissen gegliedert sein. Das Importieren von Dokumenten und Bildern zur Speicherung bei Tests oder Schritten ist üblich.
Planung der Testausführung: Tests können in einer Hierarchie strukturiert oder mit Schlagwörtern versehen werden, um eine dynamischere Struktur bereitzustellen. Teammitgliedern können Tests zugewiesen werden. Geplante Testdauern können verwendet werden, um einen synchronisierten Zeitplan der im gesamten Team auszuführenden Tests zu veröffentlichen. Teilmengen von Tests können ausgewählt werden, um die Abdeckung von Anforderungen zu erreichen, ausgewählte Funktionen zu prüfen und Regressionstestsammlungen erneut auszuführen. Auch als noch nicht ausgeführt, blockiert, fehlgeschlagen oder mit einem anderen Status protokollierte Tests können zur Ausführung ausgewählt werden.
Testausführung und Protokollierung: Während die Tests vom Team ausgeführt werden, wird ihr Status aufgezeichnet. Bei allen ausgeführten Tests werden der identifizierte Tester sowie Datum, Uhrzeit und Dauer vermerkt. Bestandenene Tests können einen einfachen Status „Bestanden“ erhalten. Für fehlgeschlagene, blockierte oder anomale Testergebnisse können Screenshots und Testergebnisse zugewiesen sowie ein Vorfallbericht angelegt werden. Viele Werkzeuge bieten Schnittstellen zu Testausführungswerkzeugen, die Tests verwalten und ausführen, Ergebnisse protokollieren und sogar Entwürfe von Vorfallberichten erstellen.
Vorfallmanagement: Testfehler werden im Ausführungsprotokoll erfasst. Diese erfordern normalerweise weitere Untersuchungen, einschließlich Fehlersuche und Fehlerbehebung, wenn ein Fehler durch einen Programmfehler verursacht wurde. Untersuchungsbedürftige Fehler werden üblicherweise mithilfe von Fehlerberichten als Vorfälle, Beobachtungen oder Fehler aufgezeichnet. Vorfallberichte können eine große Menge unterstützender Informationen enthalten. In der Regel werden Vorfällen ein Typ, ein Testobjekt, eine Priorität und ein Schweregrad zugewiesen. Einige Unternehmen protokollieren eine enorme Menge an Informationen und verknüpfen diese mit einem ausgefeilten Vorfallmanagementprozess.
Berichterstattung: Berichte und Analysen von Daten aus allen oben genannten Funktionen, soweit dies angemessen ist. Das Spektrum der Berichte reicht von der geplanten gegenüber der tatsächlichen Testabdeckung über den Status von Vorfallberichten zur Nachverfolgung ausstehender Untersuchungs-, Fehlerbehebungs- und erneuter Testarbeiten bis hin zu Analysen der Zeit bis zur Behebung verschiedener Fehlertypen nach Funktion, Schweregrad und Dringlichkeit und vielem mehr.
Das beliebteste Testmanagement-Werkzeug der Welt ist nach wie vor Microsoft Excel.
Testdesign
Das Testdesign basiert auf Modellen. Bei System- und Abnahmetests sind typische Modelle Anforderungsdokumente, Anwendungsfälle, Flussdiagramme oder Schwimmbahndiagramme. Technischere Modelle wie Zustandsmodelle, Kollaborationsdiagramme, Sequenzdiagramme und ähnliche bieten ebenfalls eine solide Grundlage für das Testdesign.
In vielen Projekten werden Modelle verwendet, um Anforderungen oder übergeordnete Entwürfe zu erfassen. Wenn sie Testern zur Verfügung gestellt werden, können diese die Pfade verfolgen, um Abdeckungselemente direkt aus dem Modell auszuwählen. Wenn solche Modelle nicht verfügbar sind, ist es für das Testteam oft sinnvoll, beispielsweise Prozessflussdiagramme oder Schwimmbahndiagramme zu erfassen. Diese helfen Testern, aussagekräftigere Gespräche mit Beteiligten zu führen, insbesondere wenn es um den Ansatz für die Testabdeckung geht.
Im proprietären Bereich entstehen Werkzeuge, mit denen Modelle wie Flussdiagramme erfasst und zur Generierung von Testfällen verwendet werden können, indem Pfade entsprechend einem bestimmten Abdeckungsziel verfolgt werden, beispielsweise alle Verknüpfungen, alle Prozesse, alle Entscheidungsergebnisse, alle Paare und alle Pfade. Diese Werkzeuge können mit Werkzeugen zur Verwaltung und Generierung von Testdaten verknüpft werden, um Kombinationen von Testdaten für manuelle oder automatisierte Tests zu erzeugen.
Es gibt auch Werkzeuge, mit denen die Modellierung in Testausführungswerkzeugen durchgeführt werden kann. Beispielsweise ermöglichen diese Werkzeuge dem Testentwickler, alle Felder auf einer Webseite zu erfassen, Verknüpfungen zum „Zusammenführen“ der Felder zu erstellen und ein Navigationsmodell für die Seite anzulegen – alles in einem grafischen Format.
Das Modell wird anschließend verwendet, um Navigationspfade zu erstellen und eine Testsuite zusammenzustellen, die bestimmte Abdeckungskriterien erfüllt – genau wie bei den oben genannten Modellierungswerkzeugen. Diese Ausführungswerkzeuge können anhand ausgewählter Kriterien automatisierte Testpfade erstellen oder diese zufällig generieren und außerdem die Abdeckung anhand dieser Modelle berichten.
Dies ist derzeit ein dynamischer Bereich. Achten Sie auf Modellierungswerkzeuge, die Testdesign und Testgenerierung unterstützen, sowie auf Ausführungswerkzeuge, die die Modellierung des zu testenden Systems und die Auswahl und Berichterstattung automatisierter Testpfade unterstützen.
Proprietär oder quelloffen?
In den vergangenen zwanzig Jahren war der Einsatz kostenloser und quelloffener Softwareprodukte (FOSS), insbesondere zum Betrieb von Infrastrukturen, weit verbreitet. Die Kosten für Betriebssystemlizenzen und zugehörige Webserver-Software von Microsoft sowie die allgemeine Auffassung, dass Linux/Unix zuverlässiger und sicherer als Windows ist, führen dazu, dass Linux/Unix in vielen Umgebungen das bevorzugte Betriebssystem für Server ist.
Während der Artikel die Vor- und Nachteile von quelloffenen und proprietären Tools erörtert, kann Ihnen unser umfassender Leitfaden zu Jira-spezifischen Testmanagement-Tools dabei helfen, eine fundierte Entscheidung zu treffen, wenn Sie speziell nach Lösungen suchen, die sich gut in Jira integrieren lassen.
Die beiden folgenden Tabellen (täglich auf w3techs.com aktualisiert) zeigen die relative Beliebtheit von Betriebssystemen und Webserverprodukten. Rund 85 % der Websites verwenden die bekanntesten quelloffenen Webserverprodukte Apache und Nginx.


Die Beliebtheit dieser FOSS-Infrastrukturprodukte belegt, dass quelloffene Software genauso zuverlässig oder sogar zuverlässiger als proprietäre Produkte sein kann.
Für ein Softwareteam, das zwanzig oder dreißig Softwaretools zur Unterstützung seiner Aktivitäten benötigt, gibt es zuverlässige und funktionale FOSS- sowie proprietäre Tools für jede Aufgabe. Wie entscheiden Sie sich zwischen einem proprietären und einem FOSS-Produkt?
Die folgende Tabelle fasst einige der Überlegungen zusammen, die Sie bei der Auswahl eines Tooltyps anstellen könnten.
| Proprietär | FOSS | |
| Verfügbarkeit | Tools sind für jeden Bereich verfügbar. | Einige Bereiche, insbesondere Entwicklungs- und Infrastrukturtools, werden besser unterstützt als andere. |
| Anschaffungskosten | Oft teuer, insbesondere „Enterprise“-Produkte. | Kostenlos oder bei einer Lizenz zur gemeinschaftlichen Nutzung ohne Kosten. Für Enterprise- oder gehostete Versionen können kommerzielle Lizenzen existieren. |
| Dokumentation | In der Regel sehr gut. | Unterschiedlich. Manchmal hervorragend, manchmal nicht vorhanden und alles dazwischen. Oft von Programmierern für Programmierer verfasst und daher weniger nutzbar als kommerzielle Dokumentation. |
| Technischer Support | Sehr gut, gegen Aufpreis. | Unterschiedlich. Einige Toolautoren bieten hervorragenden Support und fügen auf Anfrage sogar Funktionen hinzu. Viele Tools verfügen über Online-Foren – diese können jedoch sehr technisch sein. Andere Tools werden schlecht unterstützt. |
| Zuverlässigkeit/Qualität | In der Regel sehr gut. | Unterschiedlich. Produkte mit vielen Benutzern, Sprachversionen und großen Supportteams sind tendenziell hervorragend. Einige von Einzelpersonen verfasste Tools mit wenigen Mitwirkenden und wenigen Benutzern können unzuverlässig sein. |
| Funktionsumfang | Die Funktionsumfänge orientieren sich in der Regel an veröffentlichten Produkt-Roadmaps und sind meist umfassend. | Produkte entwickeln sich in der Regel auf Grundlage der Nachfrage der Benutzer und der Größe des Teams der Mitwirkenden weiter. Mitwirkende fügen eher Funktionen hinzu, die sie selbst benötigen, anstatt sich beispielsweise an Kundenbefragungen zu orientieren. |
| Häufigkeit von Veröffentlichungen/Patches | Zwischen größeren Veröffentlichungen liegen meist Monate, manchmal Jahre. Regelmäßige Patch-Veröffentlichungen. Warnungen und Versionshinweise sind in der Regel sehr gut. | Unterschiedlich. Größere Versionsveröffentlichungen von Infrastrukturprodukten ähneln denen proprietärer Produkte. Kleinere, weniger beliebte Produkte werden tendenziell häufiger veröffentlicht. Gelegentlich gibt es wenig oder keine Vorwarnung, mangelhafte Versionshinweise und einen Verlust der Abwärtskompatibilität. |
FOSS-Produkte sind möglicherweise günstiger in der Anschaffung, doch andere Kosten und Verantwortlichkeiten können erheblich sein. Ausschlaggebend für die Entscheidung zwischen den beiden Optionen ist in der Regel eine Mischung aus Ihrer Unternehmenskultur, Ihrer Risikobereitschaft und Ihren technischen Fähigkeiten.
Wenn Sie proprietäre Produkte und Supportverträge kaufen, sind die mit Inkompatibilität (mit anderen Produkten), Zuverlässigkeit, Benutzerfreundlichkeit und aufmerksamem technischen Support verbundenen Risiken im Allgemeinen gering, auch wenn dies manchmal teuer ist.
Bei FOSS-Produkten müssen Sie in der Regel deutlich umfangreichere Recherchen durchführen, bevor Sie sich für deren Einsatz entscheiden. Schließlich gibt es keinen Vertriebsmitarbeiter, mit dem Sie sprechen können, und die Dokumentation kann eher funktional als informativ sein. Natürlich lässt sich eine Testphase leicht einrichten und Sie können beliebig viele Tools einsetzen, aber Sie müssen die Fähigkeiten des Tools umfassender untersuchen.
Eine geringere Benutzerfreundlichkeit und Inkompatibilität mit Ihren vorhandenen Tools können Probleme verursachen, sodass Sie möglicherweise Schnittstellensoftware oder Erweiterungen sowie Dienstprogramme für Berichte oder den Datenimport und -export schreiben müssen.
Außerdem müssen Sie sich selbst und Ihr Team schulen, damit alle auf den erforderlichen Wissensstand kommen, und in der Regel Ihren eigenen Softwaresupport leisten. Ihr Team wird jedoch über umfassendere Kenntnisse der Funktionsweise des Tools verfügen und weitgehend in der Lage sein, sich selbst zu unterstützen.
Ein FOSS-Tool könnte Ihnen dabei helfen, kostengünstig Erfahrungen mit einer neuen Toolart zu sammeln. Mit dieser Erfahrung wären Sie besser in der Lage, langfristig ein proprietäres Tool auszuwählen.
Eine Übung zur Toolauswahl
Wenn Sie nach einem Testmanagement-Tool suchen, das Ihr aktuelles oder ein vertrautes, kürzlich durchgeführtes Projekt und die dazugehörige Anwendung unterstützt: Erstellen Sie auf Grundlage der oben besprochenen Funktionsbereiche von Testmanagement-Tools eine Liste mit 15–20 Funktionen, die entweder:
- obligatorisch
- wünschenswert
Dies kann funktionale Möglichkeiten, Integrationen, einen Schwerpunkt auf Benutzerfreundlichkeit, Support oder eine große Benutzerbasis sowie Online-Foren/FAQs umfassen. Wenn Sie bereits ein Tool einsetzen, wählen Sie dieses nicht aus.
Suchen Sie anhand des Textes Ihrer Anforderungen in der Tools Knowledge Base nach drei Tools (darunter ein proprietäres und ein FOSS-Produkt), die Ihren Anforderungen zu entsprechen scheinen. Erstellen Sie mithilfe der Funktionsbeschreibungen der Tools eine Funktionsvergleichstabelle für die drei Produkte. Fügen Sie zum Vergleich eine vierte Spalte für das Tool hinzu, das Sie tatsächlich verwenden.
- Wie schneiden die Tools hinsichtlich ihrer Funktionen ab?
- Welche Funktionen fehlen dem bzw. den FOSS-Tools im Vergleich zu den proprietären Tools?
- Wie viele Tools gibt es, die Ihre Anforderungen weitgehend erfüllen?
- Wie viel Zeit müssten Sie Ihrer Einschätzung nach für die Recherche nach Tools aufwenden, um eine Auswahlliste mit beispielsweise drei Tools zu erstellen?
Melden Sie sich für den Newsletter von The QA Lead an, um benachrichtigt zu werden, wenn neue Teile der Reihe veröffentlicht werden. Diese Beiträge sind Auszüge aus Pauls Leadership-In-Test-Kurs – sehr empfehlenswert für alle, die tiefer in dieses und andere Themen einsteigen möchten. Verwenden Sie in diesem Fall unseren exklusiven Gutscheincode QALEADOFFER, um $60 vom vollständigen Kurspreis abzuziehen!
Lernen Sie von anderen Testern, indem Sie unsere Podcasts anhören oder unsere Blogs lesen. Hier ist einer, von dem wir glauben, dass Sie eine Menge lernen werden: WIE TESTKENNTNISSE MICH ZU EINEM BESSEREN AUTOMATISIERUNGSENTWICKLER GEMACHT HABEN
