Verankerung des Testings in verschiedenen ...€¦ · V-Modell Scrum Code & Fix Flexibilität -- -...

Post on 15-Jun-2020

0 views 0 download

Transcript of Verankerung des Testings in verschiedenen ...€¦ · V-Modell Scrum Code & Fix Flexibilität -- -...

Verankerung des Testings in verschiedenen Projektmanagement Methoden

Dominique Portmann, Leiter Business Unit TestingDenis Druzic, Leiter Business Unit Projekte

Misslungene Projekte

• «Barcode-System mit Lesefehler» Automatisierungslösung bei der britischen Supermarktkette

• «Den rechtzeitigen Ausstieg verpasst» Automatisierung der Fahrzeugzulassung

• «Für ein neues Informatiksystem muss das Stadtzürcher Sozialdepartement fast 30 statt 11 Millionen Franken aufwenden»

Untersuchungen von Standish Group, Gartner Group und Center for Project Management

• ca. 23 % aller Softwareprojekte erfolgreich

• ca. 53 % aller Softwareprojekte über Budget und/oder über Zeit

• ca. 24 % aller Softwareprojekte abgebrochen.

… dabei wäre es so einfach…

… oder doch nicht

Controlling

KommunikationQ-Management

Konfliktmanagement

Planung

Testing

Ressourcen

Prozess

Ziel

• ca. 23 % aller Softwareprojekte erfolgreich

• ca. 53 % aller Softwareprojekte über Budget und/oder über Zeit

• ca. 24 % aller Softwareprojekte abgebrochen.

TestingProzess

Traktanden

• Vorstellung Referenten• Software-Entwicklungsprozesse

Wasserfall V-Modell Agil (Scrum)

• Verankerung des Testings im Software-Entwicklungsprozess• Schlusswort• Fragen

Referenten

• Dominique Portmann Leiter Business-Unit Testing bei Noser Engineering AG

• Denis Druzic Leiter Business-Unit Projekte bei Noser Engineering AG

Software-Entwicklungsprozesse vs. «Code & Fix»

Pro Contra

Relevanten Prozesse sind abgebildet

Modelle sind oft vermischt

Vorgehen ist zielgerichtet Objektivität ist nicht vorhanden

Das WAS und WIE ist getrennt Keine Kreativität zugelassen

Software-Entwicklungsprozesse

Wasserfall

Pro ContraAufgaben sind klar umrissen Grundannahme: Keine ÄnderungenAblauf ist vorgegeben … sequentielles Vorgehen nicht

immer sinnvollVorgehen ist dokumentenorientiert Frühe Fehler haben schwere Folgen

Annahme:Kunde kann in Anforderungsanalyse alle Anforderungen vollständig & richtig definieren

V-Modell

Pro ContraDeckt komplettes Projekt ab Testaktivitäten finden spät statt

Detaillierte Vorgaben sind vorhanden

Ohne CASE Tools ist das Vorgehen nicht handhabbar

Tailoring ist möglich Der Phasenablauf ist zu strikt

Erweiterung des Wasserfallmodells um Aspekte der Qualitätssicherung

Agile Methode (Scrum)

Pro ContraVorgegangen wird nach Prioritäten Der Gesamtüberblick fehlt

Funktionsfähiger Zwischenstand ist vorhanden

Die Zuständigkeiten sind ungeregelt

Flexibilität ist gewährleistet Jeder muss alles können

- Individuen und Interaktionen mehr als Prozesse und Werkzeuge- Funktionierende Software mehr als umfassende Dokumentation- Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung- Reagieren auf Veränderung mehr als das Befolgen eines Plans

Und die Realität

BilligerTermingerechterBudgetierterBesser

Und gleichzeitig offen für Veränderungen sein

Vergleich

Wasser-fall

V-Modell Scrum Code & Fix

Flexibilität -- - ++ ++Change -- - ++ +Planbarkeit ++ ++ + --Abbruchs-möglichkeiten

-- - ++ +

Quick and Dirty -- -- -- ++Umgang mit formalen Anforderungen

++ ++ - --

Skalierung ++ ++ TeamMindestgrösse

-

Entscheidungsgraph

08.10.2012

Projekt Prozess NoEngPro – Übersicht

Vorbereitung

Gate 1Gate 1 Gate 2Gate 2 Gate 3Gate 3 Gate 4Gate 4

V+K+R+E1 V+K+R+E2 V+K+R+En

Engineering / Projekt(Fokus Umsetzung)

BetriebVerkauf(Fokus Angebot)

• Spez. Endprodukt-Vision (WAS)

• Requirements• Spezifikation

Anwendungsfälle• Definition

Projektumfang• Kosten + Risiken

vorhersagen• Projektauftrag• Kickoff

• Lösung entwerfen (WIE)

• Eigenschaften defin.• Architektur Design• Prototyp erstellen• Entwurf verifizieren• Tests entwerfen

• Lösung erstellen• Test der Lösung• Integrations-Test• Doku + Training erstellen• Release-Beschreibung

• Auslieferung + Integration

• Überprüfung Leistungs-Erfüllung

• Training durchführen

• Support sicherstellen

• Kundenabnahme

• wicht. Anforder. + erwarte. Leistungen

• Grobkonzept erarbeiten

• Realisierbarkeit klären

• Grob-Kalkulation Aufwand + Kosten

• Risiken beurteilen

BuyingCenter

AnalyseBedürfnisseGrobkonzept Vorbereitung Konzipierung Realisierung

Initiierung Definition

Wartungs-Projekt

Wartungs-Projekt

Wartung Support

Einführung

Verkaufs-BetreuungVerkaufs-Betreuung

Vorbereitung K+R1 EnK+RnE1

V+K+R+E3

K+R2 K+R3

Agil:Agil:

Evolutionär:Evolutionär:

Iterativ:Iterativ:

Vorbereitung K1Phasen:Phasen: R1 E1

Nachfolge-Projekt

Nachfolge-Projekt

EndeEnde

TailoringIn Absprache mit dem Kunden den Projekt-Ablauf definieren

Inbetriebn. Erprobung

Gate -1Gate -1 Gate 0Gate 0Gate -2Gate -2

AngebotAngebot

AngebotAngebot

G-2: Verfolgen?Aufwand in Vorabklär. investieren?

VorprojektVorprojekt

V-003-FV-003-F

Vorbereitung K+R K+R K+R+E1K+R

Testing

• Dank SRCUM benötigen wir kein Testteam (mehr)es kann Jede und Jeder alles

• Wir entwickeln agil, da brauchen wir doch keine Anforderungen

• Wir arbeiten in Iterationen, jede ist lauffähig,da benötigen wir doch keine Testfälle

• Testen, das gab es doch bei Wasserfall, und das ist veraltet

was ich immer wieder höre:

Keine Zeit,Ich muss das Huhn jagen!

und was ich dabei als Tester denke:

Testen unterscheidet sich von Experimentieren dadurch, dass es beim Testen eine Erwartung gibt die belegt werden soll,

während das Ergebnis beim Experimentieren offen istoder nur vermutet werden kann.

Was ist den eigentlich «Testen» ?

Ein Softwaretestprüft und bewertet Software auf Erfüllungder für ihren Einsatz definierten Anforderungenund misst ihre Qualität.

Quelle: WIKIPEDIA

Ein Softwaretestprüft und bewertet Software auf Erfüllungder für ihren Einsatz definierten Anforderungenund misst ihre Qualität.

Quelle: WIKIPEDIA

Was ist den eigentlich «Testen» ?

Frage:ist Prüfen und Bewerten abhängig von einer Projekt – Methode ?

Ein Softwaretestprüft und bewertet Software auf Erfüllungder für ihren Einsatz definierten Anforderungenund misst ihre Qualität.

Was ist den eigentlich «Testen» ?

meine Behauptung

Der Sinn und Zweck des Testens ist unabhängig von einer angewandten Projekt – Methode.

Projektmethoden haben keinen Einfluss auf diegrundsätzlichen «Eckpfeiler des Testens» !

ist das nicht zu einfach ?

Eine weitere Definition von Testen

Weitere Testaktivitäten sind vor und nach der Testdurchführung angesiedelt.

Dazu gehören: Planung und Steuerung der Tests, Auswahl der Testbedingungen, Testfallspezifikation, Ausführung der Testfälle,Überprüfung der Ergebnisse, Auswertung der Ausgangskriterien, Berichten über den Testprozess und das zu testende System sowie nach Abschluss einer Testphase Abschlussarbeiten zu Ende zu bringen.

Auch nach der Definition des STB, sind die eigentlichen Testaktivitäten unabhängig einer Projekt – Vorgehensmethode,

-> Die angestellte Vermutung scheint sich zu bestätigen.

Der Einfluss von Projekt – Methoden auf’s Testen ?

und hier kommt das «Aber»:In der STB-Beschreibung wird explizitdas Planen und das Steuern der Tests erwähnt.

Und hier kann ich aus meiner Erfahrung behaupten:

«hier liegt der Hund begraben»

Der Einfluss von Projekt – Methoden auf’s Testen ?

Der Einfluss auf eigentliche Testtätigkeit ist irrelevant,

aber der

Einfluss auf die Testplanung, das eigentliche Testmanagement ist «Match – entscheidend».

Der Einfluss von Projekt – Methoden auf’s Testen ?

• Das Testen eine eigene Phase ist, somit erscheint es zu Projektbeginn bereits in der Planung, wird dadurch budgetiert und findet dann in der Regel auch statt

• Die Testgruppe hat viel Vorlauf zum Aufbau einer geeignetenInfrastruktur mit Testdaten

• Mit dem Beginn der Testphase ist die Entwicklung abgeschlossen und somit das System stabil

Vorteile von Wasserfall

Wasserfall: die Herausforderungen für’s Testen

• Test- und Entwicklungsteam ist getrennt, es gibt 2 Welten

• Die Test-Teamorganisation ist zu Projektbeginn unklar

• CRs erreichen oft nur die Entwickler, Tester prüfen gegen veraltete Anforderungen

• Da das Testen am Schluss erfolgt, wird es gekürzt(Budget, Personal, Zeit)

• Das Testen beginn zu spät,es kann zuwenig (breite / tiefe) getestet werden, kritische Fehler können oft nicht korrigiert und sicher nicht erneut getestet werden

Herausforderungen für’s Testen im agilen Umfeld

• Anforderungen werden nicht genügend und ungenau definiert

• In der Euphorie des Codeschreibens geht dasErstellen von Testfällen unter

• Es fehlt die Rolle des Testmanagers

• es gibt kein geeignetes Reporting

• Mit jeder Iteration wächst der «zu testende Teil» Regressionstest’s ( siehe Planen der Tests)

Ein geeignetes, oder geeignet parametrisiertes Tool liefertund verwaltet aktuelle Kennzahlen,unabhängig vom Projektmodell.

Der Test-Prozess bestimmt den Ablauf des Testens.Hier hat die Projekt - Methode den grössten Einfluss,doch genau getrachtet, bleibt der Testprozess in sich stabil.

Der ultimative Schlüssel zum Erfolg ist und bleibt ein geeigneter Testmanager, eine engagierte Testmanagerin, denn Testen muss organisiert und geführt werden!

Was macht professionelles Testen aus:Die «Dreifaltigkeit»

Der Testprozess

• Was kann passieren im Fehlerfall(Menschenleben, Gesundheit, Reputation)

• Frage der Haftung• Wie lange „lebt“ das Produkt• In welchem Umfeld wird es eingesetzt• Wie „komplex“ ist das Produkt• Was kostet das Produkt• Gibt es Gesetze, Normen, Vorschriften• Welchen «Standard» haben vergleichbare Produkte• In welcher «Liga» wird das Produkt lanciert

Analysieren: Den Horizont öffnen

Der Testprozess

Vorbereiten: eine gute Planung

Planen Sie auch bei SRUMverschiedeneTesttypen ein

Backlog !

Der Testprozess

auch Test’s können agil erstellt werden

UserStory

TC1

Iteration 1 Pro UC ein TC, im Minimum der Titel plus ev. Testziel

Iteration 2 Hauptvariante mit genauer Beschreibung des AblaufsMögliche Varianten mit Titel beschrieben

Iteration 3 Hauptvariante mit Daten ergänzen (Grenz- u. Negativwerte) Ziel: Personenunabhängig!

Iteration 4 Weitere Varianten mit Beschreibung und Daten,Automatisierung prüfen,ev. reine Testiteration einbauen!

Idee:Auch die Testspez. wächst iterativ….

Die 4 Schlüsselfragen

Analysieren

Übersicht schaffenErfassen der Komplexität sowie des Umfangs

Um wasgeht es

Attention Risiko, Kosten,Umfang

Schlüssel-Frage

Kosten / Nutzen

Vorbereiten

„Definition of done“,Überprüfbarkeit,Abläufe definieren,

GenügendAbdeckung, relevanteTests, Fortschritt

Sind wir bereit ?

Durchführen

Schnell eine Übersicht schaffen,wichtiges zuerst

Schnell sog. Blockeridentifizieren,Abdeckung sicherstellen,Testfortschritt

Ist es reif ?

Auswerten

Mit Kennzahlennachweisbarbelegen

Wertfrei,faktenbasiert,reproduzierbar,Nachweis (Haftung)

Wagen wir es ?

Der Sinn und Zweck des Testens ist unabhängig von einerangewandten Projekt – Methode, Projektmethoden haben keinen Einfluss auf die grundsätzlichen «Eckpfeiler des Testens» !

Jedoch muss die Organisation / der Ablauf des TestensRücksicht auf die angewandte Projektmethode nehmen!

Entscheidend für den Erfolg ist das Zusammenspielder beteiligten Personen.

Der Einfluss von Projekt – Methoden auf’s Testen ?

NOSER ENGINEERING AGD4 Platz 46039 Root-Längenbold

+41 41 455 66 11 phone

dominique.portmann@noser.comdenis.druzic@noser.comwww.noser.com