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
[email protected]@noser.comwww.noser.com