QM - Qualität & Test Flashcards
Qualitätskriterien
- Funktionalität: Korrektheit, Eignung für Aufgabe, Interoperabilität, Sicherheit
- Zuverlässigkeit: Reife, Fehlertoleranz, Wiederherstellbarkeit
- Benutzbarkeit: Verständlichkeit, Erlernbarkeit, Bedienbarkeit
- Effizienz: Zeitverhalten, Ressourcenverbrauch
- Änderbarkeit: Aufwand für Korrekturen, Aktualisierungen, Modifizierbarkeit
- Portabilität: Anpassbarkeit, Installierbarkeit, Austauschbarkeit
Was ist Qualitätsmanagement?
aufeinander abgestimmte Tätigkeiten zum Leiten & Lenken einer Organisation bezüglich Qualität
Analytische Qualitätssicherung
statische vs. dynamische Prüfung
Qualitätssicherung - Statische Prüfung
Prüfung von Dokumenten (Diagramme, Anforderungen, Code) durch Menschen
- Review
Qualitätssicherung - Dynamische Prüfung
Ausführung von Code
- Back-Box-Test
- White-Box-Test
Statische Prüfung - Review - Definition und Teilnehmer
formell organisiertes Meeting, um Schwächen/Stärken eines Prüfobjekts aufzuzeigen
- Prüfobjekte: Anforderungsbeschreibung, Code, Testpläne, Diagramme, Handbuch
- Teilnehmer: Moderator, Gutachter, Protokollführer, Autor
Statische Prüfung - Review - Ablauf
- Vorbereitung
Moderator verteilt Einladungen inkl. Prüfobjekte und weitere Dokumente - Meeting
Moderator leitet Meeting, Gutachter tragen entdeckte Mängel vor, Protokollführer schreibt Review-Bericht - Nacharbeit
Autoren ändern Prüfobjekt, evtl Nachkontrolle
Statische Prüfung - Review - Regeln
Die Gutachter müssen zum Meeting gut vorbereitet erscheinen (es werden nur Ergebnisse zusammengetragen)
Das Prüfobjekt, nicht der Autor steht zur Diskussion
Allgemeine Stilfragen werden nicht diskutiert
Probleme werden nur genannt, nicht gelöst
Statische Prüfung - Review - benötigte Dokumente
Prüfobjekt kann nur gegen Vorgaben geprüft werden.
Vorgaben: Anforderungen, Pflichtenheft, Programmierrichtlinien, Diagramme
Dynamische Prüfung - Testen
Program testing can be a very effective way to show the presence of bugs, but is hopelessly inadequate for showing their absence.
Test wird nicht ausgeführt, um die Korrektheit eines Programms zu zeigen, sondern seine Inkorrektheit. Die Korerktheit kann nicht bewiesen werden, da zu viele Eingabewerte
-> Bildung von Testfällen, um eine Maximierung der entdeckten Fehler zu erreichen
Dynamische Prüfung - Testen - Testablauf
- TESTPLANUNG
Teststrategie und Zeitplan festlegen - TESTSPEZIFIKATION
Testfälle auswählen und Testanleitung verfassen - TESTDURCHFÜHRUNG
Testfälle nach Anleitung durchführen und Ergebnisse protokollieren - TESTAUSWERTUNG
Ergebnisse zusammenstellen
Fehlerbehebung ist nicht Bestandteil!
Dynamische Prüfung - Testen - BackBox
funktionaler Test (Funktionalität ist relevant, nicht die Implementierung)
Testfälle werden aus Spezifikation abgeleitet
Interna des Testobjekts sind unbekannt
E/A-Verhalten wird geprüft
dient nicht der Lokalisation von Fehlern
Methodik: Äquivalenzklassenmethode, Grenzwertanalyse, Test von Zustandsautomaten
Dynamische Prüfung - Testen - WhiteBox
strukturorientierter Test
Testfälle werden aus Programmstruktur abgeleitet
Testüberdeckung wird anhand des Codes gemessen
Findet die Quelle von Fehlern
Methodik:
Dynamische Prüfung - Testen - BackBox - Aquivalenzklassen
Zusammenfassen von möglichen Eingabedaten zu Klassen, die ein identisches Systemverhalten hervorrufen
- aus jeder Klasse wird min. ein Repräsentant getestet
- Klassen für gültige, ungültige Eingaben und Sonderfälle
These: Deckt ein Repräsentant einer Klasse einen Fehler auf, würde jeder andere Wert dieser Klasse den Fehler auch erkennen.
-> ZIEL: Reduzierung der Anzahl der Testfälle
Dynamische Prüfung - Testen - BackBox - Grenzwertanalyse
basiert auf Äquivalenzklassen
- Testfälle werden an den Rändern zulässiger Datenbereiche gewählt
(da hohe Fehlerrate an Rändern durch Bedingungen und Schleifen)