Achim Krallmann Expleo

Wo programmiert wird, muss auch getestet werden. Die Schnittstelle ist somit auch in einer aufzubauenden Testumgebung zu testen.

Anforderungen werden in Projekten meist immer noch sprachlich verfasst und dokumentiert. Das gilt auch für agile Projekte, die zwar über Epics und User Stories eine leichte Formatierungsvorlage bereitstellen, aber bei der Detaillierung ebenfalls auf natürliche Sprache setzen. Bei einem Testfall sieht das ein wenig anders aus.

Testfälle haben eine eindeutige Struktur mit Vorbedingen, Testschritten, erwarteten Ergebnissen und Nachbedingungen. Die Frage, die sich in einem Projekt häufig stellt, ist: Wie können aus den Anforderungen sinnvoll Testfälle abgeleitet werden? Dieser Artikel schlägt folgenden Weg vor: Es werden Anwendungsfälle erstellt, die alle Anforderungen abbilden und aus denen Testfälle auf eindeutige Art und Weise abgeleitet werden können. Diese Testfallgenerierung aus Anwendungsfällen kann dann mit einem zu programmierenden Algorithmus automatisch und somit ohne manuellen Aufwand erledigt werden. Legen wir los!

Ausgangslage

Sind die Anforderungen in einem Projekt erst einmal erhoben, dienen sie als Input für die Entwicklung der Software und als Basis für die Testfallerstellung zum Testen dieser Software. So sehen es zumindest die klassischen Softwareentwicklungsprozesse vor. Auch im agilen Fall findet die Entwicklung parallel zu der Testfallerstellung und zusätzlich noch parallel zum Testen statt. Auch hier wird vorab eine wie konkret auch immer ausgeprägte Phase der Anforderungsermittlung durchgeführt, in der der Product Owner seine Epics bzw. User Stories definiert.

In klassischen Projekten liegen die Anforderungen häufig natürlichsprachlich formuliert vor, zusammengefasst in Word-Dokumenten oder Excel-Tabellen. Die Herausforderung bei der Testfallerstellung ist es nun, aus den Anforderungen, die entweder umgangssprachlich formuliert vorliegen oder über User Stories definiert wurden, sinnvolle Testfälle zu erstellen, die zumindest sicherstellen, dass alle Anforderungen mit Testfällen abgedeckt sind und somit später auch getestet werden können. Hier ist schon die erste Problematik angesprochen, die es zu berücksichtigen gilt: die Nachverfolgbarkeit (Traceability) von Anforderungen zu Testfällen und umgekehrt. Nur über diese Nachverfolgbarkeit kann überprüft werden, ob auch alle Anforderungen mit Testfällen abgedeckt werden und welche Testfälle gegebenenfalls angepasst werden müssen, falls sich Anforderungen ändern.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 8.19 - "Apps - schick und sicher"

Alle Infos zum Heft
579898728Anwendungsfälle als Schmiermittel zwischen Anforderungen und Testfällen
X
- Gib Deinen Standort ein -
- or -