Qualitätsmanagement in der Softwareentwicklung...Für Entwicklung und Test gibt es Prozesse, die...

1
Qualitätsmanagement in der Softwareentwicklung supported by sponsored by Fundamentaler Testprozess (siehe ISO 29119 für weiterführende Informationen) Qualitätsmanagement Was 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 Sicherstellung der Produktqualität gibt es zahlreiche Testverfahren (siehe Kasten „Testverfahren“). Norm ISO 25000: anwendungsbezogene, externe und interne Qualität Norm ISO 61508: risikoorientierter Ansatz für qualitä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 zu erhöhen (abhängig von Teststufe); Unterteilung in struktur-, spezifikations- oder erfahrungs- basierte Testverfahren; Messung der Testqualität mit Überdeckungskriterien Planung Kick-Off Individuelle Vorbereitung Reviewsitzung Überarbeitung Nachbereitung Klassifikationsbaummethode Zustandsbasierter Test S1 S3 S2 S4 S5 Entscheidungstabellen Regeln Bedingung 1 j j n n Bedingung 2 j n j n Aktion 1 x x x Aktion 2 x x Äquivalenzklassenbildung Grenzwertanalyse Alter 0 6 18 Geschäftssystem Informationssystem Softwareprodukt interne Qualität externe Qualität anwendungsbezogene Qualität Entwicklungsprozess 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 Überwachung und Ü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ätssichernden Organisation, Einheit, ... definieren Controlling zur Steigerung der Effizienz und Effektivität Management von Personal Integration von qualitätssichernden Maßnahmen in Entwicklungsprozesse Aus- und Weiterbildung (z.B. nach ISTQB CTFL, CTAL, CTEL) Etablierung von durchgängigen Werkzeugketten Frühe Fehlerentdeckung senkt Fehlerbehebungskosten Fehlerent- stehungsphase Planung Analyse Durchführung Abschluss Fehlerbe- hebungskosten Zusammenhang Fehlerentstehung – Fehlerentdeckung nach Boehm Benutzung, Abnahme t Entwurf Anforde- rungen Integrationstest Code Komponententest Planung Analyse 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älle Modell Testen variantenreicher Systeme (z.B. Automotive, Mobile Devices, ...) Basismodell Feature-Modell F1.1 F1.2 F1 F1.3 FM F2.1 F2 S1 S3 S2 S4 S5 S1 S3 S2 S4 S5 Anforde- rungen Implemen- tierung Umsetzung und Test von Anforderungen Testfälle Anforderungs- definition Abnahmetest Funktionaler Systementwurf Systemtest Technischer Systementwurf Integrationstest Komponenten- spezifikation Komponententest Implementierung Klassisch (z.B. V-Modell): Prozessverbesserung geschieht oft top-down 0100 1101000100 00110110 100 11011010000110100 001101 0100 1010000110110010001 011 001101101011001101101000 01101101011001101101 110110 00110110100011001101 000 1101000100 110110100001101 10100001101 011011 00 Fehlerentdeckungsphase Crowd-Testing Bilder Grafik: © Henrick5000 und lushik, istockphoto.com Poster_QM-Softwareentwicklung.indd 1 24.07.13 17:13

Transcript of Qualitätsmanagement in der Softwareentwicklung...Für Entwicklung und Test gibt es Prozesse, die...

Page 1: Qualitätsmanagement in der Softwareentwicklung...Für Entwicklung und Test gibt es Prozesse, die bewertet und verbessert werden können (siehe Kästen „Entwicklungsprozess“ und

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