Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Qualitätsmanagement in der Softwareentwicklung
supported by sponsored by
Fundamentaler Testprozess(siehe ISO 29119 für weiterführende Informationen)
QualitätsmanagementWas ist Qualität?
Risikomanagement Anforderungsmanagement
Qualitätsmanagement basiert auf dem Management von Risiken (ISO 31000):Management von Entscheidungen, Prozessen, Projekten, Produkten, Dienstleistungen, etc.Daraus können direkt Anforderungen an das System folgen (siehe z.B. ISO 61508).Für Entwicklung und Test gibt es Prozesse, die bewertet und verbessert werden können(siehe Kästen „Entwicklungsprozess“ und „Fundamentaler Testprozess“). Zur Sicherstellungder Produktqualität gibt es zahlreiche Testverfahren (siehe Kasten „Testverfahren“).
Norm ISO 25000: anwendungsbezogene, externe und interne Qualität
Norm ISO 61508:risikoorientierter Ansatz fürqualitätssichernde Maßnahmen für sicherheitsbezogene Systeme
Referenzen: [1] www.model-based-testing.info [2] Weißleder et al., „Modellbasiertes Testen: Hype oder Realität?“ OBJEKTspektrum 06/2011
Testverfahren(siehe ISO 29119 für weiterführende Informationen)
Grundlegende Schritte in Reviews (nach IEEE 1028)
Statische Testverfahren
Dynamische Testverfahren
Reviews: manuelle Prüfung durch Kollegen oder Unabhängige
Statische Analyse: automatische Bewertung von Code oder Modellen (z.B. nach MISRA-C).
Testen: Ausführung des Testobjekts z.B. um Fehlerwirkungen zu finden oder das Vertrauen zuerhöhen (abhängig von Teststufe); Unterteilung in struktur-, spezifikations- oder erfahrungs-basierte Testverfahren; Messung der Testqualität mit Überdeckungskriterien
Planung Kick-Off IndividuelleVorbereitung Reviewsitzung Überarbeitung Nachbereitung
Klassifi kationsbaummethode
Zustandsbasierter Test
S1
S3
S2
S4
S5
EntscheidungstabellenRegeln
Bedingung 1 j j n nBedingung 2 j n j nAktion 1 x x xAktion 2 x x
Äquivalenzklassenbildung
Grenzwertanalyse
Alter
0 6 18
Geschäftssystem
Informationssystem
Softwareprodukt
interne Qualität
externe Qualität
anwendungsbezogene Qualität
Entwicklungsprozess
TestprozessverbesserungsmodelleTestprozessverbesserungsmodelleTestprozessverbesserungsmodelle
Bewertung der Prozessqualität über Reifegradmodelle z.B. über CMMI oder SPICEBewertung der Prozessqualität über Reifegradmodelle z.B. über CMMI oder SPICEBewertung der Prozessqualität über Reifegradmodelle z.B. über CMMI oder SPICE
fundamentaler Testprozess (nach ISTQB CTFL)
Testanalyse und Testentwurf
Testrealisierung und Testdurchführung
Bewertung von Endekriterien und Bericht
Abschluss der Testaktivitäten
CTP STEP TMMi TPI Next TestSPICE
Steuerung
Inhaltliche Entwicklung: Dr. Stephan Weißleder, Forschungsleiter Test, Fraunhofer-Institut FOKUS, Mitglied des German Testing Boards
Erstellung Zusammenhänge
Risikoidentifikation
Risikoanalyse
Risikobewertung
Überwachungund
Überprüfung
Risikobewältigung
Product Backlog Sprint Backlog Sprint Working Product Increment
Agil (z.B. SCRUM): Prozessverbesserung geschieht bottom-up in der Retroperspektive Daily Scrum
Management
Definition der Werte und Prinzipien(z.B. agiles Manifest, V-Modell XT) Definition der Verantwortlichkeiten
Unabhängigkeit der qualitätssicherndenOrganisation, Einheit, ... definieren
Controlling zur Steigerungder Effizienz und Effektivität
Management von Personal Integration von qualitätssicherndenMaßnahmen in Entwicklungsprozesse
Aus- und Weiterbildung(z.B. nach ISTQB CTFL, CTAL, CTEL)
Etablierung von durchgängigenWerkzeugketten
Frühe Fehlerentdeckung senkt Fehlerbehebungskosten
Fehlerent-stehungsphase
Planung
Analyse
Durchführung
Abschluss
Fehlerbe-hebungskosten
ZusammenhangFehlerentstehung – Fehlerentdeckung
nach Boehm
Benutzung,Abnahme
t
Entwurf
Anforde-rungen
Integrationstest
Code Komponententest
PlanungAnalyse
Durchführung
Abschluss
Nutzung
und
Aktuelle Themen
Modellbasiertes Testen/Automation des Testdesigns
(weitere Themen: agiles Testen, risikoorientiertes Testen, Security-Testing, suchbasiertes Testen...)
Automatische Testdurchführung kann die Effizienz des Testens steigern, erzeugt aber hohe Wartungsaufwände für die Testskrip-te. Modellbasiertes Testen ermöglicht die automatische Generierung von Testfällen, steigert so die Testeffizienz und -effektivität und macht die Testautomation langfristig wirtschaftlich (siehe [2]). Anforderungen
Testdoku-mentation
TestfälleModell
Testen variantenreicher Systeme(z.B. Automotive, Mobile Devices, ...)
BasismodellFeature-Modell
F1.1 F1.2
F1
F1.3
FM
F2.1
F2
S1
S3
S2
S4S5
S1
S3
S2
S4
S5
Anforde-rungen
Implemen-tierung
Umsetzung und Testvon Anforderungen
Testfälle
Anforderungs-definition Abnahmetest
FunktionalerSystementwurf Systemtest
TechnischerSystementwurf Integrationstest
Komponenten-spezifikation Komponententest
Implementierung
Klassisch (z.B. V-Modell): Prozessverbesserung geschieht oft top-down
001101101000100 001101101000100 001101101000100 00110110100001101000011011010000110100001101101000011010001101000011011001000100 01101000011011001000100 01101000011011001000100 001101101011001101101000001101101011001101101000000110110100011001101100001101101000110011011000011011010001100110110
001101101000100 001101101000011010001101000011011001000100 00110110101100110110100000011011010001100110110
Fehlerentdeckungsphase
Crowd-Testing
Bild
er G
rafik
: © H
enri
ck50
00 u
nd lu
shik
, ist
ockp
hoto
.com
Poster_QM-Softwareentwicklung.indd 1 24.07.13 17:13