3. SE - 6. Validierung von Software Flashcards
Definition Verifikation (von Software)
Entspricht das Produkt den Anforderungen
Definition Validierung (von Software)
Stellt Produkt Anwender in ihrer Arbeitsumgebung zufrieden?
Welche zwei Verfahren von Verifikation und Validierung gibt es?
Softwareinspektion und Softwaretest
Was passiert bei der Softwareinspektion?
Man prüft je nach Entwicklungsfortschritt die Spezifikationen, die Entwurfsmodelle oder den Quellcode auf Fehler
Was passiert bei der Softwaretest?
Man bringt das Programm zur Ausführung und prüft, ob es leistet was es soll
True or false?
Test können nie alle Möglichkeiten abdecken, die bei der Ausführung eines Programms vorkommen
True
Was passiert bei testcases?
Man entwirft Testfällte, die die zu tätigen Eingaben und die vom System erwarteten Ausgaben enthalten
Aus was werden Test Cases abgeleitet?
Use-Cases
Für was dienen Test Cases?
Dienen als Anleitung für die Tester
Was beschreiben Test Cases?
- Vorbedingungen
- Eingabedaten
- Aktionen
- Erwartete Ergebnisse
Welche Eingabewerten werden die Eingabedaten enthalten beim Testen?
gültige und ungültige
Welche Bestandteile sind wichtig in einem Testcase?
Projekt ID des Testcase Titel des Testcase Ersteller des Test Case Beschreibung Voraussetzung Datum und Uhrzeit der Testdurchführung Durchführender Tester Durchführende Schritte (Variante 1 (2,3,...))
plus eine Tabelle in denen Varianten getestet werden
Nenne die Spalten-Überschriften einer Testcase Datentabelle
Variante, Testdaten, Erwartetes Resultat, Tatsächliches Resultat, Pass/Fail
Was bedeutet Black-Box-Test?
Testfälle werden ausschließlich aus der Spezifikation abgeleitet
Was bedeutet White-Box-Test?
Beim Erstellen der Testfälle wird Wissen um den Aufbau des Programms berücksichtigt (Bsp. Array der Länge n mit Index 0 bis n-1)
Was für Testprinzipen gibt es?
Anforderungsbasiert Klassenbasiert Strukturell Pfadüberdeckung Testen auf Zufallswerte CRUD
Was für Testprinzipen gibt es? Erkläre diese
Anforderungsbasiert
Aus Use Cases werden Test Cases abgeleitet
Klassenbasiert
Ein- und Ausgabewerte klassifiziert nach der Art wie sie verarbeitet werden. Alle diese Äquivalenzklassen werden getestet.
Bsp. Ein Programm erhält laut Spezifikation zwischen 4 und 10 ganzzahlige Eingaben in fünfstelligen Wertebereich zwischen 10000 und 99999
Strukturell
Algorithmus bekannt, man versucht Grenzfälle abzudecken
Bsp. mittleren Wert bei einer binären Suche
Pfadüberdeckung
versucht, alle Ausführungspfade eines Programms abzudecken
Bsp. Wahr- und Falsch-Fall aller Verzweigungsbedingungen
Testen auf Zufallswerte
Ergänzend, weil Entwickler in Testcases eher jene Eingabedaten aufnehmen, die sie schon bei der Entwicklung besonders beachtet haben
CRUD
Datenbasiertes testen. Testfälle werden so zusammengestellt, dass ein objekt den Lebenszyklus Create-Read-Update-Delete durchläuft
Wie werden Testfälle beschrieben?
mit Modellen (NICHT textuell)
Aus Umgebungsmodellen und Systemmodellen können Modelle für mehrere Testfälle abgeleitet oder generiert werden. Nenne jeweils ein Bsp für beide Modelle
Umgebungsmodell: Use-Case-Diagramm
Systemmodell: Aktivitätsdiagramm