Im Seminar wird vermittelt, warum ein Testmanager sich auch mit der Architektur auseinandersetzen sollte und wie man Architekturansätze richtig interpretiert. Damit kann er diese Erkenntnisse über die Architektur nutzen und die Teststrategie in Bezug auf die Effektivität und Effizienz des Testens optimal ausrichten, um letztlich Kosten zu sparen.
Die Teilnehmer/innen lernen die Grundlagen des Erstellens einer Softwarearchitektur kennen und wie man diese Informationen nutzt, um die Teststrategie zu verbessern.
Eine Architektur gibt dem Testmanager schon sehr früh wertvolle Hinweise, warum und wo unterschiedlich intensiv getestet werden sollte.
Dazu gehört, den Prozess (inkl. Rollen) zu verstehen und zu durchlaufen, der notwendig ist, eine Architektur zu entwickeln.
Wichtige Elemente bzw. Phasen dieses Prozesses sind:
-
Systemabgrenzung
Hierbei wird untersucht, welche Teile des Systems gestaltbar sind und wo Randbedingungen liegen, die als gegeben hingenommen werden müssen. Im Seminar wird erklärt, warum dazu eine konsolidierte Sicht von Testmanager und Architekt notwendig ist und wie man diese Konsolidierung erreichen kann.
- Wechselwirkungen
Aus den Randbedingungen, den Anforderungen und den Architekturzielen ergeben sich in Summe die Einflussfaktoren.
Diese stehen meist in Wechselwirkungen zueinander. Da alle Einflussfaktoren aufgrund der Wechselwirkungen zueinander oft nicht 100 % erfüllt werden können, stellt eine Architektur immer auch einen Kompromiss dar. Dieser Kompromiss (oder auch die Kompromisse) führen letztlich zu Risiken, die pro-aktiv auch vom Testmanager ausgesteuert werden müssen.
- Fachliche Architektur
In diesem Schritt wird das System zunächst fachlich in Bausteine zerlegt. Diese Zerlegung ist wichtig, um die Komplexität des Systems beherrschbar zu machen.
Hierbei ist das Ziel, bereits in der Fachlichkeit zusammenhängende Teile zu identifizieren und entsprechend ihrer fachlichen Nähe und Abhängigkeiten zu gruppieren.
Schon diese fachliche Modellierung gibt erste wichtige Hinweise auch über die spätere Teststrategie:- Von welchen fachlichen Bausteinen sind viele andere abhängig? Das lässt erste Risikoaussagen zu.
- Ist das System ausgewogen geschnitten?
- Wo werden Schnittstellen liegen?
- Konnten Architekturprinzipien und Heuristiken eingehalten werden. (z.B. Kohäsion)?
- Technische Architektur
Während die fachliche Architektur mehr dazu dient das „Was″ näher zu untersuchen, zeigt die technische Architektur das "Wie".
Umgesetzt wird die technische Architektur meist unter Verwendung von Mustern, die bzgl. der Erfüllung von nicht funktionalen Anforderungen Stärken und Schwächen aufweisen.
Diese geben dem Testmanager weitere Hinweise, wie die Testrategie ausgerichtet werden muss. Stärken sollten bezüglich der Erfüllung verifiziert werden, Schwächen näher untersucht und durch Tests quantifiziert werden.
- Rolle des Architekten
Wichtig ist, dass zum Prozess auch die Rolle des Architekten gehört. Er hält die Fäden in der Hand und triggert, dass die entsprechenden Tätigkeiten auch gemacht werden. Es ist daher essenziell wichtig, das Testmanager und Architekt eng zusammenarbeiten.
Inhalt des Seminars (Übersicht):
-
Wie sieht der Architekturprozess aus?
Dieses Kapitel vermittelt die Grundlagen, die ein Testmanager kennen muss, damit er sich effektiv und effizient in die richtigen Prozessphasen einbringen kann. - Zusammenarbeit Architekt und Testmanager.
Es wird vermittelt, warum beide Rollen eng zusammenarbeiten sollten und wo der jeweilige Nutzen einer engen Zusammenarbeit liegt. - Wechselwirkungen von Einflussfaktoren und Risiken.
Der Zusammenhang zwischen Wechselwirkungen, Kompromissen und Risiken wird erklärt. Dies erlaubt eine stärker objektivierte Zuordnung von
Risiken (entgegen einer rein subjektiven Risikozuordnung), und effektivere Auswahl eines Testvorgehens. - Methoden zum Testen der Einhaltung von Prinzipien.
Allgemein formulierte Architekturprinzipien, die auch zunächst vorgestellt werden, und deren Einhaltung dienen der Qualität des Endprodukt.
Werden Prinzipien verletzt und ist der Testmanager davon informiert, können Tests zur Absicherung darauf ausgerichtet werden.
Hier werden auch neue Methoden und Testvorgehen vorgestellt. - Methoden zum Testen der Stärken und Schwächen von verwendeten Mustern.
Wichtige Muster, deren Stärken und Schwächen werden vorgestellt und es werden zum Teil neue Testmethoden und -verfahren vorgestellt, wie das Testobejekt hinsichtlich der Stärken und Schwächen der verwendeten Architekturmuster getestet werden kann. - Komponentenspezifische Wahl der Abdeckungsziele.
Es wird motiviert, dass nicht alle Komponenten einer Architektur in gleichem Maße einen Anteil an der Realisierung funktionaler und insbesondere nichtfunktionaler Anforderungen haben.
Den Teilnehmern wird vermittelt, wie sie dieses Wissen nutzen, um die Zielvorgaben für Testabdeckungen zu optimieren, da nicht immer und überall eine Zielvorgabe von 100 % eine effektive Wahl ist. - Ausrichten der Teststrategie in Bezug zur Architektur.
Alle Ergebnisse und Erkenntnisse werden nochmals zusammengetragen und es wird gezeigt, wie daraus eine Teststratgie bzw. ein Testvorgehen formuliert werden kann. - Fallbeispiel zum praktischen Anwenden der Methodik.
Alle Kapitel werden mit einer durchgehenden Übung begleitet, die den Teilnehmern insbesondere Raum für Diskussionen und gegenseitiges Lernen aus der Praxis ermöglicht.
So wie es mittlerweile Standard ist, dass Entwickler und Tester eng zusammenabeiten, sollten auch auf der abstrakteren Ebene Testmanager und Architekten zusammenarbeiten. Dieses Seminar vermittelt das Wissen und die Ansätze dazu, damit dies effizient und effektiv umgesetzt werden kann.
Anmeldungen sind mit dem neuen Software-Quality-Programm ab sofort über die Website möglich.
Ein erstes öffentliches Seminar wird bereits Ende Q1/2019 angeboten.