About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
Q-Kriterien
Basics
Prozess
CodingRules
SourceCode Metriken
ISO9000 und SW
ISO9000
Speziell für Software: 
4.1Leitung/QMS 4.4Designlenkung Problemanalyse SW-Design 
4.6Lenkung/Beschaffung  4.13Korrektur Vorgehensweise  SW-Test
4.17Q-Audits/Schulung  Q-System 
 
ISO 9000 bei  Software-Test und Validierung 
Testplan
  • Testfälle, Testdaten und erwartete Ergebnisse 
  • Arten der Tests (Funktionstests, Grenzbedingungen, Leistungstests, Brauchbarkeitstests)
  • Testumgebung, Werkzeuge, Testsoftware 
  • erforderliches Personal
  • Weiterhin Überprüfen von:

  • Vollständigkeit des Testplans,
    sind die Tests angemessen?
Testdurchführung
  • Testergebnisse aufzeichnen 
  • entdeckte Probleme festhalten, mögliche Auswirkungen auf andere Teile vermerken, Verantwortliche informieren 
  • geänderte Bereiche kennzeichnen ? erneut testen
  • Angemessenheit und Zweckdienlichkeit der Tests bewerten
  • HW/SW Konfiguration beachten 
  • Produkt unter Bedingungen die dem Vertragsgegenstand entsprechen testen
Test
  • entstehendes Softwareprodukt wird zum Laufen gebracht und die Ergebnisse getestet
  • kann Fehler im Design oder den Anforderungen aufdecken
Inspektion
  • Mängel statisch aufdecken (ohne Programm auszuführen)
  • Die Inspektion ist arbeitsintensiv, komplex und herausfordernd. Es entsteht das Gefühl als sei diese weit kostenintensiver und ineffektiver als reiner Test.
  • Grundvoraussetzung ist, dass Design und Anforderungen korrekt sind (und das ist meist nicht der Fall)
  • Untersuchungen ergaben: Inspektionen finden mehr Fehler als Test und sind zudem kosteneffektiver 


Formelle Verifizierung

  • Wird kontrovers diskutiert: "muss sein" bis "ist sinnlos"
  • Aber für die meisten Projekte schlicht zu aufwendig/teuer (mathematischer Beweis).
Cleanroom-Methodik
  1. Formelle Verifizierung durch Entwickler (oder rigoroser Test).
  2. Unabhängige Tester mit dem Ziel möglichst viele Fehler zu finden.
  3. Statischer Test (Testfälle spiegeln den typischen Einsatz wieder, Auswahl erfolgt zufällig, Rückschlüsse auf Effektivität der Testfälle)


Statische Methoden

  • Schreibtischprüfung (bzw. am Monitor); Durchspielen des Source gedankliche Simulation.
  • Codeprüfung durch Gleichrangige; Codeinspektion durch 2-4 Entwickler (mehr oder weniger formal);  Probleme identifizieren aber nicht lösen;  evtl. auf kritische Codeteile beschränkt.
  • Strukturanalyse; Source-Metriken, automatische Codechecks (nur begrenzt wirksam).
  • Nachweis der Richtigkeit (formelle Verifikation)

  • umstritten und sehr aufwendig, die erstellten Nachweise sind häufig selber falsch.
 

 
©; created Mon Aug 07 22:31:53 CEST 2006; eMail