5.1 Einsatz und Überblick über dynamische Verfahren
Wie werden sie noch genannt?
Was passiert generell bei dynamischen Tests?
Was sind sie für Maßnahmen
testende Verfahren, SW-Test, Test
System oder -teile ausgeführt, konkrete Eingabewerte übergeben und das Systemverhalten bzw. das erzeugte Ergebnis bewertet
diagnostische Maßnahmen
Teststufen
Wann
ab wann erfolgen Teststufen
Welche Teststufen gibt es?
Was bestimmt welche Qualitatseigenschaft im FOkus steht?
entwicklungsbegleitend
Ab dem ersten SW-Artefakt
Komponententest, Integrationstest, Systemtest, Abnahmetest
QZ und aktuelle Teststufe
Testfall
Wozu dient er?
aus welchen Elementen besteht er?
Handlungsanweisung
Mindestens:
Vorbedingungen, die vor dem Prüfschritt sichergestellt werden müssen;
Testdaten bzw. Testaktionen, die während des Prüfschrittes eingegeben bzw. durchgeführt werden;
Nachbedingungen, deren Erfüllung nach dem Prüfschritt geprüft wird sowie
beschreibende Daten zum Testfall, wie Name, ID, betreffende Komponente, Funktion oder Eigenschaft, die geprüft wird, Anwendungsfall oder Name des Erstellers.
Testfallerstellung
Wie werden Testtechniken unterschieden?
Was kann dabei unterschieden werden?
Anhand der Art und Weise, wie Testfälle erzeugt werden
Black-Box-Test
White-Box-Test
Ziel
Fokus
Vorgehen
Prüfung
—> Einsatz?
Vorteil
Was ist für Black-Box-Test von zentraler Bedeutung?
—> Erläutere
Prüfung aller in der Spezifikation geforderten Funktionen und Eigenschaften zu einem System oder einer Systemkomponente
möglichst große Abdeckung der spezifizierten Funktionen eines Systems
—> nur das nach außen hin sichtbare Verhalten ist relevant
1. Tester liest und interpretiert die Spezifikation.
2. Erstellung anhand Interpretation Testfälle und führt diese aus
3. Beurteilung Testergebnisse anhand Interpretation
Zusammenspiel verschiedener Systemkomponenten
—> Einsatz Integrations-, System- und Abnahmetests
anwendernah
Spezifikation
—> Auf Basis der Spezifikation wird der Grad der Testabdeckung bestimmt; sie wird als Basis für die Erstellung der Testfälle genutzt und anhand der Spezifikation werden die Testergebnisse beurteilt. Daher ist es umso wichtiger, dass bei der Erstellung der Spezifikation sorgfältig darauf geachtet wird, dass in ihr alle tatsächlich von den Stakeholdern benötigten Funktionen und Eigenschaften dokumentiert werden.
—> Wer nimmt die Rollen Entwickler und Tester ein?
Zeitpunkt
Unterscheidung
möglichst große Abdeckung der im Programmcode implementierten Anweisungen und Kontrollstrukturen (wie if, while, for, switch),
um dabei möglichst alle implementierten Anweisungen zu testen
1. Teil des Programmcodes implementieren
2. Analyse erzeugte Struktur des Codes analysiert.
3. Auf dieser Basis werden dann Testfälle formuliert (möglichst große Abdeckung)
4. Nach der Ausführung werden die Ergebnisse ausgewertet und bei Bedarf der Programmcode angepasst, bevor erneut getestet wird.
—> selbe Person
begleitend zur Implementierung und bei Komponenten- und Integrationstests
Testabdeckung
Definition
Dies ist das Maß wie vollständig die Menge von Testfällen das System testet. Der konkrete Messwert ist abhängig von der Art des Tests und der gewählten Technik der Testfallerstellung.
keine vollständige (nicht möglich), sondern eine kostenoptimale Qualitätssicherung
Auswahl von Testfällen
Was ist das Testen immer?
Warum
Was kann nicht nachgewiesen werden?
Was ist die Herausforderung?
Nenne 5 Techniken zur Testdatenermittlung und beschreibe 2 davon näher
Stichproben
unendliche viele Eingabewerte —> unendlich viele Zutsände
Korrektheit
Auswahl geeigneter Testfälle und Testdaten, damit mit möglichst wenig Aufwand möglichst hohe Testabdeckung erreicht werden kann.
Techniken
Anwendungsfallbasierte Testfallerstellung
Beschreibung: Ableitung von Testdaten aus dokumentierten Anwendungsfällen (Use Cases), zu denen häufig fachliche Vorbedingungen, das zu erreichende Ziel und Nachbedingungen dokumentiert sind.
EInsatz: Test, ob die festgelegten fachlichen Ziele innerhalb des Use Cases erreicht werden können; in der Regel nur als Black-Box-Test anwendbar.
Äquivalenzklassenbildung
Beschreibung: Zusammenfassen von möglichen Eingabewerten, mit denen das gleiche fachliche Ergebnis in Äquivalenzklassen erzielt wird. Jede Äquivalenzklasse wird durch einen Vertreter getestet.
EInsatz:
Ermittlung von Eingabedaten für Fachfunktionen, gezieltes Testen des Systemverhaltens mit gültigen und ungültigen Werten
Grenzwertanalyse
Zustandsbasierte Testfallerstellung
Ursache-Wirkungs-Analyse
Beschreibung: Prüfung von Beziehungen und Wechselwirkungen von Äquivalenzklassen; Ergebnis dieser Prüfung sind Kombinationen verschiedener Äquivalenzklassen, die jeweils in ein ganz bestimmtes Systemverhalten resultieren.
EInsatz: Prüfung von Anwendungsverhalten (Wirkung), das die Kombination verschiedener Eingabewerte (Ursachen) bestimmt
5.2 Anwendungsfallbasierte Testfallerstellung
Woraus werden die anwendungsfallbasierten Testfallerstellungen abgeleitet?
Nenne ein Beispiel
Wie viele Testfälle sollten zu wie vielen Anwendungsfällen erstellt werden?
Wie können diese spezifiziert werden?
aus den fachlichen Anwendungsfällen
Use-Case-Diagramme
mindestens ein Testfall zu jedem Anwendungsfall
Vorgehen bei der Testfallerstellung
Nenne die Kriterien zur Auswahl relevanter Testfälle
Was kann anhand dieser Kriterein noch getestet werden?
Wertbeitrag:
Wie hoch ist der Beitrag dieser Funktion zur Wertschöpfungskette?
Nutzungshäufigkeit:
Wie viele Nutzer greifen wie häufig auf die Funktion zu?
Schadenspotential:
Welcher Schaden kann durch nicht identifizierte Fehler in der Funktion entstehen?
Typische Fehler:
Welche Funktionen bergen häufig Fehler in der Umsetzung? Wo sind die typischen Schwachstellen bei vergleichbaren Alt- oder Konkurrenzsystemen?
Geforderte Testabdeckung:
Welcher Grad der Testabdeckung ist für die fachliche Ebene tatsächlich gefordert?
Funktionen
Nenne die Kriterien für die geforderte Testabdeckung von Funktionen
Anweisungsüberdeckung
Jede Funktion wird mindestens 1 x aufgerufen.
Zweigüberdeckung
Jeder Kontrollflusspfeil wird mindestens 1 x durchlaufen.
Bedingungsüberdeckung
Jede Bedingung wird mindestens 1 x zu WAHR und 1 x zu FALSCH ausgewertet.
Pfadtest
Jeder mögliche Pfad durch den Use Case wird vollständig („am Stück“) durchlaufen, dabei werden mögliche Schleifen berücksichtigt.
5.3 Äquivalenzklassenbildung und Grenzwertanalyse
Äquvalenzklassenbildung
Was ist das?
Welcher Vorteil ergibt sich daraus?
Einsatz
Nenne Beispiele
Worin liegt der Unterschied zur Mathematik
Technik zur Auswahl konkreter Testdaten bei der Testfallerstellung auf der Ebene von Funktionen. Dabei werden alle möglichen Eingabewerte, die zu einer Funktion gemacht werden können (zu gleichem Systemvrhalten führen), in sogenannte Äquivalenzklassen eingeteilt.
Nicht alle Eingabewerte testen, sondern nur jeweils ein beliebig ausgewählter Vertreter aus jeder Äquivalenzklasse
—> weniger Testdaten pro Testfall
Grundsätzlich für alle Tests, in denen Daten übergeben oder Funktionen aufgerufen werden
Beispiele
Eine oder mehrere Bedingungen, die erfüllt werden müssen
Festgelegter Wertebereich
Anzahl von Elementen einer Menge ( Anzahl der Werte)
Auswahl Elemente einer Menge, die jeweils unterschiedlich behandelt werden
Testdaten müssen nicht disjunkt sein
Erläutere das Vorgen bei der Testfallerstellung
Äquivalenzklassen für jeden Eingabeparameter der Funktion bzw. jedes GUI-Element der Dialogmaske bestimmt und eindeutig gekennzeichnet.
Testfälle erstellen, mit denen alle gültigen Äquivalenzklassen abgedeckt werden
—> Ziel: möglichst viele Äquvalenzklassen in möglichst vielen Testfälle
Testfälle erstellen, mit denen alle ungültigen Äquivalenzklassen abgedeckt werden
—> Unterschied: pro Testfall nur eine ungültige Äquivalenzklasse
—> einfachere Identifizierung bei Fehlschlag
Erstellen konkreter Eingabedaten auf Basis der ausgewählten Äquivalenzklassen für jeden Testfall
Nenne die Vorteile
Nenne die Nachteile
Vorteile
einfache Technik zur Ermittlung von Testdaten und Testfällen
Einsatz für jede technische oder fachliche Funktion, die Eingabedaten erwartet
einfache Erstellung der Testfälle als auch eine intuitive Dokumentation aufgrund Tabellen
Nachteile
Keine Berücksichtigung fachlicher Abhängigkeiten
ungeeignet für Komponenten/ Systeme, deren Verhalten von internen Zuständen abhängig ist
Welche Annahme liegt ihr zugrunde?
Wie wird sie daher oft eingesetzt?
Was wird bei der Erstellung von Testfällen gezielt berücksichtigt?
—> Was bedeuted das konkret?
Was wird bei der Kombination zusätzlich gemacht?
—> Folge?
—> Wie kann man diese abfedern?
Technik zur Auswahl von konkreten Eingabedaten
Beobachtung, dass Softwarefehler häufig in dem Grenzbereich liegen, der den Übergang von gültigen zu ungültigen Eingabewerten darstellt, d. h. an den Grenzen von Äquivalenzklassen
in Kombination mit der Äquivalenzklassenbildung
Bei der Erstellung von Testfällen mit der Grenzwertanalyse werden gezielt gültige und ungültige Werte berücksichtigt, die an den Grenzen von Äquivalenzklassen liegen.
—> Bei der Grenzwertanalyse wird der am dichtesten an der Grenze liegende gültige Wert sowie der am dichtesten an der Grenze liegende ungültige Wert ermittelt und als Eingabewert für die Testfälle verwendet
jeweils ein Vertreter der Äquivalenzklasse im mittleren Wertebereich als Testdaten
—> mehr Testfälle
—> Einsatz verschiedener Grenzwerte, um Menge der Testfälle niedrig zu halten
5.4 Zustandsbasierte Testfallerstellung
Bei welchen Systemen wird sie eingesetzt?
Nenne Beispiele für:
technisch
fachlich
Für welche Tests kann sie eingesetzt werden?
Welche Testfälle werden erstellt?
bei Systemen oder Systemkomponenten eingesetzt, deren Verhalten maßgeblich durch einen internen fachlichen oder technischen Zustand gesteuert
- fachlich: Phasen in Lebenszyklen von Geschäftsobjekten (wie: beantragt, angenommen, abgelehnt) oder Prozessen (wie: eröffnet, Gutachten beauftragt, Schaden bewertet, Schaden reguliert)
- technisch: interne Zustände von Systemkomponenten; Protokollen an technischen Schnittstellen
für White-Box-Tests als auch für Black-Box-Tests eingesetzt
- Prüfung der Erreichung von definierten Zuständen über die dafür vorgesehenen Zustandsübergänge
—>explizit auch die Nicht-Unterstützung von nicht-vorgesehenen Zustandsübergängen durch das System geprüft.
Erstellen einer Zustandsübergangstabelle
Ausfüllen der Tabelle
Fehlerzustände in Tabelle eintragen
Testfälle aus Tabelle ableiten
- leichte Anwendung —> weit verbreitet
- Zustandsübergangstabellen: Testfälle leicht ableiten & Testabdeckung veranschaulichen
Zustandsübergangstabelle bei zuvielen zu testenden Zuständen schnell unübersichtlich
fachliche Funktionen, die ihre Zustände nicht ändern werden vergessen
5.5 Erstellung von Zufallstestdaten
Welche Testdaten werden erzeugt?
Nenne Beispiele für den Einsatz
Welches Grundprinzip zur Testdatenerstellung gilt?
Nenne konkrete Beispiele welche Daten erzeugt werden können
Nenne Vorteile
Nenne Nachteile
Testdaten, die als Eingabewerte für zu testende Funktionen genutzt werden
Beispiele:
Test von Benutzeroberflächen mit vielen Eingabeelementen
für das Testen des Datenaustausches über technische Schnittstellen
Erzeugung zufälliger Werte im Rahemn eines gegebenen Wertebereichs von EIngabeparametern
- Grenzen von Wertebereichen mit der Äquivalenzklassenbildung ermitteln und die Festlegung der konkreten Eingabewerte über Zufallstestdaten erfolgen
- komplexe Zufallstestdaten auf Grundlage bereits bestehender Testdatensätze
Vorteile:
generieren vieler verschiedener Testdatensätze mit geringem Aufwand
durch automatische Erzeugung durch Testdatengenerator können menschliche Fehler ausgeschlossen werden
keine Erzeugung realistischer Daten
—> Auwand Prüfung auf Nutzen individuell zu entscheiden
—> Häufig Ergänzung, nicht als einzige Technik ausreichend
Last changed6 days ago