Requirements Engineering – Ein Erfahrungsbericht

Werbung
Projektmanagement aus der Praxis der Softwareentwicklung
Vorlesung im Wintersemester 2013/14 an der Technischen Universität Dortmund
4. Vorlesung am 24.11.2014: Qualitäts- und Risikomanagement
Dr. Thomas Kunstmann / Oliver Hakim
1
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Kurzprofil Oliver Hakim
Oliver Hakim
Lead Business Consultant
Ausbildung: Diplom-Wirtschaftsinformatiker
Geburtsjahr: 1980
Daten und Fakten
Beruflicher
Werdegang
• 2005 – 2012
sd&m / Capgemini, Consultant
• 2012 – heute
msg systems ag, Business
Consultant
2
Methodische
Schwerpunkte
• Requirements Engineering
• Fachliche Spezifikation
• Testmanagement
Fachliche
Schwerpunkte
• Logistik
• Handel
Oliver Hakim
© msg systems ag, 24.11.2014
AGENDA
1. Qualitätsmanagement
2. Testmanagement
3. Risikomanagement
3
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
AGENDA
1. Qualitätsmanagement
2. Testmanagement
3. Risikomanagement
4
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Was ist Qualität ?
… z.B. bei einem Auto?
„una bella macchina“
Sicher und zuverlässig
Umfangreiche Funktionalität
Qualität ist „subjektiv“  individuelle Anforderungen!
abhängig von Kultur, Branche, Vorgaben, Bedürfnisse, Erfahrung, Interessen…
Produkt- / Projekt- & Prozessqualität
Qualität ist das Ausmaß, in dem die Eigenschaften denen der Anforderungen genügt
Definierte und erwartete Anforderungen beachten !
Anforderungen werden im Lastenheft, Grobkonzept oder Anforderungskatalog definiert.
5
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
PDCA-Zyklus – Deming-Kreis
Produkte werden in Prozessen erstellt  Prozesse können optimiert werden.
• Planung der Verbesserungsmöglichkeit
Plan
• Messmetriken festlegen
• Lessons learned
• Verbesserungen
übernehmen
Act
• Ergebnisse Vergleichen
(Soll-Ist-Vergleich)
Do
• Durchführen
• Dokumentation
Check
• Ursachen ermitteln
Der PDCA-Zyklus zur kontinuierlichen Verbesserung
der Qualität durch Fehlersuche und Problemanalyse
6
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Qualitätsmanagement
Qualitätsmanagement (QM)
•
Leiten und Lenken einer (Projekt-)Organisation bezüglich Qualitätskriterien.
Qualitätsmanagement-Teilaufgaben
Qualitätsplanung
Qualitätslenkung
Qualitätssicherung
Qualitätsverbesserung
• Bestimmen der
Qualitätsmerkmale
(Anforderungen in
Pflichtenheft, Normen)
• Q-Plan umsetzen
• Überwachen der
Wirksamkeit
umgesetzter
Maßnahmen
• Erfahrungssicherung
• Steuerung durch
Soll-Ist-Analyse
• Verbesserung des Vorgehens
• Projektmanagement-Audits
• Messgrößen definieren
• Ursachen finden
• Projektreviews
• Vorgehen definieren in
PSP, Meilensteine mit
Quality Gates
• Maßnahmen
initiieren
• Projektaudits
• Verantwortlichkeiten
7
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Qualitätsmanagement adressiert alle Phasen und Teile des Projektes
Produkt
Anforderungen: Kunde, Branche, Normen, Gesetze
Vermeidung von Risiken und Fehler
Produktrealisierungs-Prozesse
Produktentwicklungsphasen
Projektmanagement-Prozesse
Anforderungen: Kunde, Branche, Normen, Gesetze…
Zufriedenheit der Stakeholder
Lieferanten-Management
Projektteam
Qualifikation & Kompetenz (PM, Fach & Methode)
Sozialkompetenz
8
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Was versteht man unter Softwarequalität?
• Definition der Softwarequalität:
 „Die Gesamtheit der Merkmale und Merkmalswerte eines Software-Produkts,
die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte
Erfordernisse zu erfüllen.“
[ISO 9126]
• Ansätze beim Qualitätsmanagement:
 Produktqualität 
Sicherstellung der Produktqualität durch Vorgabe und Überprüfung
definierter Qualitätsmerkmale
(bspw. ISO 9126)
 Prozessqualität 
Sicherstellung der Qualität des Entstehungsprozesses
(bspw. CMMI)
9
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Konstruktive und analytische Qualitätsmaßnahmen
Konstruktive
QSMaßnahmen
Analytische
QSMaßnahmen
10
A priori
Einschränkung der Variabilität in
der Systementwicklung, um
gewisse Fehler nicht auftreten zu
lassen und damit ein Maß an
Qualität per se zu erreichen.
Ex post
Datenerhebung, um Ist- und
Soll-Zustand zu vergleichen und
so den Grad der erreichten
Qualität im Nachhinein
festzustellen.
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Verfahren der konstruktiven Qualitätssicherung
Konstruktive
Qualitätssicherung
Methoden
Technische
Maßnahmen
Sprachen
Werkzeuge
Richtlinien
Organisatorische
Maßnahmen
Standards
Checklisten
11
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Verfahren der analytischen Qualitätssicherung
Inspektion und
Reviews
Statische Prüfung
(Dokument prüfen)
Statische
Codeanalyse
Formale Verifikation
Analytische
Qualitätssicherung
Symbolische
Ausführung
Äquivalenzklassen
Black-Box
Grenzwertanalyse
Zustandsbezogener
Test
Tests
Anweisungstest
Dynamische
Prüfung
White-Box
Zweigtest
Dynamische
Analyse
12
Memory Leak
Analyse
Performancemessung
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Softwarequalität umfasst mehr als nur die Beseitigung von Fehlern
Qualitätsmerkmale nach ISO 9126 (1/2)
Funktionalität
•
•
•
•
Umfasst Charakteristika, welche die geforderten Funktionalitäten des Systems beschreiben
Oft durch Ein-/Ausgabeverhalten spezifiziert
Mit Tests wird spezifiziertes Ein-/Ausgabeverhalten geprüft
Teilmerkmale:
• Angemessenheit
• Richtigkeit
• Interoperabilität
• Ordnungsmäßigkeit
Zuverlässigkeit
• Fähigkeit eines Systems, sein Leistungsniveau unter festgelegten Bedingungen über einen definierten Zeitraum
zu halten.
• Teilmerkmale:
• Reife
• Fehlertoleranz
• Wiederherstellbarkeit
Benutzbarkeit
• Teilmerkmale:
• Verständlichkeit
• Erlernbarkeit
• Bedienbarkeit
• Wichtig für die Akzeptanz der Systeme
• Benutzbarkeit ist abhängig von Benutzergruppe
• Prüfung im Rahmen von nicht-funktionalen Tests
13
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Softwarequalität umfasst mehr als nur die Beseitigung von Fehlern
Qualitätsmerkmale nach ISO 9126 (2/2)
Effizienz
• Teilmerkmale:
• Zeitverhalten
• Verbrauchverhalten
• Benötigte Zeit und Verbrauch an Betriebsmitteln für die Erfüllung einer Aufgabe
• Messbare Ergebnisse lassen sich mit Performancetest (nicht-funktionale Tests) ermitteln
Änderbarkeit und Übertragbarkeit
• Wichtige Kriterien, da Softwaresysteme oft über längeren Zeitraum eingesetzt werden.
• Änderbarkeit umfasst folgende Teilmerkmale:
• Analysierbarkeit
• Modifizierbarkeit
• Stabilität
• Prüfbarkeit
• Übertragbarkeit umfasst folgende Teilmerkmale:
• Anpassbarkeit
• Installierbarkeit
• Konformität
• Austauschbarkeit
• Aspekte lassen sich häufig nur durch statische Analysen prüfen
14
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
AGENDA
1. Qualitätsmanagement
2. Testmanagement
3. Risikomanagement
15
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Zum Begriff des Testens
Testen verfolgt mehrere Ziele:
• Identifizierung von Defekten
• Bestimmung der Qualität des Produkts
• Vertrauen in das Produkt erhöhen
• Analyse, um Fehlerwirkungen vorzubeugen
 Steigerung der Softwarequalität
natürlich nur, wenn gefundene Fehler behoben werden ;)
Aber:
• Test ist eine stichprobenartige Prüfung
Test ist nur ein
Bestandteil
umfangreicher
Qualitätsmaßnahmen
 Fehlerfreiheit ist durch Testen nicht erreichbar
 Kein umfangreiches Softwaresystem ist fehlerfrei
16
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Fundamentaler Testprozess (in Anlehnung an ISTQB)
Beginn
• Allgemeine
Softwareentwicklungsmodelle ordnen
Test in Entwicklungsablauf ein und
betrachten oft nur die
Testdurchführung
Planung und
Steuerung
Analyse und Design
• Fundamentaler Testprozess:
 Generischer Ablaufplan
 Anpassung an Gegebenheiten und
Erfordernisse im Projekt notwendig.
(Rollen und Dokumente sind nicht
beschrieben.)
 Verfeinerter Ablaufplan für das Testen.
 Aufgaben im Prozess dürfen sich
überschneiden und auch gleichzeitig
durchgeführt werden.
Realisierung und
Durchführung
Auswertung und
Bericht
Abschluss
Ende
17
Projektmanagement - Qualitäts- und Risikomanagement
Spillner, A., Linz, T.:
Basiswissen Softwaretest Aus- und Weiterbildung
zum Certified Tester
dpunkt, 4. Auflage
© msg systems ag, 24.11.2014
Testen im Softwarelebenszyklus – Beispiel V-Modell
18
•
Grundidee V-Modell
Entwicklung und Test sind zueinander korrespondierende, gleichberechtigte Tätigkeiten.
•
Grundidee und daraus entstehende Prinzipien lassen sich auf andere Vorgehensmodelle übertragen.
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Überblick Teststufen
Komponententest
Testbasis
Tester
Teststrategie
Testziele
Integrationstest
Abnahmetest
• Komponentenspezifische
Anforderungen
• Softwaredesign
• Systemdesign
• Schnittstellenübergreifende
Workflows, UCs
• Dokumente auf
Systemebene,
Spezifikation,
Anforderungen ...
• Dokumente, die
System aus
Anwendersicht
beschreiben
• Entwickler
• Tester
• Tester
• Kunde
• White-Box
• Black-Box
• Black-Box
• Black-Box
z.B.
• Funktionalität
• Robustheit
• Effizienz
z.B.
• Schnittstellenfehler
• Wechselwirkungen
z.B.
• Erfüllt System die
Anforderungen
(funktional vs.
nicht-funktional)
z.B.
• Vorgaben Vertrag
• Akzeptanz
Nutzer u.
Systembetreiber
Komponententest und Integrationstest
erfolgen nicht streng sequentiell
19
Systemtest
Systemtest und Abnahmetest fallen
typischerweise in die letzten Projektwochen
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Frühes Testen ist wichtig für Projekterfolg
•
•
Frühes Testen verringert die Projektrisiken
Frühes Testen macht Entwicklung der Produktqualität transparent
Implementierung
Komponententest
Stufenweiser
Integrationstest
Systemtest
Abnahmetest
t
Bereit zum Systemtest
20
Bereit zur Abnahme
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Teststufen - Komponententest
• Komponententest soll die korrekte Funktionalität der einzelnen
Systemkomponenten überprüfen.
• Schwerpunkt ist die isolierte Prüfung der einzelnen Komponenten.
• Komponententest wird meist durch den Entwickler durchgeführt vor der
Integration
Test der
Komponenten
21
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Teststufen - Integrationstest
• Integrationstest soll das fehlerfreie Zusammenwirken der Systemkomponenten
überprüfen.
• Die einzeln getesteten Komponenten werden schrittweise integriert und das
Zusammenwirken getestet.
• Schwerpunkt ist die Prüfung des Zusammenwirken der Komponenten. Dazu
müssen die Schnittstellen in möglichst vielen Kombinationen ausgeführt
werden.
Test der
Schnittstellen
22
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Teststufen - Systemtest
• Systemtest ist der abschließende Test in einer realitätsnahen Umgebung (ohne
den Auftraggeber), u.a.
 Funktionstest gegen die Spezifikation
 Massentest, Performancetest, Lasttest
 Usability Test
• Schwerpunkt der Prüfung ist das Verhalten des Gesamtsystems
Test des
Gesamtsystems
23
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Teststufen - Abnahmetest
• Abnahmetest wird in der Einsatzumgebung des Auftraggebers mit realen Daten
unter Mitwirkung des Auftraggebers durchgeführt




Generierung und Installation des Systems
Testfälle für reale Geschäftsvorfälle
Zufällige Testfälle
Prüfung Dokumentation
• Abnahmetest ist die Grundlage für die Abnahme durch den Auftraggeber.
24
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Grundsätze des Softwaretestens (nach ISTQB)
1. Testen zeigt die Anwesenheit von Fehlern.
2. Vollständiges Testen ist nicht möglich.
3. Mit dem Testen frühzeitig beginnen.
4. Häufung von Fehlern.
5. Zunehmende Testresistenz (Pesticide paradox).
6. Testen ist abhängig vom Umfeld.
7. Trugschluss: Keine Fehler bedeutet ein brauchbares System.
25
Projektmanagement - Qualitäts- und Risikomanagement
Spillner, A., Linz, T.:
Basiswissen Softwaretest Aus- und Weiterbildung
zum Certified Tester
dpunkt, 4. Auflage
© msg systems ag, 24.11.2014
Testarten zur Überprüfung von Qualitätszielen
Fehlertest
Interoperabilitätstest
Oberflächentest
Funktionaler Test
Datenkonsistenztest
Installationstest
Testarten
Wiederinbetriebnahmetest
Sicherheitstest
NichtFunktionaler Test
Stresstest
Lasttest
Performancetest
26
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Regressionstest
• Erneuter Test eines bereits getesteten Programms bzw. einer Teilfunktionalität
nach deren Modifikation, mit dem Ziel nachzuweisen, dass durch die
vorgenommenen Änderungen keine Fehler eingebaut oder (bisher maskierte
Fehler) freigelegt wurden.
• Regressionstest wird durchgeführt, wenn die Software oder ihre Umgebung
verändert wurde.
• Regressionstest ist grundsätzlich Bestandteil jeder Teststufe.
• Beim Regressionstest müssen meist große Mengen von Testfällen in kurzer Zeit
ausgeführt werden, daher sollte der Regressionstest aus Effizienzgründen
automatisiert werden.
27
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Erstellung von Testfällen und Testdaten
28
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Erstellung von Testfällen
• Testfälle werden benötigt um IT-Systeme gegenüber den Anforderungen zu
prüfen
 Test der spezifizierten Funktionalität
 Test nicht funktionaler Anforderungen
 Prüfung des Systemverhaltens in Grenzsituationen
• Testfälle sollten parallel zu Analyse und Entwurf erstellt werden, um eine
zusätzliche Qualitätssicherung der Spezifikation zu erreichen.
• Testfälle müssen zu Beginn der Tests bereits verfügbar sein, nicht erst erstellt
werden!!
• Testfälle sind ein wichtiges Entwicklungsergebnis und müssen dokumentiert
werden, z.B. als Nachweis für spätere Zertifizierungen.
• Testfälle müssen wiederverwendbar sein für spätere Releases und
Regressionstest.
29
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikobasiertes Testen
• Die vollständige Abdeckung aller Ein/Ausgabe-Möglichkeiten für ein IT-System
ist i.d.R. nicht möglich. Damit enthält jedes IT-System Restrisiken für Fehler.
• Unter Beachtung der Wirtschaftlichkeit und des möglichen Schadens werden
Testfälle aus der theoretisch möglichen Kombinationsmenge ausgewählt
 Bei administrativen Systemen, z. B. bei Rechnungsstellung werden Testfälle nach ihrer
Wichtigkeit für den Geschäftsablauf ausgewählt.
 Bei technischen Systemen, z.B. Steuerung einer Werkzeugmaschine werden Testfälle
nach den Qualitätsanforderungen des Produktionsprozess ausgewählt.
 Systeme mit Gefahren für Leib und Leben, z.B. Flugzeugsteuerung und sehr hohe
Sachwerte, z.B. Raumfahrt werden sehr intensiv getestet um Risiken nachweisbar zu
minimieren.
30
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Betrachtungsweise beim Test
• Blackbox-Test
Der Blackbox-Test ist ein reiner Ein-/Ausgabe-Test. Die Testdaten
werden aus der Spezifikation abgeleitet. Es wird nicht nur mit
zulässigen Eingabedaten getestet, sondern auch mit möglichen
fehlerhaften Daten. Es werden zulässige und unzulässige
Transaktionen getestet, um das Systemverhalten zur überprüfen.
•
Whitebox-Test
Der Whitebox-Test ist ein logisch-orientierter Test unter
Berücksichtigung der Abläufe im Source-Code. Die Testdaten werden
mit Kenntnis der Programmlogik definiert. Angestrebt wird eine
bestimmte Abdeckung der möglichen Pfade im Source-Code.
31
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Testfallerstellung mit Äquivalenzklassen und Grenzwerten
• Äquivalenzklasse
Sammlung von Ein/Ausgabewerten, für die ein System das gleiche
Fehlerverhalten aufweist. Für die Testabdeckung muss nur ein Testfall
aus der Äquivalenzklasse ausgeführt werden.
Bei diesem Prinzip der Ableitung von Testfällen wird untersucht,
welche Klassen von möglichen Eingabewerten zu einer ähnlichen Art
der Verarbeitung führen.
• Grenzwertanalyse
Die Grenzwertanalyse ist eine spezielle Form der
Äquivalenzklassenanalyse. Die Werte, die sich auf und in der
Umgebung der Grenzen der Äquivalenzklassen befinden, nennt man
Grenzwerte.
32
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiel für Äquivalenzklassen
•
•
•
In der Spezifikation eines Online-Banking-Systems wird gefordert, dass nur Beträge von
0,01 bis 500 € eingegeben werden dürfen. Für Tests sollte es daher ausreichen, drei
Äquivalenzklassen zu bilden (eine gültige und zwei ungültige Äquivalenzklassen):
 Werte von 0,01 bis und mit 500,00 € (gültig)
 Werte kleiner gleich null (ungültig)
 Werte größer als 500,00 € (ungültig)
Jede Überweisung im Online-Banking-System muss durch die Eingabe einer TAN
autorisiert werden. Analog zur ersten Äquivalenzklasse können hier für die Eingabe der TAN
vier Äquivalenzklassen gebildet werden:
 Eingabe einer korrekten TAN
 Eingabe einer falschen TAN
 Eingabe zu kurzer TAN
 Eingabe zu langer TAN
Auf Basis der beiden Äquivalenzklassen werden die nachfolgenden Testfälle definiert:
 Gültiger Wert (z. B. 123,45 €) und korrekte TAN (ausgeführt, weil alles korrekt ist.)
 Gültiger Wert (z. B. 123,45 €) und falsche TAN (fehlgeschlagen, weil falsche TAN.)
 Ungültiger Wert (z. B. 600,00 €) und korrekte TAN (fehlgeschlagen, weil ungültiger
Wert.)
 Gültiger Wert (z. B. 123,45 €) und zu kurze TAN (fehlgeschlagen, weil TAN zu kurz ist.)
 Gültiger Werts (z. B. 123,45 €) und zu lange TAN (fehlgeschlagen, weil TAN zu lang ist.)
(/http://de.wikipedia.org/wiki/Dynamisches_Software-Testverfahren)
33
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiel für Grenzwerte
•
Für die Prüfung der Grenzwerte werden nicht beliebige Werte getestet, sondern nur
Randwerte oder Grenzwerte. Im Beispiel wären dies die Werte
 0,00 € (ungültige Eingabe)
 0,01 € (gültige Eingabe)
 500,00 € (gültige Eingabe)
 500,01 € (ungültige Eingabe)
(/http://de.wikipedia.org/wiki/Dynamisches_Software-Testverfahren)
34
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beschreibung von Testfällen
Der Testfall wird mit
Ein/Ausgabedaten
beschrieben und kann
manuell ausgeführt und
dokumentiert werden
35
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeuge zur Unterstützung und Automatisierung
36
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Motivation für Testautomatisierung
• Manueller Test ist aufwändig und fehleranfällig, da die
Konzentrationsfähigkeit von Testern begrenzt ist.
• Bei größeren Anwendungssystemen werden regelmäßig neue
Releases geliefert, die umfassend getestet werden müssen. Für den
Regressionstest steht meist nur wenig Zeit zur Verfügung.
• Manche Architekturschichten haben keine Nutzeroberfläche und
können daher nicht manuell getestet werden.
• Bei modernen Entwicklungsprozessen wird hochgradig iterativ
gearbeitet. Im Rahmen von Nightly Build und Continuous Integration
müssen Testfälle täglich wiederholt werden.
37
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeugtypen zur Unterstützung und Automatisierung von Tests (1/2)
Werkzeuge für Management, Steuerung von Tests
•
•
•
•
Erfassung, Verwaltung, Überwachung von Testfällen
Verwaltung Problem-, Fehlermeldungen
Verwaltung von Anforderungen (Requirements)
Konfigurationsmanagement
Werkzeuge zur Testspezifikation
• Verwaltung Vor-/Nachbedingungen von Testfällen
• Testdatengeneratoren
(datenbankbasiert, spezifikationsbasiert, …)
Werkzeuge für statische Tests
• Werkzeuge zur Reviewunterstützung
• Statische Analysen (z.B. zykomatische Anzahl)
• Model Checker
38
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeugtypen zur Unterstützung und Automatisierung von Tests (2/2)
Werkzeuge für dynamischen Tests
•
•
•
•
Testtreiber, Testrahmen
Simulatoren, Testroboter (z.B. Capture-and-Replay-Tools)
Komparatoren
Überdeckungsanalyse, Dynamische Analyse
Werkzeuge für nicht-funktionale Tests
• Last-/Performancetests
• Monitore
39
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiel Testmanagement: HP Quality Center
•
•
•
40
HP ist führendes Tool im Kontext
Testmanagement (Forrester Wave Studie)
Browserbasiert
Möglichkeit zur Automatisierung von Tests
mit HP Quick Test
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeuge für statische Tests
Beispiele
Checkstyle
•
Prüfung von Coding Conventions in Java
•
Projektkonfiguration notwendig
•
Integration in Eclipse möglich
FindBugs
•
Durchsucht Java-Programmen nach
Fehlermuster
•
Fehlermuster deuten oft auf tatsächliche
Fehler hin.
•
Filterung bei größeren Projekten notwendig:
Anzahl der angezeigten Warnungen sehr groß
Sonograph for Java:
•
Hinterlegung von Architekturmodellen für
Projekt
•
Identifikation von Architektur-oder
Abhängigkeitsverletzungen
•
Identifikation zyklischer Abhängigkeiten
41
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeuge für die Testautomatisierung
Beispiel JUnit
• Framework zum Testen von Java-Programmen
• Insbesondere zur Erstellung von Testtreibern für automatisierte Unit-Tests
(Klassen oder Methode)
Architekturüberblick aus
„JUnit A Cook's Tour“
42
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Test erben von
Oberklasse TestCase
Einfacher JUnit-Testfall
public class StringTest extends TestCase {
Initialisierung des
Testobjekts
protected void setUp(…)
protected void tearDown(…)
Zurücksetzen des
Testobjekts nach
Ausführung des Tests
public void testSimpleAdd() {
String s1 = new String(“abcd”);
String s2 = new String(“abcd”);
Testobjekt wird geprüft
mit assert-Methoden
von JUnit
assertTrue(“Strings not equal”, s1.equals(s2));
}
•
•
43
}
In Projekten wird Testframework aufgesetzt, das die Junit-TestCase-Klasse spezialisiert.
Initialisierung der Datenbank, Komponenten, … wird einheitlich für alle Tests gekapselt.
• Nur spezifische Initialisierungen in konkreten Tests enthalten.
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
JUnit: Integration in Eclipse
44
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Vorteile, Nachteile JUnit
45
Vorteile
Nachteile
• Einfache Erstellung von
Testtreibern
• Tests können automatisiert
werden
• Integration in IDEs
• Regelmäßig Durchführung der
Tests möglich (nightly builds)
• Projektspezifische
Anpassungen möglich
• Refactorings wirken sich auch
auf Testtreiber aus
• Keine Trennung von Testcode
und Testdaten in Testtreibern
• Abhängige Komponenten
müssen mit eingebunden
werden in Test
• GUI-Tests nicht möglich
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Werkzeuge für die Testautomatisierung - Beispiel Selenium
• Testframework für Webanwendungen
• Aufzeichnung manuell durchgeführter
Bedienschritte
Capture-and-Replay-Tool
• Bedienschritte werden als Testskript
gespeichert.
• Beliebige Wiederholung der
aufgezeichneten Skripte möglich
• Testskripte können als HTML-Tabellen
abgelegt werden
• Selenium basiert rein auf HTML und
JavaScript
• Selenium-IDE als Firefox-Addon verfügbar
• http://seleniumhq.org/
46
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Vorteile, Nachteile Selenium
47
Vorteile
Nachteile
• Einfache Erstellung von GUITesttreibern
• Gut geeignet für Regressionstests
• Vernünftiges Reporting
durchgeführter Testfälle
• Generierung von Testskripten
möglich
• Keine Trennung von Testcode und
Testdaten in Testtreibern
• Empfindlich ggü. Änderungen an
GUI
• Kein Refactoring der Testfälle
möglich
• Nachbearbeitung der Skripte
notwendig
• Für langlebigen Einsatz ist
angemessene Architektur
notwendig (Modularisierung
Testfälle, …)
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Chancen und Risiken durch automatisiertes Testen
48
Chancen
Risiken
• Zeitdruck und Risiko
vermindern sich in späten
Projektphasen
• Kurzfristige Absicherung von
Änderungen während des
Produktivbetriebs
• Absicherung von
Seiteneffekten
• Kostenersparnis
• Weniger stupider Test
• Zu wenig (Test-)Erfahrung im
Team
• Ungeeignetes Werkzeug
• Sammlung von
Testwerkzeugen passt nicht
zusammen
• Testfälle sind nicht wartbar
oder automatisierbar
• Pflegeaufwände für Testfälle
ist hoch
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Automating chaos gives faster chaos*
• Nicht als erstes über Werkzeuge zur Automatisierung der Testdurchführung
nachdenken
• Nur wenn ein systematischer Testprozess definiert, eingeführt und gelebt wird,
kann die Produktivität durch Tests zur Automatisierung erhöht werden.
• Reihenfolge zur Einführung von Werkzeugen
1.
2.
3.
4.
5.
Fehlermanagement
Konfigurationsmanagement
Testplanung
Testdurchführung
Testspezifikation
*Fewster, M., Graham, D.:
Software Automation,
Effective use of test execution tools
49
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Abhängig von der Anzahl Wiederholungen der Testdurchführung
lohnt sich eine Testautomatisierung
Kosten
Manuelle Tests
Kosten
Wartung
TF
Automatisierte
Tests
Kosten
Implemen
tierung TF
Kosten
Testspezifikation
Anzahl Wiederholungen
Testfälle
•
•
Ab ca. 5 Wiederholungen lohnt sich eine Testautomatisierung
Große Projekte laufen oft über mehrere Jahre mit mehreren Releases
 Früh über Testautomatisierung nachdenken
50
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Eine gute Testqualität ist Voraussetzung für die Beurteilung der Softwarequalität
• Die Anzahl der entdeckten Fehler für
•
Testqualität
hoch
Man denkt, man ist
hier…
niedrig
•
sich alleine genommen, ist wertlos
als Maß für die Qualität der
Software.
Ist die Testqualität nicht hoch genug,
so werden wenige Fehler entdeckt
und damit implizit die Software als
gut eingeschätzt.
Zur Bewertung der Qualität von
Software muss die Qualität des
Testens betrachtet werden.
niedrig
…dabei ist
man hier!
Viele
Fehler
Wenige
Fehler
Wenige
Fehler
Wenige
Fehler
Softwarequalität
hoch
Quelle:
D. Graham, M. Fewster:
Testing Essentials – Testing Principles.
TEST Congress, London 2000.
Erst eine gute Testqualität erlaubt zusammen mit der Anzahl der
entdeckten Fehler Aussagen über die Softwarequalität.
51
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
80/20 Regel
Mit 20% Testabdeckung können 80%
der Fehler gefunden werden?
In 20% der Anwendung stecken 80%
der Fehler?
Nutzen
Pareto-Prinzip
20% der Fehler verursachen 80%
der Kosten?
Aufwand
Erkenntnis: Testaufwände auf kritische Komponenten fokussieren.
52
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
DDT
53
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Literatur
A. Spillner, T Linz:
Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester - Foundation Level nach
ISTQB-Standard)
•
•
•
•
•
Guter Überblick über die Grundlagen des Softwaretestens.
Vorstellung statischer und dynamischer Testverfahren, Testwerkzeuge
Testen im Softwarelebenszyklus
Aufgaben des Testmanagements
Konform zum zum Certified Tester - Foundation Level
F. Westphal:
Testgetriebene Entwicklung mit JUnit & FIT:
Wie Software änderbar bleibt
• Einführung in JUnit und FIT!
• Vorgehensweise beim Test Driven Development
Webseiten
•
•
•
•
•
54
http://www.opensourcetesting.org/ - Open Source Tools for Software Testing Professionals
http://java-source.net/open-source/testing-tools - Üb erblick über Open-Source-Java-Testtools
http://www.testbench.info/ - Testwerkzeug (Ebene Testmanagement)
http://www.imbus.de/downloads/praxiswissen-softwaretest/ - Review-Formulare, Test-Tool-Requirements, …
http://junit.sourceforge.net/doc/cookstour/cookstour.htm - Überblick über JUnit
Projektmanagement
- Qualitätsund
Risikomanagement
Projektmanagement
- Qualitätsund
Risikomanagement
© msg
msg systems
systems ag,
ag, 24.11.2014
2.12.2013
©
AGENDA
1. Qualitätsmanagement
2. Testmanagement
3. Risikomanagement
55
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Thesen
56
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Was sind Risiken?
Definition Risiko:
„Ein Risiko beschreibt die Möglichkeit des Eintretens eines
nicht geplanten Ereignisses bzw. des Ausbleibens eines
geplanten Ereignisses mit negativen Folgen für das Projekt.“
57
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Wie werden Risiken identifiziert?
Durch frühzeitige Analyse des Projektumfeldes lassen sich Chancen
und Risiken identifizieren.
natürlich
ökonomisch
soziokulturell
Sachlich
sozial
Chancen
technisch
rechtlichpolitisch
Projektumfeldfaktoren
Risiken
mittelbar
58
unmittelbar
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risiken managen
Ein guter Projektleiter managt Risiken,
ein schlechter Projektleiter managt Probleme.
Risiken
analysieren
R1
hoch
mittel
Maßnahmen
planen
Maßnahmen
kontrollieren
R4
R3
R2
R5
niedrig
Eintrittswahrscheinlichkeit
Risiken
identifizieren
R6
niedrig
mittel
hoch
Schadenshöhe
59
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Maßnahmen für Risiken einplanen
• Für jedes Risiko sollte man sich Gedanken machen, welche Maßnahmen sinnvoll
mit eingeplant werden können, um
 die Eintrittswahrscheinlichkeit (ETW in %) zu reduzieren (präventive Maßnahmen)
•
•
Vermeiden von Risiken
Vermindern der Eintrittswahrscheinlichkeit durch geeignete Maßnahmen
•
•
Begrenzen des Schadens, falls das Risiko eintritt
Verlagern des Schadens, wenn das Risiko eintritt (z.B. Versicherung)
•
Akzeptieren, dass das Risiko mit berechneter Schadenshöhe existiert und darüber berichten
 die Schadenshöhe (SH in €) zu reduzieren (korrektive Maßnahmen)
 Selbstragende Maßnahmen
• Richtwert für Umsetzen der Maßnahmen:
 wenn Kosten der Maßnahme und neuer Risikowert (RW = ETW * SH) geringer sind als
der alte Risikowert
 wenn Mensch, Umwelt und Unternehmen gefährdet werden !
Die Maßnahmen werden als Arbeitspakete definiert,
geschätzt und im PSP integriert!
60
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiellösung: Risiken erfassen (1 von 3)
61
Nr.
Risikobeschreibung /
Wirkung
Ursache
Auswirkung
Klassifizierung
1
10 Netzwerkdrucker in der
Hauptniederlassung können
nicht in das neue Netzwerk
integriert werden, da sie die
Sicherheitsprotokolle nicht
verstehen.
Die vorhandenen
Netzwerkdrucker sind zum Teil
schon sehr alt.
Die Kosten für neue Drucker
überschreiten das Budget
Technisches
Risiko,
Wirtschaftliches
Risiko
2
Die 25 Thin-Clients des GB
X können für die gefundene
Lösung nicht konfiguriert
werden.
Das Betriebssystem auf den
Thin-Clients ist ein Embedded
Windows mit eingeschränkter
Funktionalität. Windows XP
Embedded bietet weniger
Funktionalität als die neuste
Version des Betriebssystems,
benötigt aber auch weniger
Speicher.
Kein Netzzugang und somit
kompletter Produktivausfall von
drei Tagen (Versandzeit neuer
Hardware). Die Hardware (4GB
Speicher) und das
Betriebssystem (Windows 7
Embedded) der Thin-Clients
muss dann aufgerüstet werden.
Wirtschaftliches
Risiko
3
Fremdrechner mittels
Hackertools im Netz
Es gibt keine 100% ige
Sicherheit, wenn Gäste oder
Mitarbeiter Hackertools
einsetzen.
Fremde (ggf. private) Rechner
gelangen in das abgesicherte
Netzwerk, es droht ein
Datenverlust.
Wirtschaftliches
Risiko
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiellösung: Risiken quantifizieren (2 von 3)
62
Nr.
Risiko
ETW in %
SH in €
RW in €
1
Inkompatible
Netzwerkdrucker
30%
50.000 €
15.000 €
2
25 Thin-Clients des GB X
aufrüsten
30%
53.688 €
16.107 €
3
Fremdrechner mit
Hackertools im Netzwerk
2%
1.500.000 €
30.000 €
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Beispiellösung: Maßnahmen für Risiken planen (3 von 3)
63
Nr.
Risiko
Maßnahme
Kosten
ETW neu
SH neu
RW neu
Umsetzen
1
Inkompatible
Netzwerkdrucker
Korrektiv-Verlagern: das Thema
Netzwerkdrucker kann aus dem
Projekt-Scope entfernt werden, da
ein Projekt zur Modernisierung der
Drucker vorgesehen ist. Hierzu
müssen problematische Drucker
ermittelt und für die Planung des
Drucker-Projektes kommuniziert
werden.
680€
30%
0€
0€
Ja
2
25 ThinClients des
GB X
aufrüsten
Präventiv-Vermeiden: Alle ThinClients werden mit Speicher
erweitert und bekommen das
neuste Betriebssystem aufgespielt
14.688 €
0%
53.688 €
0€
Ja
3
Fremdrechner
mit
Hackertools
im Netzwerk
Akzeptiert: Es existiert hier keine
100% Absicherung, vor allem nicht
gegen „Innen-Täter“ (Mitarbeiter).
0€
2%
1.500.000 €
30.000 €
-
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikomanagement ist kritisch für den Projekterfolg
Risikomanagement…
• ermöglicht es, Risiken aggressiv einzugehen
• minimiert die Kosten für Schutz- & Notfallmaßnahmen
• Ermöglicht es Risiken objektiv zu beurteilen und angelernten Verhaltensweisen
(die persönliche Risikowahrnehmungsschwelle) entgegenzuwirken
• ist Teil eines Frühwarnsystems (PM muss Weitblick haben)
• verhindert eine unbemerkte Verlagerung der Risikoverantwortung
• bereitet Projekten den Weg zum Erfolg – ohne Risikomanagement haben
Projekte keine Möglichkeit, zwischen gewagten Zielen und vernünftigen
Erwartungen zu unterscheiden
64
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikomanagement
Maßnahmen
Risiken
65
•
Kaufmännische Risiken
•
Technische Risiken
•
Terminrisiken
•
Ressourcenrisiken
•
Politische Risiken
•
Vermeidung
•
Verminderung
•
Begrenzung
•
Verlagerung
•
Akzeptanz
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Instrumente und Hilfsmittel in PROFI/PRIMA
Risikocheckliste für Angebotserstellung
„PM_SchaetzenUndRisiko_msg_tmpl.xls“
Initiale
Risikobetrachtung
RisikoIdentifikation
PROFI-Vorgehen für
Individualsoftwareentwicklung
RisikoBehandlung
PROFI
• Risikocheckliste
QM
• Risiko Kurzanalyse
• Risikoaudits
RM
Risikoanalyse
Risikomanagementplan
„PM_Risikomanagementplan_msg_tmpl.xls“
66
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikoidentifikation im Projekt
Risikocheckliste
QM: Risikokurzanalyse für
Festpreisprojekte > 500.000 €
Probleme aus früheren Projekten
Persönliche Erfahrungen
Identifizierte
Risiken
QM: Risikoaudits
Weitere Taxonomien (z.B. vom SEI*)
Quelle: www.sei.cmu.edu Suche nach „Taxonomy-Based Risk Identification“, Report No. SEI.93-TR-006
67
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikocheckliste
Relatives Angebotsrisiko
Risikoart
Gesamtrisiko
Projekt-Ziele und -Inhalte
Bes.Anford. an Lieferg./Leistg.
Erfahrungen im Projektteam
MA-Einsatz und Auslastung
Termine
Planung
Verfolgung und Lenkung
Modelle/Methoden/Tools
Finanzielle Risiken
Vertragl. Regelung
Auslandsgeschäft
68
Verfolgung und
Lenkung
Modelle/Method
en/Tools
Finanzielle
Risiken
Vertragl.
Regelung
Auslandsgeschä
ft
Planung
Termine
Projekt-Ziele
und -Inhalte
Bes.Anford. an
Lieferg./Leistg.
Erfahrungen im
Projektteam
MA-Einsatz und
Auslastung
Gesamtrisiko
100%
80%
60%
40%
20%
0%
Prozentualer
Anteil
max
Risikozahl
29%
24%
33%
71%
22%
24%
32%
0%
0%
15%
24%
0%
339
62
36
42
36
17
57
15
12
20
37
5
99
15
12
30
8
4
18
0
0
3
9
0
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikomanagementplan
Risikomanagementplan
Ist das zentrale Dokument des
Risikomanagement und enthält
ProjektZiele
69
• Beschreibung und Bewertung aller Risiken
• die Maßnahmen zur Risikominderung
• Hilfsmittel:
o Checkliste,
o Risikoportfolio,
o Risikotrend
Projektmanagement - Qualitäts- und Risikomanagement
Detailplan,
Statusbericht
© msg systems ag, 24.11.2014
hoch
Risikomanagementplan
A - Vertrag
B - Kunde
5
76
H - Umsetzung
Schadenskategorie
G - Anforderungen
70
8
D - Projektteam
E - Lieferanten
FProjektmanangement
niedrig
hoch
Auswirkung
6
60
5
50
4
40
3
30
2
20
1
10
0
0
Projektmanagement - Qualitäts- und Risikomanagement
Relativer Risikowert
I - Einführung
4
9
niedrig
C - Management (msg)
Diagrammtitel
Wahrscheinlichkeit
Wert / Themenbereich
Schadenskategorie
relativer Risikowert
© msg systems ag, 24.11.2014
Top Risiken identifizieren: Was macht Projekte erfolgreich?
Quelle:PM Studie 2008 "Erfolg und Scheitern im PM"
71
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikomanagement für Projekte – RM-Prozess
• Risikoidentifikation
ist Aufgabe des
gesamten Teams
Initiale
Risikobetrachtung
RisikoIdentifikation
• Eskalation von
Risiken
RisikoBehandlung
• Konsequentes
Monitoring
RM
• Aufnahme in den
Statusbericht
• Risikobewertung
- Risikowahrscheinlichkeit
- Risikoauswirkung
Risikoanalyse
• Einleitung von
Massnahmen
• Regelmässige
Teamrunden
• Risikoklassifizierung
• Priorisierung
72
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Risikomanagement für Projekte – Strategien
Übertragung
Risiken
ignorieren
Vermeidung
Aktzeptanz
Minderung
VON
73
Notfallplan
NACH
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Vielen Dank für Ihre Aufmerksamkeit
Dr. Thomas Kunstmann
Geschäftsbereichsleiter Travel & Logistics
Mergenthalerallee 73 – 75, 65760 Eschborn
Tel.: +49 6196 99845 5471
Fax: +49 6196 99845 5410
Mobil: +49 170 630 2775
E-Mail: [email protected]
www.msg-systems.com
74
Projektmanagement - Qualitäts- und Risikomanagement
© msg systems ag, 24.11.2014
Herunterladen