Definiere in einem Satz: Was legt die Testanalyse fest?
Was getestet werden soll = (Testbedingungen)
Definiere in einem Satz: Was legt man beim Testentwurf fest?
Wie soll getestet werden = Testfälle
Was sind Testverfahren? Bei welchen 3 Dingen helfen sie? Bei welchen 2 Phasen unterstützen sie? Gib ein Beispiel.
Sie sind Methoden die bei der
Definition von Testbedingungen
der Identifizierung von Überdeckungselementen
der Identifizierung von Testdaten
unterstützen, und zwar während der Testanalyse und des Testentwurfs. Eine Kategorie davon sind bspw. Black-Box-Tests.
Welche 3 Kategorien von Testverfahren unterscheiden wir?
Black-Box
White-Box
erfahrungsbasiert
Definiere Black-Box-Testverfahren. Worauf basieren sie?
Was gilt bezüglich der Kenntnis der Implementierung?
Was macht sie besonders flexibel?
Wie nennt man sie auch?
Black-Box-Testverfahren basieren auf einer Analyse des spezifizierten Verhaltens des Testobjekts ohne Kenntnis der internen Struktur.
Daher werden die Testfälle unabhängig von der Implementierung der Software erstellt.
Folglich sind die Testfälle auch dann noch nützlich, wenn sich die Implementierung ändert, das geforderte Verhalten aber gleichbleibt.
Sie werden auch spezifikationsbasierte Verfahren genannt.
Definiere White-Box-Testverfahren. Worauf basieren sie (2 Dinge)?
Wann können sie erstellt werden? Wieso?
White-Box-Testverfahren basieren auf einer Analyse der internen Struktur und Verarbeitung des Testobjekts.
Da die Testfälle vom Entwurf der Software abhängig sind, können sie erst nach dem Entwurf oder der Implementierung des Testobjekts erstellt werden.
Man nennt sie auch strukturbasierte Verfahren.
Definiere erfahrungsbasierte Testverfahren. Was nutzen Sie?
Wovon hängt die Effektivität ab?
Warum sind sie eine gute Ergänzung zu Black-Box und White-Box Testverfahren?
Erfahrungsbasierte Testverfahren sind intuitive Verfahren, die das Wissen und die Erfahrung von Testern effektiv für den Entwurf und die Implementierung von Testfällen nutzen.
Die Effektivität dieser Verfahren hängt stark von den Kenntnissen des Testers ab.
Mit ihnen können Fehlerzustände aufgedeckt werden, die bei Black-Box- und White-Box- Testverfahren möglicherweise übersehen werden. Daher ergänzen sie Black-Box- und White-Box-Testverfahren.
Nenne 4 übliche Black-Box-Testverfahren
Äquivalenzklassenbildung
Grenzwertanalyse
Entscheidungstabellentest
Zustandsübergangstest
Definiere Äquivalenzklassentests. Was machen Äquivalenzklassen und was gilt bzgl. ihrer Mitglieder?
Äquivalenzklassentests sind ein Black-Box Testverfahren, bei dem der Input-Space in eine Menge von Äquivalenzklassen unterteilt wird.Eine Äquivalenzklasse ist eine Menge von Eingaben, die eine bestimmte Gruppe an Fehlern triggert. Jede Eingabe eine Klasse würde genau die selben Fehler triggern und ist daher äquivalent / gleichwertig zu anderen Mitgliedern.
Für "was" können Äquivalenzklassen bei einem Testobjekt ermittelt werden? Gib 4 Beispiele.
Äquivalenzklassen können für jeden dem Testobjekt zugehöriges Datenelement ermittelt werden. Bspw:
Eingaben
Ausgaben
Konfigurationen
Interne Zustände
Welche 2 Mengeneigenschaften müssen Äquivalenzklassen erfüllen?
Sie dürfen sich nicht überschneiden
Sie dürfen nicht leer sein
Welche 2 grundlegenen Äquivalenzklassentypen unterscheidet man? Wie bestimmt man Zugehörigkeit (2 Aspekte je Typ)?
Gültige Klassen
Bspw. Eingaben, die vom Testobjekt verarbeitet werden sollen
oder für die laut Spezifikation eine Verarbeitungsvorschrift vorliegt
Ungültige Klassen
Bspw. Werte, die vom Testobjekt ignoriert oder abgewiesen werden sollen
oder für die laut Spezifikation keine Verarbeitungsvorschrift vorliegt
Was sind die Überdeckungselemente beim Äquivalenzklassentest? Wie berechnet man Überdeckung?
Die Überdeckungselemente sind die einzelnen Äquivalenzklassen.Die Überdeckung berechnet sich als:
(Anzahl ausgeführter Klassen / Anzahl aller Klassen)
(in Prozent).
Definiere Each-Choice-Überdeckung. Zu welchem Testverfahren gehört ist? Was gilt bzgl. Kombinationen?
Die Each-Choice-Überdeckung ist ein Überdeckungskriterium für Äquivalenzklassentests.Sie ist erreicht, wenn jede Äquivalenzklasse von mindestens einem Testfall ausgeführt wurde (das heißt sowohl gültige, als auch ungültige Klassen).
Kombinationen von Äquivalenzklassen (bspw. bei Parametern) wird nicht berücksichtigt.
Welche 4 Input-Space Intervalle / Klassen kennen wir beim Äquivalenzklassentest? Wie viele gültige und ungültige Klassen gibt es?
Ungeordnet (bspw. user-definierte Strings)
Gültig: Eingaben, die die Anforderungen erfüllen (bspw. bestimmte Zeichen oder Länge)
Ungültig: Eingaben, die die Anforduerungen nicht erfüllen
Geordnet, offen
Eingaben, bei denen es einen Grenzwert gibt, aber nicht 2 (bspw. > X oder < Y, aber nicht beides)
Gültig: Ein Klasse innerhalb des Intervals
Ungültig: Ein Klasse außerhalb des Intervals
Geordnet, geschlossen
Eingaben, bei denen es zwei Grenzwerte gibt (>= X und <= Y)
Gültig: Ein Wert im Interval
Ungültig: Eine Klasse oberhalb und eine Klasse außerhalb des Intervals (also 2)
Aufzählung
Eingaben, bei denen eine festgelegte Auswahl möglich ist
Gültige Klassen: Je eine pro Element mit einzigartigem Verhalten
Ungültige Klasse: Ein Element außerhalb der Auswahl
Erkläre die Grenzwertanalyse. Wozu gehört es? Worauf baut es auf? Wofür ist es anwendbar? Welche 2 Varianten gibt es?
Die Grenzwertanalyse ist ein Testverfahren, welches auf Äquivalenzklassen aufsetzt. Dabei werden Testfälle systematisch aus den Grenzwerten der Äquivalenzklassen anwendbar. Daher ist es nur für geordnete (bspw. numerische) Klassen anwendbar. Man unterscheidet folgende Varianten:
2-Wert Grenzwertanalyse
3-Wert Grenzwertanalyse
Welche Testfälle erstellt man bei der 2-Wert-Grenzwertanalyse? Erkläre an x > 10
Einen Testfall für jeden Grenzwert
Einen Testfall für den angrenzenden Wert des Grenzwerts aus der anderen Äquivalenzklasse
Bspw. x > 10 führt zu den Testfällen
10
9
Welche Testfälle erstellt man bei der 3-Wert-Grenzwertanalyse? Erkläre an x > 10
Einen Testfall für jeden angrenzenden Wert des Grenzwerts (also einen "pro Seite")
11
Was sind die Überdeckungselemente bei der 2- und 3-Wert-Grenzwertanalyse?
2-Wert = Die identifizierten Grenzwerte3-Wert = Die identifizierten Grenzwerte und deren Nachbarn
Gib ein Beispiel, wo eine 2-Wert Grenzwertanalyse nicht reicht und eine 3-Wert-Analyse nötig ist.
Bspw. wenn die spezifizierte Bedingung x <= 10 ist, dann liefert die 2-BVA:
Nehmen wir nun an, dass die Bedingung fälschlicherweise als x = 10 implementiert wurde. Dann würde nicht auffallen, dass Werte kleiner als 10 nicht akzeptiert werden, obwohl sie das sollten.Mit einer 3-BVA und den Testfällen 9, 10, 11 wäre es aber erkannt worden.
Erkläre die Struktur einer Entscheidungstabelle. Was sind die Vor- (2) und Nachteile (1) des Entscheidungstabellentests?
Vorteile
Listet alle Bedingungen und deren Kombinationen auf
Deckt Lücken und Widersprüche in den Requirements (Regeln) auf
Nachteile
Kann zeitaufwändig sein, da die Anzahl an Regeln exponentiell mit der Anzahl an Bedingungen wächst
Welche 3 Regeln gelten für die Notation von Bedingungswerten beim Entscheidungstabellentest?
Entweder einen Wahrheitswert (W = Wahr / Ja, F = Falsch / Nein) oder einen konkreten Wert eintragen.
-, falls die Bedingung für die aktuelle Regel irrelevant
N/A, falls die Bedingung für die Regel nicht durchführbar oder anwendbar ist.
Was sind die 2 Regeln für die Notation von Aktionen beim Entscheidungstabellentest?
X oder konkrete Aktion, falls eine Aktion eintreffen soll
Leer oder "-", falls die Aktion nicht eintreten soll
Wie berechnet man die Anzahl an Regeln beim Eintscheidungstabellentest?
|Anz. Bed|
Pi |mgl. Werte(Bi)|
i = 1
Wie berechnet man den Überdeckungsgrad beim Entscheidungstabellentest?
Er berechnet sich als der Anteil von Spalten, welche durch einen Testfall abgedeckt werden, ausgedrückt in Prozent.
In welchen 4 Schritten erstellt man eine Entscheidungstabelle?
Bedingungen aufstellen
Tabelle erstellen (nur Bedingungswerte)
Aktionen hinzufügen
Vereinfachen und Minimieren
Welche 3 Dinge gibt es beim Aufstellen von Bedingungen für eine Entscheidungstabelle zu beachten?
Nur atomare Bedingungen nutzen
Zusammensetzungen splitten
Positive Bedinguen aufstellen
Merke: Bedingungen können unterschiedlich formal sein
Bspw. Summe für Rabatt ist "ausreichend"
Oder: Summe >= 1000
Welche 2 Dinge gibt es beim ersten Erstellen einer Entscheidungstabelle zu beachten?
Alle Kombinationsmöglichkeiten von Bedingungswerten müssen eingetragen werden
Aktionen sollten erst mal ignoriert werden
Welche 2 Dinge gibt es beim Hinzufügen von Aktionen zu Entscheidungstabellen zu beachten? Welche 2 Werte gibt es?
Nur atomare Aktionen nutzen
"Keine Reaktion" kann auch ein expliziter Wert sein!
Werttypen:
X = Aktion erwartet
Leer = Aktion nicht erwartet
Erkläre das Vereinfachen und Minimieren beim Entscheidungstabellentest
Vereinfachen: Unrealistische und undurchführbare Regeln entfernenMinimieren:
Identifizieren von Regeln, welche die selben Aktionen auslösen
Die veränderlichen Bedingungen dieser Tabellen auf "-" setzen.
Erkläre das Zustandsübergangsdiagramm beim Zustandsüberdeckungstest! Was sind Input und Output?
Man hat eine Menge von Zuständen, die durch Übergänge verbunden sind
Ein Übergang wird bei einem Ereignis (Input) ausgelöst, vorausegsetzt eine Wächterbedingung (Guard Condition) ist erfüllt
Bei einem erfolgreichen Übergang wird eine Aktion (Output) ausgelöst
Welche 3 Überdeckungstypen gibt es beim Zustandsüberdeckungstest? Wie wird sie ausgedrückt? Gib Fachbegriffe an, wenn möglich.
Überdeckung aller Zustände
Überdeckung aller gültigen (= definierten) Übergänge
Auch bekannt als 0-Switch-Überdeckung
Überdeckung aller (inkl. ungültiger = undefinierter) Übergänge
Die Überdeckung wird in Prozent zur jeweiligen Zielmenge angegeben.
Welche wichtige Regel gibt es bzgl. der Überdeckung aller (inkl. ungültiger Zustände) hinsichtlich Testfällen?
Man sollte maximal einen ungültigen Übergang mit einem Testfall prüfen, um Fehlermaskierung zu vermeiden.
Für welche Software ist die Überdeckung aller Zustände (inkl. ungültiger) beim Zustandsüberdeckungstest die Mindestanforderung?
Bei unternehmens- und sicherheitskritischer Software.
Aus welchen 3 Schritten besteht der Zustandsüberdeckungstest?
Identifizieren der Zustände
Identifizieren der Ereignisse
Optional: Erstellen der Zustandstabelle
Erkläre die Zustandstabelle beim Zustandsüberdeckungstest. Wofür eignet sie sich besonders?
In der linkesten Spalte findet man den aktuellen Zustand
Die Überschriftenzeile gibt ein Ereignis und die Wächterbedingung an
In den Zellen findet man den zugehörigen Zielzustand, Aktionen und Wächterbedingungen
Ungültige = Undefinierte Übergänge werden über ein "-" gekennzechnet
Die Tabelle eignet sich besonders zur Identifizierung ungültiger Übergänge.
Welche 2 White-Box Testverfahren haben wir behandelt?
Anweisungsüberdeckung
Zweigüberdeckung
Was sind die Überdeckungselemente beim Anweisungsüberdeckungstest und wie erhält man 100 % Überdeckung?Welche 2 Probleme hat dieser Test?
Die Überdeckungselemente sind ausführbare Anweisungen.100 % Überdeckung = Alle Anweisungen wurden mit mindestens einem Testfall ausgeführt.Probleme:
Stellt nicht sicher, dass die gesamte Entscheidungslogik getestet wurde
Findet nicht zwangsläufig Fehler, welche datenabhängig sind (bspw. Division durch 0)
Was sind die Überdeckungselemente beim Zweigüberdeckungstest?
Welche 2 Typen unterscheiden wir?
Wie erreicht man 100 % Überdeckung?
Welche Überdeckung schließt es zusätzlich ein?
Gilt sie auch umgekehrt?
Die Überdeckungselemente sind Zweige im Kontrollflussgraphen.Typen:
Bedingungslos = goto, jump
Bedingt = If-else
100 % Überdeckung = Alle bedingten und bedingungslosen Zweige wurden durch mindestens einen Testfall ausgeführt.
Dabei eingeschlossen ist eine 100 % Anweisungsüberdeckung (aber nicht umgekehrt).
Welches Problem hat der Zweigüberdeckungstest? Wieso?
Das Ausführen eines bestimmten Zweigs wird nicht immer einen Fehlerzustand aufdecken, der dort verborgen ist. Denn das Auslösen der zugehörigen Fehlerwirkung kann vom Pfad abhängen (also den vorherigen Knoten, die genommen wurden).
Erkläre den Wert des Whitebox-Tests (4 Punkte). Was ist ein Nachteil?
Wert / Vorteile:
Zieht beim Test die gesamte Implementation in Betracht
Das hilft bei lückenhafter, veralteter oder vager Spezifikation
Kann beim statischen Test verwendet werden
Bspw. Dry-Runs oder Reviews von Code der nicht ausführbar ist (Pseudocode oder Kontrollflussdiagramme)
Bietet eine objektive Messgröße der Code-Überdeckung (bietet Black-Box nicht)
Hilft so neue Tests abzuleiten und Vertrauen in den Code zu erhöhen
Nachteil:
Kann Probleme damit haben Anforderungen zu finden, die (aufgrund schwacher Spezifikation) nicht oder nicht richtig umgesetzt wurden.
Welche 3 Formen erfahrungsbasierten Testens kennen wir?
Intuitive Testfallermittlung
Exploratives Testen
Checklistenbasierter Test
Wie funktioniert intuitive Testfallermittlung? (3 Punkte) Wie nennt man es auch?
Man designed intuitiv Testfälle, bspw. unter Berücksichtigung:
Früheren Verhaltens des Systems
Typischen Fehlhandlungen und -zuständen
Bekannten Kontext, bspw. der Programmiersprache (z.B. "C")
Daher ist die dieses Verfahren auch als "Error Guessing" bekannt.
Nenne 5 Beispiele von Fehlern die Inspiration für intuitive Testfallermittlung sein können.
Input: Korrekte oder Inkorrekte Eingaben wird nicht richtig behandelt
Output: Falsches Ergebnis oder Format
Randfälle durch Programmlogik nicht abgedeckt
Schnittstelle inkorrekt
Dateninitialisierung inkorrekt
Was sind Fehlerangriffe bei intuitiver Testfallermittlung? Worauf basiert es?
Das bezeichnet intuitive Testfallermittlung unter Verwendung von Listen, die bekannte Fehlhanldungen, -zustände und -wirkungen beinhalten.Die Liste basiert auf früheren Projekterfahrungen oder Fach- / Allgemeinwissen.
Erkläre exploratives Testen. Was ist der Kernunterschied zu intuitivem Testen?
Tests werden direkt entworfen, ausgeführt und bewertet, sodass der Tester auch mehr Wissen über das Testobjekt gewinnt.Im Vergleich zum inutitiven Test folgt es einem formalen Prozess mit Aufgaben, Zielen und Ergebnissen.
Erkläre sitzungsbasiertes Testen. Wozu gehört es? Welche 4 Dinge zeichnet es aus? Wie und was wird festgehalten?
Es ist eine Art explorativen Testens mit
Definiertem Zeitrahmen
Unter Verwendung einer Test-Charta
Mit einer Nachbesprechung
Welche bspw. Überdeckungselemente identifiziert und ausführt
Das Vorgehen und Ergebnisse werden in Session-Sheets dokumentiert.
Wozu gehören Test-Chartas? Welche 4 Dinge legen sie fest?
Test-Chartas gehören zu sitzungsbasiertem Test (explorativ).
Sie legen folgendes für die Sitzung fest:
Testziele
Testobjekt
Testverfahren
Welche Probleme gesucht werden
Wann ist explorativer Test sinnvoll? (3 Punkte)
Bei wenig oder unzureichender Dokumentation
Bei großem Zeitdruck
Als Ergänzung zu formalen Methoden
Wann ist explorativer Test besonders effektiv? (3 Punkte)
Wenn der Tester
erfahren
mit Fachwissen ausgestattet
analytisch, neugierig und krativ ist
Erkläre checklistenbasiertes Testen.Wie sind Checklisten-Einträge oft formuliert?Auf welche 3 Dinge können sie Bezug nehmen?
Beim checklistenbasierten Testen werden einzelne Testbedingungen auf Basis von Checklisteneinträgen geprüft.
Die Einträge sind oft als Frage formuliert. Bspw. "Ist der gesamte Text in Arial?"Die Checklisteneinträge nehmen bspw. Bezug auf
GUI
Qualitätsmerkmale
Sonstige Testbedingungen
Erkläre das Spannungsfeld bei Checklisten-basiertem Testen zwischen Konsistenz und Variabilität. Welche Gefahr besteht?
Rein prinzipiell bieten Checklisten Richtlinien und somit Konsistenz und Wiederholbarkeit.Durch generische Einträge kann aber auch Spielraum für Variabilität gelassen werden.Sind Einträge zu generisch kann sich das vllt. zu negativ auf die Wiederholbarkeit auswirken.
Warum müssen Checklisten beim checklistenbasiertem Test regelmäßig aktualisiert werden? (3 Punkte)
Neue oder entfernte SUT-Features
Programmierer lernen alte Fehler nicht noch mal zu machen
Neue Einträge für neu gefundene Fehlerwirkungen mit hohem Schweregrad
Welche 4 Don'ts gibt es für Checklisten-Einträge beim Checklistenbasierten Testen?
Checklisten dürfen nicht zu lang sein
dürfen keine automatisiert testbaren Elemente beinhalten
dürfen nicht zu allgemein sein
sollten nichts sein, was eher nach Eingangs- oder Endekriterien klingt
Was ist die Kernidee von auf Zusammenarbeit basierenden Testansätzen?
Die Vermeidung von Fehlerzuständen durch Zusammenarbeit und Kommunikation.
Was ist eine User-Story? Aus welchen 3 Komponenten besteht sie?Wie werden sie üblicherweise formuliert?
Eine User-Story beschreibt ein Feature, das aus User-Sicht relevant ist.Komponenten (3 C's):
Karte (Card) = Das Medium, wo die Story festgehalten wird
Konversation (Conversation) = Die Beschreibung des Features, also wie das System genutzt werden soll
Bestätigung (Confirmation) = Die Abnahmekriterien
Formulierung: Als [Rolle] möchte ich [Feature], sodass [Zweck]. Erfüllt sein muss dabei [Abnahmekriterien].
Nenne 2 Verfahren mit denen man User-Stories erstellen kann.
Brainstorming
Mind-Mapping
Welche 3 Perspektiven kann man durch die kooperative Erstellung von User-Stories berücksichtigen?
Fachlichkeit
Entwicklung
Test
Was sind 6 Eigenschaften guter User-Stories?
Man folgt dem INVEST Akronym.
Independent = Unabhängig
Negotiable = Verhandelbar
Valuable = Nützlich
Estimable = Schätzbar
Small = Klein
Testable = Testbar
Was sind Abhnahmekriterien? (Kontext: User-Stories)
Abnahmekritierien sind Testbedingungen, damit eine User-Story als korrekt implementiert betrachtet werden kann.
Nenne 5 Dinge für die Abnahmekriterien verwendet werden.
Definition des User-Story Umfangs
Zur Konsenserreichung zwischen Stakeholdern
Um positive und negative Szenarien zu beschreiben
Als Basis für Abnahmetests
Zur Ermöglichung einer genauen Planung und Schätzung
Erkläre die 3 Formate in denen Abnahmekriterien formuliert werden können und gib Beispiele
Szenario-Orientiert (Wenn/Dann-Schema = Behaviorial Driven Development)
Regelorientiert (Verifizierungsliste, Tabellarische I/O-Zuordnung)
Benutzerdefinierte Formate, solange klare und eindeutige Formulierungen
Beispiel Szenario-Orientiert
Gegeben: Situation
Wenn: Aktion
Dann: Ergebnis
Beispiel Regelorientiert
Stichpunktartige Auflistung an Dingen oder Sachverhalten, die erfüllt werden sollen
Was ist abnahmetestgetriebene Entwicklung? (Kontext: User-Story)
Ein Test-First-Ansatz, bei dem Testfälle vor der Implementation einer User-Story erstellt werden und zwar kooperativ zwischen Stakeholdern.
Erkläre den Ablauf der Abnahmetestgetriebenen Entwicklung für eine User-Story.
Spezifikationsworkshop
Analyse und Diskussion von der User-Story und Abnahmekritierien
Ggf. Korrektur und Erstellung
Erstellung der Testfälle
Erst Positivtests
Dann Negativtests
Dann nicht-funktionale Tests
Automatisierung von Testfällen
Ggf. werden die Kritierien in einem Format formuliert, das sich für automatisierte Testfallerstellung eignet. Dann werden aus ihnen automatisch Testfälle erzeugt, die als Treiber und ausführbare Spezifikation für die Implementation dienen können.
Welche 4 Dinge kennzeichnen die Notation von Abnahmetests?
In der Regel in natürlicher Sprache, damit alle Stakeholder sie verstehen
Sie sollten Vorbedingungen definieren, sowie
Nachbedingungen
Welche 2 Richtlinien gelten bezüglich der Anzahl an Abnahmetests für eine User-Story?
Tests sollen alle Merkmale einer Story abdecken, aber nichts darüber hinaus.
Es sollte nicht mehr als einen Testfall für ein Merkmal geben
Zuletzt geändertvor 4 Monaten