Die Rollen in der Software-Entwicklung

In diesem Blog-Post beleuchten wir die verschiedenen Akteure.
Diese Rollen sind Ihnen wahrscheinlich wohlbekannt, sie sollen dennoch einmal kurz umrissen werden, letztlich auch, damit die Namensgebung klar wird.

Die Rollen sind im Wesentlichen die folgenden:

1. der Product Owner / der Produktverantwortliche
Der Produktverantwortliche bestimmt die Zielrichtung, in die ein Projekt entwickelt werden soll. Diese Zielrichtung kommuniziert er in Form eines Lastenheft an die Entwicklung, damit diese für ihn das Produkt entwickelt.
2. Der Entwickler
Er setzt das Lastenheft um, um eine bestehende Software zu erweitern, oder um eine Software von Grund auf zu entwickeln.
Bis auf das Lastenheft ist er frei in der Wahl seiner Mittel.
3. Der Qualitätssicherer / Tester
Die Software-Qualitätssicherung ist dafür verantwortlich, sicherzustellen, dass das Lastenheft umgesetzt wurde. Bei einem bereits bestehenden Produkt stellt er darüber hinaus sicher, dass die alte Funktionalität immer noch gegeben ist.

Je nach Größe eines Projekts kommen noch verschiedene Rollen zum Tragen, sei es eine Dokumentationsabteilung, eine Support-Abteilung, eine Marketing-Abteilung.
Je größer das Projekt, desto notwendiger ist eine Projektsteuerung, besetzt durch einen Projekt-Manager.

Die oben explizit genannten Rollen stehen in ständigem Austausch miteinander, um gegebenenfalls Änderungen am Zielprodukt vornehmen zu können, wenn sich die Umstände ändern.

Software-Testing – Warum und Wie?

Warum Software-Testing?

Wenn vom Software-Test die Rede ist, kommen häufig Fragen auf, warum explizite Tests erforderlich seien. Man habe doch beim Entwickler gesehen, dass die Software die gestellte Aufgabe erfüllt und auch im Prototypen sieht doch alles gut aus.
Software-testing
Software-Tester bei der Arbeit

Das muss doch reichen?

Die „Zunft“ der Software-Tester und Test-Verantwortlichen sieht diese Punkte als zwingende Testteile, doch sind noch weitere Fragestellungen im Software-Test zu beachten.
Zunächst wollen wir uns darauf einigen, dass ein Test immer einen Vergleich zwischen einem Soll-Zustand und einem Ist-Zustand darstellt.
Der Soll-Zustand sind die Anforderungen, die an die Software gestellt werden, der Ist-Zustand ist das zu liefernde / gelieferte Software-Produkt.
Die Anforderungen sind zum Teil impliziter Natur („die Software soll nicht abstürzen“, „die Software soll die umgebende Hardware nicht beschädigen“, „die Software soll sicher sein“, „die Software soll intuitiv bedienbar sein“).
Diese Anforderungen werden häufig nicht formuliert oder näher spezifiziert.

Wie funktioniert Software-Testing?

In der Spezifikation, dem Lastenheft findet man jedoch die expliziten Anforderungen.
Auf Basis Ihrer Anforderungen entwickeln wir für sie den Testplan.
Dieser Testplan soll reproduzierbare Testergebnisse liefern, sowohl jetzt wie auch in 5 Jahren.
Abgrenzen muss man noch den Begriff des Testens von der Fehlersuche:
Der Test ist ein Soll-/Ist-Vergleich, dessen Detailgrad von der Tiefe des Testplans abhängig ist. Der Test kann Abweichungen („Bugs“) zu Tage führen, die der Entwickler dann untersuchen kann. Ein Test ist aber in der Regel keine detaillierte Fehlersuche oder eine Bereitstellung einer Lösung. Diese obliegt dem Entwickler, der Tester kann lediglich einen Vorschlag machen.
Dies dient der Wahrung des 4-Augen-Prinzips und der Objektivität des Testers.
Umfang des Software-Testing
Angebotsübersicht zur Software-Qualitätssicherung