methoden der qualitätssicherung...(j.c. maxwell) inst. f. softwaretechnik und interaktive systeme 8...

23
Vortragsreihe „Software Engineering for Everyday Business“ Methoden der Qualitätssicherung Dietmar Winkler Technische Universität Wien Institut für Softwaretechnik und Interaktive Systeme [email protected] http://qse.ifs.tuwien.ac.at

Upload: others

Post on 26-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Vortragsreihe „Software Engineering for Everyday Business“

Methoden der Qualitätssicherung

Dietmar Winkler

Technische Universität Wien Institut für Softwaretechnik und Interaktive Systeme

[email protected]://qse.ifs.tuwien.ac.at

Page 2: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 2

Inhalt

Teil 4a: Qualitätssicherung und Software Prozess Verbesserung (ca. 45‘)Qualität – einige Definitionen und GrundlagenQualitätssicherung im Software Engineering ProzessSoftware Prozess Verbesserung

Teil 4b: Reviews, Inspektionen, Audits (ca. 45‘)Überprüfung der Qualität in frühen Phasen der SoftwareentwicklungInspektionsprozessAudits und Assessments

Teil 4c: Software Testen (ca. 60‘)Überprüfung der Qualität in „späten Phasen“ der Entwicklung.TeststrategienTestautomatisierung

Teil 4d: Best Practice Testing (ca. 30‘)

Page 3: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Vortragsreihe „ Software Engineering for Everyday Business“

Methoden der QualitätssicherungTeil 4a: Qualitätssicherung und Software Prozess Verbesserung

Dietmar Winkler

Technische Universität Wien Institut für Softwaretechnik und Interaktive Systeme

[email protected]://qse.ifs.tuwien.ac.at

Page 4: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 4

Inhalt

Teil 4a: Qualitätssicherung und Software Prozess Verbesserung (ca. 45‘)Qualität – einige Definitionen und GrundlagenQualitätssicherung im Software Engineering ProzessSoftware Prozess Verbesserung

Teil 4b: Reviews, Inspektionen, Audits (ca. 45‘)Überprüfung der Qualität in frühen Phasen der SoftwareentwicklungInspektionsprozessAudits und Assessments

Teil 4c: Software Testen (ca. 60‘)Überprüfung der Qualität in „späten Phasen“ der Entwicklung.TeststrategienTestautomatisierung

Teil 4d: Best Practice Testing (ca. 30‘)

Page 5: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 5

Was ist „Software-Qualität“?

In der gängigen Literatur gibt es

keine einheitliche Definition von „Qualität“.

aber verschiedene Ansätze, um „Qualität“ begrifflich zu fassen:

Die Kundenzufriedenheit definiert die Qualität eines Produktes.

Erfüllung von Anforderungen und Attributen bzw. Qualitätsfaktoren (z.B. nach dem Modell von McCall, o.ä.).

Erfüllung von Vorgaben, Richtlinien, Normen, Standards und gesetzlichen Regelungen für Produkte, Projekte, Prozesse und Dienstleistungen.

Qualität ist die Gesamtheit von Eigenschaften und Merkmalen eines Produktsoder einer Leistung, die sich auf die Eignung zur Erfüllung vordefinierter Anforderungen beziehen.

Page 6: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 6

Definitionen und Beispiele

Eine formale Definition nach DIN8402: „Die Beschaffenheit einer Einheit bezüglich ihrer Eignung, festgelegte und vorausgesetzte Erfordernisse zu erfüllen“.

Qualitative hochwertige Software-Produkte sind beispielsweisetermingerecht und im Rahmen des Budgets erstellt.für den Anwender verwendbar.für den Professionisten verständlich und änderbar.für den Betreiber effizient und administrierbar.

Beispiele:„Guter“ Projektablauf bezüglich Terminen/Kosten: Einhalten von Meilensteine gemäß Projektplan.Einfache Wartung des Produktes möglich: Messbar über Wartungszeit, -dauer und -kosten.Keine bzw. wenige aufgetretene Fehler während der Programmausführung.

Page 7: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 7

Qualitätsmodell nach McCall (1980)

Qualitätsfaktoren beschreiben dasVerhalten des Systems

Qualitätskriterien sind Eigenschaftenvon Qualitätsfaktoren in Bezug zurSoftwareproduktion und Entwicklung

Qualitätsmetriken sind Messungen, diedefinierte Aspekte der Qualitätsfaktorenbeschreiben

Produkt-wechsel

Einsatzdes

Produktes

Produkt-änderungen

Wartbarkeit

Flexibilität

Testbarkeit

Portierbarkeit

Wiederverwendbarkeit

Kompatibilität

Fehlerfreiheit

Verwend-barkeit

Effizienz

Verfügbarkeit

Integrität

RückverfolgbarkeitVollständigkeit

FehlertoleranzKonsistenz

Genauigkeit

Einfachheit

AusführungseffizienezSpeichereffizienzZugriffsüberprüfungZugriffskontrolle

BedienbarkeitSchulung, TrainierbarkeitKommunikativität

AllgemeinheitErweiterbarkeit

Modularität

Instrumentierung

Selbsterklärend

Hardware-UnabhängigkeitPlattform-UnabhängigkeitKommunikationskompatibilitätDatenkompatibilität

Übersichtlichkeit, KürzeTestabdeckung

Verwendung Faktoren Kriterien

MET

RIK

EN

Metriken

„To measure is to know“(J.C. Maxwell)

Page 8: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 8

Messungen

“You can’t manage what you can’t measure”, Tom DeMarco“What is not measurable make measurable”, Galileo Galilei

DefinitionMessen heißt “Ermitteln eines Wertes durch quantitativen Vergleich der Messgröße mit einer Einheit (Normal)” DIN 1319 Teil 1.

Beispiele

Prozess

Produkt

Ressourcen

Größe

Aufwand

Erfahrung

Aufwand für eine Aufgabe

Lines of Code

>10 Projekte

10 PM

700 (LoCs)

“high”

Page 9: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 9

Ausgewählte Typen von Messungen und Daten

Direkte vs. indirekte Messungen:Direkte Messung: Wertermittlung direkt beim zu untersuchenden Objekt (z.B. Dauer, Aufwand einer Aufgabe)Indirekte Messung: Ermittlung von Messwerten aus direkten Messungen (z.B. Effizienz einer Fehlererkennungsmethode = Anzahl der gefundenen Fehler pro Zeiteinheit)

Objektive vs. Subjektive MessungenObjektive Messung: LoC, Auslieferungsdatum, Aufwand usw.Subjektive Messung: Messergebnisse basierend auf der individuellen Sichtweise des Betrachters, z.B. Fragebögen zur Erfassung der Kundenzufriedenheit.

Quantitative vs. Qualitative Daten:Quantitativ: Daten als konkrete Zahlenwerte (z.B. für statistische Auswertungen)Qualitativ: Visualisierte Informationen (Text, Bilder), z.B. durch Interviews, Interpretationen.

Page 10: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 10

Einflussfaktoren bei der SW-Entwicklung

In einem Entwicklungsprojekt sind 4 wesentliche Einflussfaktorenbzw. Zielsetzungen, die sich wechselseitig beeinflussen, zu finden:

QualitätBeispiele: Anzahl der Fehler in einem Produkt, Termin- und Kostentreue.

Quantität Beispiele: die Anzahl der implementierten Funktionen, Function Points, Lines Of Code (LOC).

Entwicklungsdauer (z.B. in Monaten) bzw. Aufwand (z.B. in Personenmonaten)Beispiele: kleine“ vs. „große“ Projekte

Kosten

Diese Einflussfaktoren wirken wechselseitig auf die Produktivität, die in Abhängigkeit der verfügbaren Ressourcen als konstant betrachtet wird.

Symbolisierung durch das „Teufelsquadrat nach Sneed“

Page 11: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 11

Teufelsquadrat nach Sneed

Spannungsfeld von Qualität, Quantität (Umfang), Entwicklungsdauer und Kosten.

Messung und Skalierung der Werte (von den Ecken zur Mitte).

Die Fläche des Quadrats ändert sich nicht (= Produktivität).

Erhöhung der Qualität und Senkung der Entwicklungsdauer funktioniert nur durch Reduktion des Umfangs und/oder Erhöhung der Entwicklungskosten.

Qualität Quantität

Entwicklungsdauer Kosten

Produktivität

a b

cd

Page 12: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 12

Erstellung qualitativ hochwertiger Software

Die Erstellung qualitativ hochwertiger Produkte erfordert, …

Einen angemessenen Softwareprozess (z.B. Life-Cycle Modell) und adäquate Vorgehensmodelle zur kontrollierten Projektabwicklung (z.B. V-Modell XT, RUP, Spiralmodell, Agile Ansätze)

siehe Vortragsreihe 1.

Wirkungsvolle Methoden zur Produkterstellungsiehe Vortragsreihe 2 und 3.

Wirkungsvolle Methoden zur Produkt- und Prozessverbesserung (z.B. Reviews, Inspektionen, Testen)

siehe Vortragsreihe 4 (heute)

Die Erzeugung eines qualitativ hochwertigen Produktes wird dadurch NICHT garantiert!

Die Wahrscheinlichkeit dafür steigt jedoch …

Page 13: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 13

Qualitätssicherung in der Softwareentwicklung

Einige Aspekte der Qualitätssicherung

Verifikation und Validierung von (Teil-)Produkten in jeder Phase der Software-Herstellung.

Die Organisation der QS sollte unabhängig von einem bestimmten Projekt sein, und projektübergreifende Leistungen erbringen.

Qualität ist keine Eigenschaft, die später hinzugefügt werden kann. Qualität muss während der Entwicklung erstellt und gesichert werden.

Qualitätsmanagement ist die Menge aller Aktivitäten, Vorgehensweisen, Techniken und Hilfsmittel, die sicherstellen, dass ein Software-Produkt vordefinierte Standardserreicht oder übertrifft.

Auch „gute“ Produkte und Prozesse können immer noch verbessert werden (Grundsatz der kontinuierlichen Verbesserung).

Page 14: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 14

Konstruktive vs. Analytische Qualitätssicherung

Konstruktive Qualitätsmaßnahmen

Technische Maßnahmenz.B. Verwendung von Prinzipien, Methoden und Werkzeugen der Softwareentwicklung .

Organisatorisch Maßnahmen z.B. Verwendung von Vorgehensmodellen

Menschliche Maßnahmen z.B. Schulung der Projektmitarbeiter.

Analytische Qualitätsmaßnahmen (Prüfung und Bewertung der Qualität eines Produktes)

Statische Prüfungen z.B. Reviews, Inspektionen, Audits

Dynamische Prüfungen z.B. Software Tests

Page 15: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 15

QS im Kontext mit dem V-Modell

operation / maintenance

system specification

system design

module specification

tested modules

tested design/system

installed systemuser view

archetectural view

implementing view

system / acceptance test

integration test

module test

idea / study

QP

InfrastructureStandards

QualitätssicherungConfiguration Management

Audits

QP: QualitätsplanR: Review / InspektionTP: Testplan

P: PrototypT: Test

R P TP

R P TP

TP

R

RT

R

R

Page 16: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 16

Integration von QS in Vorgehensmodellen*

V-Modell XTQS ist als eigenständigen Vorgehensbaustein realisiert.Dieser Vorgehensbaustein ist ein verpflichtender Bestandteil aller Projekttypen (z.B. Auftraggeberprojekt, Auftragnehmerprojekt usw.)Der Projekttyp „Einführung und Wartung eines organisationsspezifischen Vorgehensmodells“ beinhaltet den Gedanken der ständigen Verbesserung.

Rational Unified Process (RUP)QS mit zugeordneten Rollen ist ständiger Begleiter während des gesamten Projektverlaufs.Review bei allen Meilensteinen.Eigene „Test Discipline“

Agile Entwicklungsprozesse (z.B. SCRUM)Reviews und Tests als fixer Bestandteil der Sprints. Test-Driven Development.

*Aufbau und Grundstruktur der beschriebenen Vorgehensmodelle wurden in der ersten Vortragsreihe behandelt

Page 17: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 17

Prinzipien des Qualitätsmanagements

Konkrete operationalisierbare Qualitätsmerkmale.

Produkt- und projektabhängige Qualitätsplanung.

Unabhängigkeit bei Qualitätsprüfungen.

Mehraugenkontrolle bei Qualitätsprüfungen.

Frühzeitige Entdeckung und Behebung von Fehlern und Mängeln.

Bewertungen der eingesetzten Qualitätsmaßnahmen.

Organisation in Form von Qualitätsmanagementsystemen, z.B. ISO 9001, CMM(I), SPICE (ISO 15504) u.ä.

Rückkopplung der Ergebnisse der Qualitätsprüfungen.

Prinzip der ständigen Verbesserung von Produkten und Prozessen.

Page 18: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 18

Produkt- und Prozessverbesserung (PDCA-Zyklus)

ACT(Rückkopplung)

DO(Produkt herstellen)

Unternehmen

Projekt

Arbeitspaket

tech. ReviewCheckliste

Projektplan

QM Handbuch

Managementreview

Assessment / Audit

Page 19: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 19

SPI mit dem PDCA-Zyklus

Kernelemente des SPI Zyklus sind [nach W.E. Deming]Plan: Planen der nächsten Iteration des SPI-Zyklus basierende auf aktuellen Erfahrungswerten (inkl. Zielsetzung)Do: Durchführen der geplanten Aktivität (Task, Projekt usw).Check: Überprüfung der Produkt- und Prozessergebnisse (z.B. durch Messung) Act: Analyse der Ergebnisse als Feedback für den nächsten SPI Zyklus. Verbesserung der Erfolgsfaktoren, Vermeidung von Wiederholungsfehlern, Beseitigen von Schwachstellen usw.

Ebenen des PDCA-Zyklus:Arbeitspaketebene (work space, task level)ProjektebeneUnternehmensebene (Management, Qualitätsmanagementsysteme)

Auch gute Prozesses können bzw. müssen optimiert werden !

Page 20: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 20

Beispiel: Prozesse auf Arbeitspaketebene

Komponenten eines Prozesses

Aufgabe: Erstellung einer technischen SpezifikationProzessinput: Anforderungsdokument.Ergebnis: Technische SpezifikationRessourcen: Modellierungstools, CVS, Office-PaketPersonal: Designer, ArchitektMethoden: ModellierungstechnikenMessung: Messung der erkannten Abweichungen

Prozessverbesserungszyklus gemäss PDCA

Plan: Erstellung einer technischen Spezifikation gemäß ProjektauftragDo: Erstellen der SpezifikationCheck: Überprüfung durch technisches Review oder Inspektion.Act: Basierend auf der Fehlerliste (Reviews) Fehlerliste zur Verbesserung

des Produktes und des Prozesses der Modellierungstechnik.

Page 21: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 21

Zusammenfassung & Ausblick

ZusammenfassungEs gibt keine einheitliche Definition für "Qualität" aber verschiedene Ansätze, um "Qualität" begrifflich zu fassen.Überprüfung, Beurteilung und Verbesserung der Produkt- und Prozessqualität erfordert messbare Attribute.Qualität, Quantität, Kosten und Entwicklungsdauer bilden ein Spannungsfeld in der Softwareentwicklung.QS ist integraler Bestandteil von Vorgehensmodellen (z.B. V-Modell (XT), Rational Unified Process, Agile Ansätze usw.)Das Prinzip der ständigen Verbesserung von Produkten und Prozessen ist ein integraler Bestandteil von Qualitätsmanagementsystemen und ist auf allen Ebenen (Arbeitspaket, Projekt, Unternehmen) anwendbar.Produkte und Prozesse können immer verbessert werden!

Ausblick: Ausgewählte statischen Methoden der Qualitätssicherung (Reviews und Inspektionen).

Page 22: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 22

Literaturreferenzen

Biffl Stefan, Winkler Dietmar, Frast Denis: „Qualitätssicherung, Qualitätsmanagement und Testen in der Softwareentwicklung“, Skriptum zur Lehrveranstaltung, 2004.http://qse.ifs.tuwien.ac.at/courses/skriptum/script.htmSoftware Engineering – Best practices: http://best-practice-software-engineering.blogspot.com/

Sommerville Ian: „Software Engineering“, 6th Edition, Addison-Wesley, 2001, ISBN 0 201 39815 X.Thaller Georg Erwin: „Software Qualität“, VDE Verlag, 2000, ISBN: 3-8007-2494-4.

Wallmüller Ernest: „Software Qualitätsmanagement in der Praxis; Software-Qualität durch Führung und Verbesserung von Software-Prozessen“, 2. völlig überarbeitete Auflage, Hanser, 2001, ISBN 3-446-21367-8.

Page 23: Methoden der Qualitätssicherung...(J.C. Maxwell) Inst. f. Softwaretechnik und Interaktive Systeme 8 Messungen “You can’t manage what you can’t measure”, Tom DeMarco “What

Inst. f. Softwaretechnik und Interaktive Systeme 23

Vielen Dank für die Aufmerksamkeit !

Kontakt: Dipl.-Ing. Dietmar Winkler

Technische Universität WienInstitut für Softwaretechnik und Interaktive Systeme

Favoritenstr. 11/188, A-1040 Vienna, Austria

[email protected]://qse.ifs.tuwien.ac.at