Software-Tester Teil 1 Flashcards
Definition von Testen
Testen bezeichnet im Allgemeinen die stichprobenartige Ausführung des Testobjekts unter spezifischen Bedingungen
Testen
Welches Problem tritt mit dem Stichprobencharakter auf?
Aufgrund des Stichprobenscharakters ist ein vollständiges Testen aller Eingaben i.d.R. nicht möglich.
Stichprobencharakter des Testens
Die Kriterien für die Erstellung von Testfällen
- Repräsentativ
- Fehlerintensiv
- Redundanzarm
- Ökonomisch
Welche Ansätze für das Test-Orakel gibt es?
- Automatisierte Testorakel (Durch ein Programm)
- Manuelle Testorakel (Durch den Menschen)
Definition von Debugging
Analyse der Ursache für die Fehlerwirkung, also Lokalisierung des Fehlerzustands
Testen
Definition Spezifikationsbasiertes Testen
Die Testfälle aus der Spezifikation des Prüfobjektes werden abgeleitet
Vorteile Spezifikationsbasiertes Testen
- Die in der Spezifikation beschriebenen Funktionalitäten die im Quellcode fehlen werden erkannt
- Es ist geeignet für alle Teststufen
Definition Quellcodebasiertes Testen
Die Testfälle aus den Strukturelementen des Programmcodes werden abgeleitet
Vorteile Quellcodebasiertes Testen
- Die Spezifika der konkreten Implementierung werden berücksichtigt
- Die Testabdeckung ist gut messbar und steuerbar
Teststufen
Was beinhaltet der Komponententest?
- Sicherstellen, dass das Testobjekt die Spezifikation erfüllt
- Der Hauptfokus liegt auf der Funktionalität und der Robustheit
- Es wird ein einzelner Softwarebaustein geprüft
Teststufen
Was beinhaltet der Integrationstest?
- Fehler im Zusammenspiel zwischen integrierten Komponenten finden
- mehrfach zusammengesetzte Teilsysteme
- Durch Integration von Komponenten entstandene Teilsysteme
Teststufe
Was beinhaltet der Akzeptanztest?
- Sicherstellen, dass das Gesamtsystem für den Kunden/Benutzer funktioniert
- Testen ob der Kunde/Benutzer die Software akzeptiert
Teststufen
Was beinhaltet der Regressionstest?
- Eine neue Produktversion wird getestet
Teststufen
Was beinhaltet der Systemtest?
Sicherstellen, dass das Gesamtsystem die Anforderungen der Systemspezifikation erfüllt.
Spezifikationsbasiertes Testen
Was wird beim Äquivalenztest gemacht?
Es werden Eingaben in “Gruppen ähnlicher Werte” unterteilt = Äquivalenzklassen
Spezifikationsbasiertes Testen
Definition Äquivalenzklasse
Teilmenge von Elementen aus einer Gesamtmenge, die untereinander in einer Äquivalenzrelation stehen.
Das Vorgehen beim Äquivalenztest
- Definitionsbereich für jede Eingabevariable ermitteln
- Äquivalenzklassen für Eingabe bilden, d.h. gültige und ungültige Klassen bilden
- Äquivalenzklassen identifizieren
- Testfälle für gültige Äquivalenzklassen definieren
- Testfälle für ungültige Äquivalenzklassen definieren
Aquivalenztest
Der Definitonsbereich
Definitionsbereich = Wertebereich für Eingaben (x) in das Testobjekt (f(x))
Bildung von Äquivalenzklassen
Zerlegung aller möglichen Eingabedaten in gültige und ungültige Äquivalenzklassen
Bildung von Äquivalenzklassen
Wenn gilt Definitionsbereich = Wertebereich
Wenn das gilt, gibt es eine gültige Ä-Klasse und zwei ungültige Ä-Klasse
Bsp.: Wertebereich 1 <= Wert <= 49
- gültige Ä-Klasse: 1 <= Wert <= 49
- ungültige Ä-Klassen: Wert < 1, Wert > 49
Bildung von Äquivalenzklassen
Wenn gilt Definitionsbereich = Datenstrukturen (Mengengerüst)
Wenn die untere und obere Schranke angegeben ist gibt es eine gültige und zwei ungültige Ä-Klassen
Bsp.: Eine Liste enthält 1 bis 155 Elemente
- gültige A-Klasse: 1 bis 155
- ungültige Ä-Klassen: 0, > 155 Elemente
Bildung von Äquivalenzklassen
Wenn gilt Definitionsbereich = Eingabevariable unterliegt Bedingungen
Es muss eine gültige und eine ungültige Äquivalenzklasse gebildet werden
Bsp.: Eingabe ist eine natürliche Zahl
- Gültige Ä-Klasse: x € IN
- Ungültige Ä-Klasse: x !€ IN
Bildung von Äquivalenzklassen
Wenn gilt Definitionsbereich = Aufzählung / ungeordneter Wertebereich
Es muss eine gültige und eine ungültige Ä-Klasse gebildet werden
Bsp.: Aufzählung: {rot, gelb, grün}
- Gültige Ä-Klasse: {rot, gelb, grün}
- Ungültige Ä-Klasse: Wert nicht in {rot, gelb, grün}
Benennung von Äquivalenzklassen
Wie werden gültige Ä-Klassen identifiziert?
Jede gültige Ä-Klasse wird eindeutig identifiziert z.B. mittels Zahlen: 1, 2, etc.
Benennung von Äquivalenzklassen
Wie werden ungültige Äquivalenzklassen identifiziert?
Jede dazugehörende ungültige Äquivalenzklasse wird davon abgeleitet z.B. mittels 1a, 1b, 2a etc.
Wie werden Testfälle für gültige Äquivalenzklassen ausgewählt?
Die Testfälle werden so ausgewählt, dass die Eingaben möglichst viele bisher noch nicht abgedeckte gültige Ä-Klassen abdecken
- Wird solange wiederholt bis alle gültigen Ä-Klassen abgedeckt sind
- Ein Testfall kann mehrere Ä-Klassen haben
Wie werden Testfälle für ungültige Ä-Klassen ausgewählt?
Testfälle werden so ausgewählt, dass diese nur genau eine bisher noch nicht abgedeckte ungültige Ä-Klassen abdecken
Was macht die Grenzwertanalyse aus?
Sie stellt in Frage ob die Repräsentanten einer Klasse gleich gut sind und bietet eine Lösung
- Es werden unterschiedliche Grenzen bzw. mehr Grenzen im Gegensatz zum Äquivalenztest genutzt
Grenzwertanalyse
Heuristik der Grenzwertanalyse
Für jede Grenze wird ein Testfall abgeleitet für den exakten Wert und für die beiden benachbarten Werte
Bsp.: gültige Äquivalenzklasse 1: [-32768, 32767]
- ungültige Ä-Klasse 1a: < -32768
- ungültige Ä-Klasse 1b: > 32767
Grenzwerte:
- -32769, -32768, -32767 (untere Grenze)
- 32766, 32767, 32768 (obere Grenze)