IUBH Qualitätssicherung im Softwareprozess IQSS

IUBH Qualitätssicherung im Softwareprozess IQSS

IUBH Qualitätssicherung im Softwareprozess IQSS


Kartei Details

Karten 124
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 14.02.2025 / 17.02.2025
Weblink
https://card2brain.ch/box/20250214_iubh_qualitaetssicherung_im_softwareprozess_iqss
Einbinden
<iframe src="https://card2brain.ch/box/20250214_iubh_qualitaetssicherung_im_softwareprozess_iqss/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was ist Softwarequalität?

Softwarequalität ist die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte Erfordernisse zu erfüllen.

Was ist Softwarequalität nach DIN-‐ISO 9126 ?

  • Kann die Qualität nur auf  Basis der Spezifikation  bestimmt  werden   
  • Problem  dabei  häufig:    tatsächliche       Erfordernisse       ≠       festgelegte       Erfordernisse      

Qualitätsmanagement  (QM)?

  • Alle organisierten Maßnahmen,  die  der  Verbesserung   der  Qualität  dienen    

Aktivitäten im  QM?

  • QualitätsPlanung:  Dokumentation  der  Qualitätsanforderungen              
  • QualitätsSicherung (kurz: QS):  Sicherstellen, dass festgelegte Qualitätsanforderungen  erfüllt  werden
  • QualitätsLenkung: Steuerung und Kontrolle von QS-Aktivitäten       
  • QualitätsVerbesserung:  Änderungen  an Produkten- und Prozessen zur Verbesserung des  Qualitätsniveaus      

Kategorien von QM-Maßnahmen?

  • Konstruktives Qualitätsmanagement      
  • Analytisches  Qualitätsmanagement      

Konstruktives Qualitätsmanagement?

  • A priori
  • Fehler während Entwicklung vermeiden
  • technische Maßnahmen
  • organisatorische Maßnahmen 
  • zwischenmenschliche Maßnahmen 

Analytisches  Qualitätsmanagement?

  • Prüfung des Qualitätsniveaus  von im  SW-Prozess  erstellten Artefakten       
  • Systematisches Identifizieren von Fehlern nach der Erstellung
  • Statische (analysierende) Verfahren
  • Dynamische (testende) Verfahren

Prinzipien der SW-Qualitätssicherung (Balzert)?

 

  • Produkt- und prozessabhängige Qualitätszielbestimmung
  • Maximale  konstruktive Qualitätssicherung
  • Frühzeitige Fehlerentdeckung und behebung      
  • Entwicklungsbegleitende,  integrierte Qualitätssicherung

 

Produkt- und prozessabhängige Qualitätszielbestimmung?

  • Festlegen  von konkreten Qualitätszielen als Richtlinien zur Gestaltung von Qualität 
  • Unterscheiden sich von Projekt  zu Projekt      

Maximale  konstruktive Qualitätssicherung?

  • Alle  sinnvollen  Maßnahmen  zur Vermeidung von Fehlern sollten ergriffen werden     
  • Hohe Produktqualität durch hohe Prozessqualität    

Frühzeitige Fehlerentdeckung und behebung?

  • Früh  erkannte Fehler sind einfacher zu beseitigen als später erkannte      
  • QS-Aktivitäten so früh wie möglich im Prozess beginnen      

Entwicklungsbegleitende,  integrierte Qualitätssicherung?

  • QS-Aktivitäten  begleitend  zur Entwicklung, nicht erst  am Ende      

Grundsätze in Softwaretests  (Grechenig)?

  • Testen zeigt die Anwesenheit von Fehlern
  • Vollständiges  Testen ist  nicht  möglich
  • Testen ist abhängig vom Umfeld
  • Trugschluss:  Keine Fehler = brauchbares System   

Testen zeigt die Anwesenheit von Fehlern?

  • Ausführliches Testen reduziert die Wahrscheinlichkeit von unentdeckten Fehlern       
  • Fehlerfreiheit kann jedoch nicht  nachgewiesen werden      

Vollständiges  Testen ist  nicht  möglich?

  • Praktische Durchführung von vollständigen Tests ist in der Regel nicht möglich     
  • Sofwaretests immer Stichproben       
  • Sorgfältige und bewusste Erstellung von Tespällen erforderlich      

Häufung von Fehlern?

  • Großteil  der Fehler häufig nur in wenigen Komponenten

Testen ist abhängig vom Umfeld?

  • QS-Aktivitäten werden spezifisch auf  Grundlage der Anforderungen an das System bestimmt  und umgesetzt       

Qualitätskostenmodell?

Kostenoptmale Qualität?

Was kann getestet werden?

  • fachliche Anforderungen
  • technische Spezifikationen
  • Architekturbeschreibungen
  • Testfälle

Dynamische Tests sind jedoch nur bei ausführbaren Artefakten möglich. Alle anderen Artefakte werden durch statische Testverfahren geprüft.

Quantitativen Qualitätssicherung?

  • Aussagen über die Qualität eines Systems oder Prozesses anhand von Kennzahlen
  • Die tatsächlich gemessenen Istwerte werden dazu mit den Sollwerten verglichen.

Unabhängigen Qualitätssicherung?

  • Überprüfung ohne Abhängigkeiten von individuellen Interessen 
  • Soll Programmcode von dem Team getestet werden, das den Code erstellt, wird häufig die für die Qualitätssicherung vorgesehene Zeit nicht in dem Maße für QS genutzt, wie es erforderlich ist, sondern es werden eher weitere Funktionen implementiert.
  • Wird die QS allerdings vollständig aus der Verantwortung des Entwicklungsteams genommen, lässt sich häufig eine nachlassende Sorgfalt bei der Entwicklung beobachten, denn für das Finden von Fehlern sind ja „die anderen“ zuständig.

Wiederholungen haben keine Wirksamkeit?

  • Die mehrfache Ausführung der gleichen Testfälle mit den gleichen Eingabedaten im gleichen Systemzustand und auf Basis des gleichen Datenbestands sowie ohne Anpassungen am Programmcode erzielten keine Wirkung, die über eine einmalige Ausführung der Testfälle hinausgeht.

Kernaktivitäten im Qualitätsmanagement?

Bild

Prozessorientiertes Qualitätsmanagement?

  • Steuerung der Qualität des Softwareprozesses.
  • Im Fokus Durchführungsqualität, Einsatz der vorgesehenen Techniken und Methoden.
  • Das prozessorientierte Qualitätsmanagement erfolgt begleitend zum Softwareprozess
  • Kontinuierliche Bewertung und gegebenenfalls Verbesserung der Prozessqualität.
  • Wichtige Voraussetzung ist das Qualitätsbewusstsein der Teammitglieder.

Produktorientiertes Softwarequalitätsmanagement?

  • Überprüft das Softwareprodukte auf Qualitätsmerkmale
  • Erfüllung von Güte bedingungen die von externen Zertifizierungsstellen geprüft und bestätigt werden.
  • Umfassen sowohl konstruktive Maßnahmen, als auch analytische Maßnahmen

Qualitätsplanung und Qualitätsziele?

  • Konkrete Qualitätsziele festlegen  
  • Vorgaben zur Organisation und Durchführung von Maßnahmen zur Qualitätssicherung.
  • Möglichst kostenoptimal
  • Die Qualitätsplanung erfolgt in frühen Phasen des Projekts. 
  • Qualitätsziele mit Hilfe eines Qualitätsmodells bestimmen und zu jedem Qualitätsziel entsprechende Qualitätsindikatoren ableiten.

Planung der organisatorischen Erreichung von Qualität?

  • Wer soll die Qualität sichern?

  • Was soll qualitätsgesichert werden?

  • Wann soll die Qualität gesichert werden?

  • Wie soll die Qualität gesichert werden?

Wer?

  • Welche Teammitglied welche Rollen in Bezug auf das Qualitätsmanagement und welche Aufgaben dem Zuständigkeitsbereich der einzelnen Rollen zugeordnet sind.

Was?

  • Zu jedem Ergebnistyp, muss festgelegt werden, welche Kriterien zu dem erzeugten Artefakt erfüllt sein müssen, damit der geforderte Qualitätsgrad vorliegt.

  • Messbare Qualitätsindikatoren müssen auf Grundlage der als relevant festgelegten Qualitätsziele bestimmt und dokumentiert werden.

Wann?

  • Die verschiedenen QS-Aktivitäten müssen in einen zeitlichen Bezug zu den konstruktiven Aktivitäten im Softwareprozess gesetzt werden.

  • Neben der gezielten Festlegung von Aktivitäten werden häufig auch sogenannte Quality Gates definiert.

  • Ein Quality Gate ist ein bestimmter Zeitpunkt im Softwareprozess, zu dem definierte Eigenschaften der vorliegenden Artefakte explizit geprüft werden müssen. Sind eine/mehrere geforderte Eigenschaften nicht erfüllt, können die Folgeaktivitäten nicht begonnen werden.

Wie?

  • Konkrete Techniken und Methoden zur Qualitätssicherung bzw. Testfallerstellung bestimmen
  • Techniken werden ausgewählt, mit denen nach aktuellem Kenntnisstand eine kostenoptimale Systemqualität erzielt werden kann. Im Verlauf Projektsituation anpassen.

Aktivitäten zu Qualitätsplanung?

Bild

Qualitätsziele und Qualitätsmodell?

  • Qualitätsziele bilden den Orientierungspunkt, an dem sich die einzelnen QSAktivitäten orientieren müssen.
  • Die Grundidee eines Qualitätsmodells ist die Zergliederung eines abstrakten Oberbegriffs „Qualität“ in verschiedene Unterbegriffe, bis eine konkrete messbare Qualitätseigenschaft formuliert werden kann.

SMART-Modell?

S = spezifisch: Qualitätsziele sollen deutlich beschrieben und definiert sein.

M = messbar (qualitativ, quantitativ): Die Umsetzung der Qualitätsziele muss geprüft werden können.

A = akzeptabel: Die Qualitätsziele müssen von den Stakeholdern des Projekts akzeptiert werden, dazu zählt auch die Akzeptanz der Prüfmethode.

R = realistisch: Qualitätsziele müssen unter Berücksichtigung der fachlichen und organisatorischen Rahmenbedingungen erreicht werden können.

T = terminiert: Qualitätsziele müssen innerhalb eines vorgesehenen Zeitrahmens, z. B. in einem bestimmten Release umgesetzt werden.

Qualitätssicherung und Qualitätsverbesserung?

Aktivitäten für die Qualitätssicherung und -verbesserung nach organisationsspezifischen Vorgaben, jedoch für jedes einzelne Projekt konkret durch die Projektleitung zusammen mit dem Qualitätsmanager festgelegt.

  • *K: Konstruktives Qualitätsmanagement

  • *1: Prüfen der fachlichen Anforderungen

  • *2: Quality Gates

  • *3: Prüfen der technischen Spezifikation

  • *4: Bewertung der geplanten Architektur

  • *5: Testfallerstellung

  • *6: Komponententests

  • *7: Integrationstest

  • *8: Systemtest

  • *9: Abnahmetest

  • *2: Prüfen der technischen Spezifikation

Quality Gates?

  • Zu einem bestimmten Zeitpunkt im Softwareprozess sicherstellen, dass die erzeugten Artefakte vorher festgelegte Eigenschaften erfüllen.
  • Häufig werden Quality Gates auch aus Gründen der Transparenz und Nachvollziehbarkeit der Qualitätsentwicklung eingesetzt.
  • Ein Quality Gate kann passiert werden, wenn die vorher festgelegten Kriterien erfüllt wurden.
  • Neben der Qualität der erzeugten Artefakte wird mit Quality Gates häufig auch die Einhaltung von Vorgaben und Richtlinien an den Softwareprozess geprüft.

Qualitätslenkung?

  • Die Aktivitäten zu Qualitätslenkung dienen der Verbesserung der Qualität der QS-Aktivitäten.
  • Die QS-Aktivitäten müssen aktiv gesteuert werden.
  • Kontinuierliche Beobachtung der Prozess- und Produktqualität, Reaktion auf Änderungen des Qualitätsgrades in Form von Anpassungen der QS-Vorgaben sowie die Prüfung der tatsächlichen QS-Qualität.
  • Die Erkenntnisse aus den Aktivitäten zur Qualitätslenkung beeinflussen die Vorgaben und Richtlinien der Qualitätsplanung

Total Quality Management (TQM)?

  • Das TQM bezieht explizit alle Mitarbeiter einer Organisation bei der Qualitätslenkung mit ein.
  • Die Erreichung einer hohen Produktqualität ist beim TQM das höchste Ziel aller Mitarbeiter einer Organisation.
  • Allein der Kunde entscheidet über den erreichten Qualitätsgrad.
  • Hohe Qualität = langfristigen Geschäftserfolg durch die Zufriedenheit der Kunden .
  • Zum Total Quality Management gibt es keinen Standardprozess und eine Standardaktivitäten.
  • Es handelt sich um ein Managementprinzip zur Gestaltung von Organisationen und Abläufen.
  • Zum TQM lassen sich folgende Prinzipien beschreiben:
    • Prinzip der Kundenorientierung
    • Prinzip des Primats der Qualität
    • Prinzip der Zuständigkeit aller Mitarbeiter
    • Prinzip der ständigen Verbesserung
    • Prinzip des internen Kunden-Lieferanten-Verhältnisses
    • Prinzip der Prozessorientierung

Prinzip der Kundenorientierung?

  • Zufriedene Kunden sind das oberste Ziel, die Wahrnehmung des Kunden entscheidet über die Qualität des Systems.
  • Dem Entwicklungsteam müssen die tatsächlichen Anforderungen des Kunden und der Nutzen des Systems für den Kunden bekannt sein.
  • Das erfordert in der Regel eine Unterstützung des Kunden bei der Formulierung der tatsächlichen Anforderungen.

Prinzip des Primats der Qualität?

  • Alle Prozesse werden genauso durchgeführt, wie sie definiert sind.
  • Jede Person, die an der Ausführung des Prozesses beteiligt ist, erledigt ihre Aufgaben von Beginn an richtig
  • Nacharbeiten und Verschwendung von Ressourcen sollen vermieden werden.
  • Werden Fehler identifiziert, muss deren Ursache ermittelt und beseitigt werden.
  • Qualitätsverbesserungen werden durch die Optimierung des festgelegten Softwareprozesseserreicht.

Prinzip der Zuständigkeit aller Mitarbeiter?

  • Jeder am Projekt beteiligte Mitarbeiter, ist für die Erreichung eines angemessenen Qualitätsgrades mitverantwortlich.
  • Die Führungskräfte müssen den Mitarbeitern ein möglichst fehlerfreies Arbeiten ermöglichen
  • Dafür kann die Verantwortung nicht beispielsweise an eine QS-Abteilung delegiert werden.

Prinzip der ständigen Verbesserung?

  • Durch kleine aber kontinuierliche Schritte wird die Prozessqualität stetig verbessert
  • Dazu können und müssen prozessbegleitend Schwachstellen und Verbesserungsvorschläge von allen Mitarbeitern identifiziert und kommuniziert werden.

Prinzip des internen Kunden-Lieferanten-Verhältnisses?

  • Die interne Leistungserbringung wird vergleichbar organisiert wie ein externes Kunden-Lieferanten-Verhältnis.
  • Erbrachte Leistungen werden abgenommen und übergeben, wie es für einen externen Kunden der Fall wäre.