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

Post on 22-Aug-2020

0 views 0 download

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

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