© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung...

39
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013 Software(technik)praktikum - Vorlesung Qualitätssicherung 1

Transcript of © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung...

Page 1: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

1

Qualitätssicherung

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 2: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

2

Externe Qualitätsprobleme (1)

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 3: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

3

Externe Qualitätsprobleme (1)

Entwicklungskosten >300 Mio. € Erwartete Dauer: 1 Jahr (tatsächlich: 3 Jahre)

Unterstützt 10 Nutzer gleichzeitig statt den geplanten 1.000

Zitat: „Hauptproblem sei das Design des Systems, das Servern den Zugriff auf brachliegende Kapazitäten anderer Rechner nicht ermögliche.“

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 4: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

4

Externe Qualitätsprobleme (2)

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 5: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Software(technik)praktikum - Vorlesung Qualitätssicherung 512.04.2013

Interne Qualitätsprobleme: Wartung

Prozesskontrollsystem

Charakteristika?

Lange Lebenszeit(>30 Jahre)

Große Codebasis (>1 Mio. LOC)

Warum warten?

Probleme beheben

Software ändern

Wo suchen?

Doku-mentation

Quell-code

Page 6: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

6

Interne Qualitätsprobleme: Wartung

[Som12]

Initialentwicklung

Verstehen

Ändern

Kosten der Software über ihren Lebenszyklus

Rebecca Tiarks: What Maintenance Programmers Really Do: An Observational Study

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 7: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

7

Inhalte dieser Vorlesung

Was ist Qualität? Begriffsdefinition

Welche Qualitätseigenschaften gibt es? Qualitätsmodelle definieren diese

Wie quantifiziert man Qualität? Messen & Schätzen Qualitätsmetriken

Wo im Entwicklungsprozess spielt Qualität eine Rolle? Am Beispiel des V-Modells

Software(technik)praktikum - Vorlesung Qualitätssicherung 12.04.2013

Page 8: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

8

Qualität

Qualität kann verschiedene Bedeutungen haben, bzw. hängt von der Perspektive ab produktbezogene Qualität („Wie gut ist das Produkt“) benutzerbezogene Qualität („Wie gut ist das Produkt für die Bedürfnisse

eines bestimmten Benutzers“) prozessbezogene Qualität („Wie gut ist der Erstellungsprozess des

Produkts“)

Qualität möchte man erzielen Qualität sollte daher nachweisbar sein

812.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 9: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

9

Qualität

Gesamtheit der Merkmale eines Produkts oder einer Tätigkeit, die die Erfüllung festgelegter oder vorausgesetzter Eigenschaften betreffen(nach DIN EN ISO 8402)

Dazu gehören auch Dokumente des Entwicklungs-prozesses

Qualitäts-anforderung

9

Welche Qualitätseigenschaften gibt es? Hierfür gibt es Qualitätsmodelle

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 10: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

10

Qualitätsmodelle

Mit Hilfe eines Qualitätsmodells kann eine systematische und begründete Abschätzung der Qualität eines Produkts erfolgen Qualität wird in DIN EN ISO 8402 „Quality management and quality

assurance” definiert

Typischerweise werden Qualitätseigenschaften über mehrere Hierarchiestufen in Teileigenschaften zerlegt ISO/IEC 25010

• ehemals ISO/IEC 9126 “Software engineering — Product quality”

1012.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 11: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

11Software(technik)praktikum - Vorlesung Qualitätssicherung

ISO/IEC 25010

12.04.2013

Software product quality model (interne und externe Qualitäten)

Page 12: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

12

Relevanz der Q-Eigenschaften

Anwendungsklasse Qualitätseigenschaften

Menschliches Leben ist betroffenZuverlässigkeit, Korrektheit,

Testbarkeit

Hohe Entwicklungskosten Zuverlässigkeit, Flexibilität

Lange EinsatzdauerWartbarkeit, Flexibilität,

Portabilität

Echtzeitanwendungen Effizienz

Eingebettete Anwendungen Effizienz, Zuverlässigkeit

Ähnlich zu McCall, Richards und Walters und nach Balzert1212.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 13: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

13

Qualitätsmetriken

Qualität lässt sich durch Qualitätsmetriken nachweisen Eine Metrik M ist eine präzise definierte Methode, um ein Element

einer (geordneten) Menge V einem System S zuzuordnen M ist zugleich auch die Einheit in der man die Qualität angibt

Beispiel:• S = Code eines Softwaresystems• M = Lines of Code von S• V = Natürliche Zahlen• Methode: Zähle alle LOCs von S

Weitere Beispiele für weitere Metriken: Anzahl der Methoden, Klassen, Codekommentarzeilen Antwortzeit Auslastung (z.B. der CPU) Durchsatz (z.B. in Netzwerken relevant)

1312.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 14: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

14

Qualitätsmetriken

Wie ermittelt man Metriken? Schätzen? – Ja, aber wenn dann möglichst

• genau, • begründet • und systematisch

Messen• Bestenfalls wiederholbare Messungen

1412.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 15: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

15

Beispiel für ein Qualitätsmodell: Factor-Criteria-Metrics-Model

15

Q-MetrikenQ-TeileigenschaftenQ-Eigenschaften

Funktionalität

Zuverlässigkeit

Bedienbarkeit

Richtigkeit

Angemessenheit

Interoperabilität

Verständlichkeit

Erlernbarkeit

Bedienbarkeit

…LOC

Interactions/Use Case

380k

2,5

0,01

0,1

0,7

0,3

0,2

0,2

0,5

0,3

0,2

0,2

0,5

QM-BerichtDie Qualität beträgt: 0,4 Qualitätsstufe: gut

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 16: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

16

Arten des Qualitätsmanagements

16

Produktorientiertes und prozessorientiertes Qualitätsmanagement Konstruktive und analytische Maßnahmen des Qualitätsmanagements

Diskussion: Welche Maßnahmen können wir in der Gruppe zur Erhöhung der Softwarequalität treffen?

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 17: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

17

Produkt- und Prozessorientiertes QM

Produktorientiertes Qualitätsmanagement Das Softwareprodukt und Zwischenergebnisse (Klassen, Methoden oder

Komponenten wie GUI, Parser, Algorithmen, usw.) werden auf vorher festgelegte Q-Eigenschaften und Metriken überprüft

Direkte Sicherstellung, dass das Produkt bestimmte Q-Eigenschaften besitzt

Prozessorientiertes Qualitätsmanagement Bezieht sich auf den Entwicklungsprozess der Software, eingesetzte

Werkzeuge, Richtlinien für Dokumente, etc. Wird der Prozess eingehalten, ergibt sich automatisch eine hohe Qualität Inspiriert durch die industrielle Serienfertigung

• die gibt es aber bei Software kaum, daher muss prozess-orientiertes QM typischerweise an Projekte angepasst werden

Rein prozessorientiertes QM hat sich als unzweckmäßig erwiesen

17

nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 18: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

18

Konstruktive und Analytische QM-Maßnahmen

Konstruktive QM-Maßnahmen Sorgen während des Erstellungsprozesses dafür, dass am Ende

Qualitätsmerkmale erfüllt werden

Analytische QM-Maßnahmen Dienen nur der Diagnose

• Messen des Qualitätsniveaus• Finden von Defekten

Erhöhen nicht direkt die Qualität eines Produkts, bzw. Prozesses Analytische Verfahren: Sammeln von Informationen über das Produkt bzw.

den Prozess durch statische Betrachtung Testenden Verfahren: Sammeln von Informationen über das Produkt bzw.

den Prozess durch dynamische Ausführung

18nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 19: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

19

Konstruktive, produktorientierte QM-Maßnahmen (Beispiele)

sind Methoden, Sprachen, Standards, Richtlinien, etc., die für das erreichen bestimmter Q-Merkmale im Produkt sorgen, z.B. Richtlinien für Dokumente (z.B. Schema für das Pflichtenheft) Einsatz einer Programmiersprache mit statischer Typprüfung, z.B. Java

(vermeidet viele Fehler) Objektorientierte Entwicklung (Vererbung und Polymorphie unterstützt die

Wiederverwendbarkeit und Erweiterbarkeit) Einsatz von Design-Patterns (Plug-in-Mechanismus, MVC, etc. unterstützen

das Erreichen verschiedene Q-Merkmale) Modellbasierte Entwicklung (z.B. mit UML, EMF; viele Fehler in automatisch

generiertem Code werden vermieden) Einsatz von Werkzeugen wie z.B. Eclipse: automatische Code-

Vervollständigung, Syntax-Highlighting, …

19nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 20: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

20

Konstruktive, prozessorientierte QM-Maßnahmen (Beispiele)

sind Methoden, Sprachen, Standards, Richtlinien, etc., die für das erreichen bestimmter Q-Merkmale im Prozess sorgen, z.B. Richtlinien: Welche Teilergebnisse mit welchem Inhalt müssen wann und

von wem erstellt werden Definition eines Prozessmodells (Transparenz, Planbarkeit) Unterstützung der Zusammenarbeit durch ein Versions- und

Konfigurationsmanagementsystem (SVN) Automatische Überwachung des Entwicklungsprozesses Einsatz von Wikis, oder z.B. Mylyn, IBM Rational Jazz, … Regelmäßige Treffen mit standardisiertem Ablauf und schriftlichen

Protokollen Pair-programming (prozess- oder produktorientierte Maßnahme?)

20nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 21: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

21

Analytische QM-Maßnahmen (Beispiele)

Analytische Verfahren Statische Analyse Review Inspektion Walkthrough Audit (Erfassung von Prozessmerkmalen)

Testende Verfahren Test Simulation

Verifikation (vollständiger Beweis der Korrektheit eines Systems bzgl. bestimmter Eigenschaften, z.B. Model Checking) – analytisches oder testendes Verfahren?

21nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 22: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

22

Prüfmethode Review

Mehr oder weniger formale Prozess, in dem es darum geht, Fehler, Unklarheiten, Inkonsistenzen (allg. Schwächen) eines Dokumentes (oder Code-Abschnitts) aufzudecken.

Dazu wird das Dokument systematisch in einem Team (von Gutachtern und unter Beteiligung der Autoren des Dokuments) angesehen und besprochen

Das Ergebnis ist ein Prüfprotokoll oder die Freigabe des Dokumentes (ggf. nach Iteration)

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 23: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

23

Psychologie des „Reviews“

Problem: Autoren „stehen in der Schusslinie“ bzw. werden „in die Mangel genommen“

Psychologische Aspekte müssen beim Ablauf berücksichtigt werden: z.B. Keine Vorgesetzen anwesend Keine Beurteilung anhand der Reviews …

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 24: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

24

Prüfmethode Inspektion

Sehr formale Form des Reviews Beteiligte: Gutachter, Autor(en), Moderator, Protokollant Ablauf:

Eingangsprüfung: Moderator prüft Eingangskriterien und kann Prüfung ablehnen

Planung: Moderator plant den Prüfprozess (Rollen, Zeitplan, Unterlagen, Aufteilung des Prüfobjekts, Kriterien)

Einführung: Aufgaben verteilen, Vorgehen abstimmen Individuelle Vorbereitung: Beteiligte bereiten sich auf die Inspektionssitzung

vor Inspektionssitzung: Prüfobjekt wird auf Defekte untersucht Überarbeitung Nachprüfung Abgabe

24nach Balzert

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 25: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

25

Prüfmethode Walkthrough

Informelle Form des Reviews Beteiligte: Autor(en), Gutachter Ablauf:

Ggf. Individuelle Vorbereitung und Prüfung des Gutachters• kann den Walkthrough-Prozess verkürzen

Walkthrough-Sitzung:• Autor stellt das Produkt Schritt für Schritt vor• Gutachter stellt fragen und weist auf Probleme hin• Probleme werden protokolliert

Walkthroughs können während des Software(technik)praktikums gut in Gruppen-Sitzungen durchgeführt werden Tutor kann Rolle des Gutachter spielen

2512.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 26: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

26

Fehler und Tests

„Testen ist das Ausführen eines Programms, mit der Absicht (möglichst viele) Fehler zu finden“

Ein Fehler ist eine Abweichung des Verhaltens eines Produkts/Programms (IST) vom erwarteten Verhalten (SOLL).

Ein Test besteht aus einem Satz von Eingabedaten zusammen mit dem jeweils erwarteten Ergebnis (SOLL).

Beim Durchführen eines Tests wird das Programm mit den Eingabedaten ausgeführt und das Ergebnis mit dem erwarteten Ergebnis verglichen.

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 27: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

27

Testen zur Qualitätssicherung

Tests können Zutrauen in die Fehlerfreiheit vermitteln und liefern damit ein Maß für die Richtigkeit (Funktionalität) und die Fehlertoleranz und Reife (Zuverlässigkeit)

des Programms

Tests können meist automatisch durchgeführt werden; problematisch sind nur graphische Benutzeroberflächen

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 28: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Stufen des Tests

Tests können auf verschiedenen Stufen durchgeführt werden

Abnahmetest(vom/mit Auftraggeber)

Systemtest Integrationstest Unit-Test

28

Test*

De

kompo

sition

Spezifikation Inte

grat

ion

Implementierung

* der vorher spezifizierten Eigenschaften

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 29: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

29

Erinnerung: Bereits bekannt aus Vorlesung Softwareentwurf

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 30: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Automatisierung

Tests können meist automatisch durchgeführt werden; dazu sind evtl. Testtreiber nötig

schwierig zu testen sind graphische Benutzeroberflächen Eingebettete Systeme

• … warum?

30

JUnit

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 31: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

31

Grenzen des Testens

Testen kann nur die Anwesenheit von Fehlern zeigen nicht deren Abwesenheit, also die Fehlerfreiheit der Software „der Fehler ist immer genau da, wo man nicht getestet hat“

Die Abwesenheit von Fehlern kann nur durch eine vollständige Verifikation überprüft werden z.B. Modelchecking: jeden möglichen erreichbaren Zustand eines

Programms auf bestimmte Eigenschaften untersuchen „jeden Fall testen“

Aber auch hier gibt es Grenzen: man überprüft nur vorher spezifizierte Eigenschaften aber erfüllt die Software die Erwartungen? Ist die Software dann „sicher“?

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 32: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

32

Prinzip: Frühzeitige Maßnahmen

Je früher ein Fehler gefunden und beseitigt wird, desto weniger Folgekosten verursacht er.

Extremform: „Test-Driven Development“ – Test-Cases werden vor der eigentlichen Implementierung geschrieben

Frühzeitige Maßnahmen:Fehler sollten möglichst früh entdeckt werden!

Podcast:http://www.se-radio.net/2010/09/episode-167-the-history-of-junit-and-the-future-of-testing-with-kent-beck/

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 33: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

33

Prinzip: Unabhängige Qualitätssicherung

Niemand macht gern das eigene Produkt kaputt(„Psychologie des Testens“)!

Wer beim Entwickeln einen Fall vergisst, vergisst ihn auch beim Testen.

Unabhängige Qualitätssicherung:QS-Maßnahmen sollten niemals vom Entwickler selbst durchgeführt werden!

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 34: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

34

Prozessorientiertes QM

Es gibt verschiedene Vorgehensmodelle bei der Softwareentwicklung Wasserfallmodell, V-Modell, Spiralmodell, … es sind nur grobe Beschreibungen für das Vorgehen bei der Entwicklung es ist nicht immer zweckmäßig, diese Modelle weiter zu detaillieren

Daher wurden verschiedene Rahmenmodelle entwickelt, welche allgemeiner Kriterien für die Durchführung eines Entwicklungsprozesses definieren CMMI SPICE / ISO 15504 ISO-9000 TQM

3412.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 35: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

35

ISO 9000-3 / ISO 9001

Das ISO 9000-Modell besteht aus einer Reihe von Normen für ein Qualitätsmanagementsystem

ISO 9000 RahmenwerkAuftraggeber - Lieferanten – Verhältnis

ISO 9001 beschreibt ganz allgemein Modelle zur Darlegung der Qualitätssicherung in Entwicklung, Produktion, Montage und Kundendienst

ISO 9000-3 ist eine Richtlinie für die Anwendung von ISO 9001 auf die Entwicklung und Wartung von Software(mit der hier üblichen Terminologie)

3512.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 36: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

36

Wichtig: Darlegung!

ISO 9000-1 legt kein Vorgehensmodell (Phasenmodell) fest; sie verlangt aber die Darlegung der Phasen, Ergebnisse und der

jeweiligen Qualitätssicherungsmaßnahmen (Verifizierung) und sie legt einmalig oder periodisch im Unternehmen durchzuführende

Maßnahmen und pro Projekt durchzuführende Maßnahmen fest Sie verlangt Maßnahmen zur Dokumentation der Projektabläufe

( Konfigurationsmanagement)

Vorgeschriebene Tags im SVN

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 37: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

37

Qualitätssichernde Maßnahmen

Festlegung der Qualitätspolitik Festlegung eines mit der Qualitätspolitik Beauftragten Regelmäßige Überprüfung Einplanung der Ressourcen für die Qualitätssicherung … Konfigurationsmanagement Schulung …

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 38: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Dokumente

Vertrag Spezifikation Entwicklungsplan Qualitätssicherungsplan Testplan Wartungsplan Konfigurationsmanagementplan

38

Dokumente lautProjektplanskizze

12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung

Page 39: © Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn Qualitätssicherung 12.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung.

© F

achg

ebie

t S

oftw

aret

echn

ik,

Hei

nz N

ixdo

rf I

nstit

ut,

Uni

vers

ität

Pad

erbo

rn

Vorteile

Qualitätsbewusstsein(auf Geschäftsführungsebene und Mitarbeiterebene)

Dokumentation der Qualitätspolitik und ihrer Umsetzung

Anpassungszwang (jährliche Überwachung)

Wettbewerbsvorteil

Nachteile

Gefahr der Bürokratie(Dokumente um der Dokumente willen)

Gefahr der Inflexibilität

Vor- und Nachteile von ISO 9000

3912.04.2013Software(technik)praktikum - Vorlesung Qualitätssicherung