QA Circle Diagram

Eine gute Qualitätssicherung besteht immer aus einem Bündel an Tätigkeiten. Diese Tätigkeiten werden oft von mehreren Gruppen (“Abteilungen”, “Job Titles”) überlappend wahrgenommen.

Manchmal ist es gar nicht so einfach, jedem seine Verantwortlichkeiten klar zu kommunizieren. Folgendes Diagramm kann dabei helfen:

TestCircle

Im Kreis sind die verschiedenen Testarten angeordnet – zur Klarheit noch einmal kurz erläutert:

Unit Tests – Tests, die von den Entwicklern effektiv als Teil des Quellcodes angesehen werden.

Manual FN Tests – Manuelle Funktionstests, die verifizieren, ob die Software fehlerfrei läuft, nicht jedoch ob sie für den Anwender sinnvoll ist.

Load Tests - Testet, ob die Software unter hoher Last skaliert bzw. wie dann die Performance sich verhält. Setzt Automatisierung voraus.

E2E – End-to-End Tests - Automatisierte Tests, die auf der GUI aufsetzten bzw. dem “externen Interface” der Software. Zumeist als Gegenstück zu Unit Tests gesehen.

Beta Tests - Validiert, ob die Software sich in realen Anwendungsszenarien gut und nützlich verhält.

Eine Organisation könnte nun diese Tätigkeiten auf folgende Rollen verteilen:

Dev (Entwickler)

Parallel zur Entwicklung entstehen Unit Tests. Diese werden ausschließlich von Entwicklern gewartet. Entwickler sind teilweise auch für funktionalen Test zuständig, sowohl für eigenen Code, als auch Features anderer Entwickler. Das kann wertvoll sein, da sie natürlich Zugriff auf alle technischen Details und einen anderen Blickwinkel als Blackbox-Tester haben. Aber auch in Beta-Tests sollten Entwickler involviert sein. Entwickler sollten in der Lage sein, als Endanwender die Software in verschiedenen Szenarien zu nutzen.

QA (Qualitätssicherung)

Die QA-Leute übernehmen den Hauptteil des manuellen funktionalen Tests und kümmern sich um alle Blackbox-Automatisierungen, denn dafür ist sehr spezielles Wissen nötig, über das z.B. Entwickler normalerweise nicht verfügen. Auch Tester sollten Beta-Tests durchführen können. Da dies jedoch auch von anderen Rollen gemacht werden kann, werden sie dort i.d.R. am wenigsten benötigt.

Company Staff

Mitarbeiter des eigenen Unternehmens, die die Software einsetzen, sollten als Beta-Tester Feedback zur Tauglichkeit der Software geben. In andere Testaktivitäten sind diese nicht einzubinden.

Early Adaptors

Ausgewählte Kunden erhalten Zugriff auf Beta-Versionen und geben Feedback zur Tauglichkeit der Software. Wenn funktionale Fehler auffallen, werden diese von der QA-Gruppe im Detail geprüft und reproduziert, bevor sie an die Entwicklung weitergegeben werden.

Fazit

Welche Testarten und mit welchem Anteil man für sinnvoll erachtet, ist individuell zu entscheiden. Einzelne Personen können natürlich auch tendenziell in mehreren Gruppen verortet sein, wobei diese Tendenz natürlich abnimmt, je größer die Organisation ist.

Ich werde diese Grafik demnächst als festen Teil der Teststrategie aufnehmen und somit für Klarheit in meinen Projekten sorgen!