Definition Softwarequalität nach ISO 9126
Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte Erfordernisse zu erfüllen
Artefakte
Softwaremodelle
Anforderungen
Dokumente
Softwarekomponenten
Was ist Qualitätsmanagement
Alle organisierten Maßnahmen zusammengefasst, die der Verbesserung der Qualität von Produkten, Prozessen oder Leistungen jeglicher Art dienen
4 typische Aktivitäten Qualitätsmanagement
Qualitätsplanung
Qualitätslenkung
Qualitätssicherung
Qualitätsverbesserung
Qualitätsplanung…
Erstellung und Dokumentation der Qualitätsanforderungen gemeinsam mit dem Auftraggeber
Überwachung, Steuerung und Kontrolle von Aktivitäten zur Qualitätsprüfung im Softwareentwicklungsprozess
Qualitätssicherung (QS)
Tätigkeiten, die sicherstellen, dass festgelegte Qualitätsanforderungen für Produkte, Prozesse und Leistungen erfüllt werden
Auswertung von Produkt- und Prozessdaten zur Verbesserung des Qualitätsniveaus
2 Arten von Qualitätssicherung
Konstruktiv
Analytisch
Konstruktive Qualitätssicherung(a priori / ex ante)
Vor der Artefakt-Erstellung
Fehlervermeidend
Analytische (ex post) Qualitätssicherung
Statisch oder dynamisch
Nach der Erstellung
Bewertend
Maßnahmen zum konstruktiven QM
organisatorisch
technische Maßnahmen
zwischenmenschliche Maßnahmen
Organisatorische Maßnahen der Konstruktiven QS
Templates
Standards
Checklisten
Richtlinien
Technische Maßnahen der Konstruktiven QS
Methoden
Sprachen
Werkzeuge
Frameworks
Zwischenmenschliche Maßnahen der Konstruktiven QS
Qualifizierung
Gem. Aktivitäten
Gestaltung Arbeitsumfeld
Trainings
6 Prinzipien nach Balzert
(SW-Qualitätssicherung)
Prinzip der
Produkt- und prozessabhängigen Qualitätszielbestimmung
quantitativen QS
maximalen konstruktiven QS
frühzeitigen Fehlerentdeckung- und behebung
entwicklungsbegleitenden, integrierten QS
unabhängigen QS
Prinzip der produkt- und prozessabängigen Qualitätszielbestimmung
frühe, konkrete und dokumentierte Qualitätsziele für Produkt und Prozesse festlegen
nur dokumentierte Ziele können gezielt umgesetzt und geprüft werden
Prinzip der quantitativen QS
Qualität über Kennzahlen/Metriken mit Sollwerten bewerten; Ist- vs. Sollvergleich
Keine universellen Standardmetriken; Auswahl abhängig von Organisation, Projekt und Anforderungen
Prinzip der maximalen konstruktiven QS
Alle sinnvollen Maßnahmen zur Fehlervermeidung ergriffen
Leitidee: Hohe Prozessqualität führt zu hoher Produktqualität
Prinzip der frühzeitigen Fehlerentdeckung- und behebung
Fehler bereits in RE, Spezifikation und Architektur finden, vor der Implementierung
spätere Fehlerbehebung deutlich teurer, frühe Korrekturen sind günstiger/schneller
Prinzip der entwicklungsbegleitenden, integrierten QS
QS-Aktivitäten parallel zur Entwicklung und fest im Prozess verankern.
Alle Artefakte systematisch sichern, um Fehlerfortpflanzung zu verhindern.
Iteratives/evolutionäres Vorgehen: Jede Iteration schließt Tests ein
Prinzip der unabhängigen QS
Prüfung objektiv und frei von Interessenskonflikten
Nur interne Tests: Gefahr der Vernachlässigung von QS zugunsten neuer Funktionen; komplett externe QS: sinkende Entwickler-Softfalt
Mischmodell: Entwicklerteam stellt Basisqualität quantitativ sicher; QS prüft darüber hinaus fachliche End-to-End Fälle
Grundsätze im Softwaretest
Testen zeigt die Anwesenheit von Fehlern
Vollständiges Testen ist nicht möglich
Häufung von Fehlern
Wiederholungen haben keine Wirksamkeit
Testen ist abhängig vom Umfeld
Trugschuss: Keine Fehler bedingen nicht zwangsläufig ein brauchbares System
Qualitätskostenmodell
Aktivitäten im QM
Was bedeutet Qualitätsplanung?
Planung (Vorgaben Organisation und Durchführung) aller Maßnahmen zur Qualitätssicherung
Bestimmung der Qualitätsziele und der organisatorischen Aspekte der Qualitätssicherung
Legt für konkreten Softwareprozess fest, welche Personen für welche QS-Aktivitäten zuständig sind
risikobasierter Ansatz
WANN: Frühe Projektphase
Softwarequalitätsmodell nach ISO 9126
Funktionalität
Zuverlässigkeit
Benutzbarkeit
Effizienz
Änderbarkeit
Übertragbarkeit
Funktionalität im Softwarequalitätsmodell
Angemessenheit
Richtigkeit
Sicherheit
Zuverlässigkeit im Softwarequalitätsmodell
Reife
Fehlertoleranz
Wiederherstellbarkeit
Benutzbarkeit im Softwarequalitätsmodell
Verständlichkeit
Erlernbarkeit
Bedienbarkeit
Effizienz im Softwarequalitätsmodell
Verbrauchsverhalten
Zeitverhalten
Änderbarkeit im Softwarequalitätsmodell
Analysierbarkeit
Modifizierbarkeit
Stabilität
Prüfbarkeit
Übertragbarkeit im Softwarequalitätsmodell
Anpassbarkeit
Konformität
Austauschbarkeit
Aktivitäten zur Qualitätsplanung
Zuständigkeiten festlegen und Rollen besetzen
Gremien und Regelmeeting festlegen
Qualitätsziele festlegen und priorisieren
QS-Aktivitäten und Quality Gates im Softwareprozess festlegen
Abnahmekriterien und -gremien wichtiger Ergebnistypen festlegen
Konstruktive QS-Maßnahmen festlegen
statische und dynamische Verfahren festlegen
Testinfrastruktur festlegen
Build-Prozesse festlegen
Last changeda day ago