4 Minuten Lesezeit (767 Worte)

Mit einem guten Testmanagement und automatisierten Tests zum Projekt-Erfolg!

Zu einem erfolgreichen Projekt gehören viele unterschiedliche Faktoren. Zwei davon sind das Testmanagement und die Art und Weise der Tests. In diesem Blogbeitrag möchte ich kurz erläutern, was das Testmanagement umfasst, warum automatisierte Tests sinnvoll sind und wie beides den Erfolg eines Projektes beeinflussen kann. 

Wieso Testmanagement?

Testmanagement ist eine Form der Qualitätskontrolle. Es ist nicht das Ziel des Testmanagements eine 100%ige Testabdeckung zu forcieren, sondern vor allem das Risiko von kritischen und schwerwiegenden Fehlern zu minimieren, um damit ein insgesamt hochwertiges Ergebnis zu erzielen. Zusätzlich werden durch ein gutes Testmanagement die Kosten eines Projektes minimiert. Durch das frühe Erkennen von Fehlern können diese auch frühzeitig behoben werden. Je später Fehler in einem Projekt gefunden werden, desto kostenintensiver ist die Behebung! 

Aktivitäten und Rollen im Testmanagement

Testmanagement umfasst verschiedene Rollen und Aufgaben. Die grundsätzlichen Aufgaben innerhalb des Testmanagements sind:

  • Testrichtlinie und Teststrategie für das Unternehmen (weiter-)entwickeln und prüfen.
  • Die Tester, das Testteam und das Berufsbild Tester innerhalb des Unternehmens entwickeln und fördern.
  • Koordination von Ressourcen und des Testteams
  • Steuerung und Überwachung des Testfortschritts
  • Reporting der Ergebnisse
  • Analyse und Design der Tests
  • Bereitstellung von Testdaten
  • Durchführung/Automatisierung von Tests

Dazu gibt es innerhalb des Testmanagements zwei Rollen, die mit den unterschiedlichen Aufgaben betreut sind:

  • Testmanager
  • Tester

Der Testmanager ist hauptsächlich verantwortlich für den gesamten Prozess. Dazu gehören vor allem die Entwicklung der Testrichtlinien und Teststrategien, Koordination von Ressourcen, Steuerung und Überwachung des Testfortschritts und das Reporting. Wer die Rolle innerhalb des Teams besetzt, kann durchaus nach Projekt unterschiedlich sein. Es ist auch vorstellbar, dass der Testmanager gleichzeitig in der Rolle Tester ist.

Die Rolle des Testers umfasst dabei die Analyse und das Design der Tests, die Bereitstellung von Testdaten und die Durchführung von Tests. Dabei ist gerade der letzte Punkt „Durchführung von Tests“ nicht trivial. Anhand der Testrichtlinien sollten Tests aufgebaut, durchgeführt und das Ergebnis dokumentiert werden. Die Rolle des Testers kann innerhalb des Projektes mehrere Akteure innehaben. Bei der Softwareentwicklung sind in der Regel alle Entwickler auch Tester. Auch können externe Tester eingesetzt werden.

Erstellung eines Testfalls

Ein Testfall enthält eine Reihe von Schritten und Maßnahmen, um eine bestimmte Funktionalität der Software zu überprüfen. Die Tester sind dafür verantwortlich, die Testfälle zu erstellen. Dabei sollte jeder Testfall folgende Kriterien erfüllen:

  • Die Vorbedingungen, die zur Ausführung notwendig sind.
  • Die Eingabedaten und Aktionen, die zur Ausführung der Daten notwendig sind.
  • Sollwerte und erwartete Werte
  • Referenz auf User Story und/oder Anforderung
  • Durchführbarkeit durch Kollegen

Sollte dabei ein Schritt fehlschlagen, gilt der gesamte Testfall als fehlgeschlagen. Unabhängig davon, wie diese Testfälle erkannt und dokumentiert wurden, können gerade in der Softwareentwicklung alle diese Kriterien durch automatisierte Tests abgedeckt werden.

Testautomatisierung

Die Testautomatisierung ist Teil des Testmanagements. Sie ist nicht als Synonym zu verstehen.

Die Testautomatisierung soll vor allem dazu führen, Tests schneller, transparenter und häufiger auszuführen und dabei alle Kriterien der Testfälle abdecken.

Dabei kann man die Tests in verschiedene Kategorien einteilen:

  • Unit-Tests
  • Integrationstests
  • End-To-End Tests

Ein einfacher Unit-Test erfüllt dabei schon alle Kriterien: Als Entwickler prüft man die Vorbedingungen, kennt die Eingabedaten und die ausgeführte Aktion und vergleicht das Ergebnis mit dem erwarteten Ergebnis. Gleichzeitig kann jeder dieser Tests von jedem Kollegen ausgeführt werden.

In der Softwareentwicklung stehen eine Vielzahl von Tools zu Erstellung von automatisierten Tests bereit. Es ist Aufgabe der Tester, die richtigen Tools zu identifizieren und zu nutzen. Dabei spielen Richtlinien des Unternehmens, bereits eingesetzte Tools und das Know-how des Teams eine wichtige Rolle.

Zusätzlich können unterschiedliche Kategorien der Tests in unterschiedlichen Phasen des Testzyklus durchlaufen werden. End-To-End Tests erfordern, dass alle Systeme, auch Fremdsysteme, vorhanden sind. Das ist aber bei der Entwicklung eines neuen Features erstmal schwierig. So können während der Entwicklung vor allem Unit-Tests sofort ausgeführt werden. End-To-End Tests und Integrationstests hingegen, werden in den dafür vorgesehenen Umgebungen ausgeführt. Zum Beispiel auf einem dedizierten Buildserver, nachdem Änderungen auf diesen hochgeladen wurden (Continuous-Integration)

Somit lässt sich festhalten, dass in Entwicklungsprojekten die Testautomatisierung ein zentraler Bestandteil des Testmanagements ist. Die Tester sind in der Verantwortung, die Tests zu automatisieren und korrekt zu kategorisieren. An dieser Stelle möchte ich nochmals darauf hinweisen, dass bei der Softwareentwicklung, die Entwickler auch gleichzeitig Tester sind oder zumindest immer sein sollten. Sie sind in der Verantwortung, die erste Stufe der Tests, die Unit- und Integrationstests, zu erstellen.

Fazit

Ein gut durchdachtes Testmanagement und automatisierte Tests helfen dabei frühzeitig Fehler zu erkennen, Kosten für die Behebung zu minimieren und somit insgesamt die Qualität eines Softwareprojektes zu steigern. Zusätzlich können Entwickler mit einer viel größeren Sicherheit neue Features erstellen, ohne bestehende Funktionalitäten zu brechen. Somit ist ein von Anfang an gelebtes Testmanagement ein wichtiger Teil jedes Softwareprojektes. 

Seminarempfehlung

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Freitag, 01. März 2024

Sicherheitscode (Captcha)

×
Informiert bleiben!

Bei Updates im Blog, informieren wir per E-Mail.

Weitere Artikel in der Kategorie