CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

Get these flashcards, study & pass exams. For free! Even on iPhone/Android!

Enter your e-mail address and import flashcard set for free.  
Go!
All main topics / Informatik / Softwarekonstruktion

SWK (68 Cards)

Say thanks
37
Cardlink
0
Foliensatz 3.1
Bedingungsbasiertes Testen
Bedingungsüberdeckung
Einfache (oder atomare) Bedingungsüberdeckung ( C2-Überdeckung)

Idee:Zusammengesetzte Bedingungen nur einmal zu True und False auswerten ist nicht ausreichend.
( wie bsp. Zweigüberdeckung)
Teilbedingungen(atomare Prädikatterme) variieren.
Beispiel:
● if A>1 and (B=2 or C>1) and D then ... else …
●Entscheidungsprädikat: A>1 and (B=2 or C>1) and D
●Atomare Prädikatterme: A>1, B=2, C>1, D
Anderes Beispiel:
Vergleich der Zweigüberdeckung von if (a AND b AND c) {...} einer äquivalenten Konstruktion if a {if b {if c {...}}}

Einfache Bedingungsüberdeckung (C2-Test):
●Testdatenmenge T erfüllt C2-Überdeckung g.d.w. es:
−für jede Verzweigung im Programm mit zwei Ausgängen und
−für jeden Prädikatterm pdes zur Verzweigung gehörenden
Booleschen Ausdrucks
−zu jedem Wahrheitswert von p ein Testdatum t aus T gibt.
bei dessen Ausführung p diesen Wahrheitswert annimmt.
●Hinweis: Verzweigungen mit mehr als zwei Ausgängen in
äquivalentes Konstrukt mit zwei Ausgängen umformbar.

●Garantiert keine Zweigüberdeckung.
Testen beider Wahrheitswerte kompletter (zusammengesetzter) Boolescher Ausdrücke nicht garantiert.





Kann es einen C2-Testfall geben, der nicht alle Zweige testet ?


Zweig-/Bedingungsüberdeckung:
Testdatenmenge erfüllt Zweig-/ Bedingungsüberdeckung
gdw. sie  C2-Überdeckung(atomare Bedingungsüberdeckung) und C1-Überdeckung(Zweigüberdeckung) erfüllt.

dadurch werden aber nicht unbedingt alle Zweigkombinationen überdeckt.

Mehrfachbedingungsüberdeckung (C3-Überdeckung)

Testdatenmenge erfüllt Mehrfachbedingungsüberdeckung g.d.w.
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●jede mögliche Kombination der Wahrheitswerte atomarer Prädikatterme ausgeführt wird.

Also: für 2 Ausdrücke 4 Testfälle, ,3 Ausdrücke 8 Testfälle ...
()

Kombinationen aller atomarer Prädikate, bei einigermaßen komplizierten Prädikaten nicht mehr handhabbar

Minimale Mehrfachbedingungsüberdeckung
alle bis auf erste testen:
X (A>1)    Y (B=0)     X and Y
false      false            false
false      true              false
true        false            false
true        true              true

alle bis auf letzte testen
X (A=2) Y (C>1)       X or Y
false      false           false
false      true             true
true        false           true
true         true             true

Testdatenmenge erfüllt Minimale Mehrfachbedingungsüberdeckung (C2(mM)-Überdeckung, =minimal bestimmende Mehrfachbedingungsüberdeckung ) g.d.w.:
●für jede Verzweigung im Programm mit zwei Ausgängen und
●für zur Verzweigung gehörenden Booleschen Ausdruck
●folgende Kombinationen der Wahrheitswerte der enthaltenen
atomaren Prädikatterme ausgeführt werden:
−Jede Kombination von Wahrheitswerten, für die Änderung des Wahrheitswertes eines Terms den gesamten Wahrheitswert ändert.

Man nimmt einfach ALLE Terme bei der die Änderung eines Prädikats eine Änderung des gesamten Ergebnisses zufolge hat.


Vgl. früheres Beispiel:
mit Testdaten
A=3 B=0 C=3
A=2 B=1 C=0
A=1 B=0 C=2
alle Zweige geprüft

Kompromiss zwischen C2 und C3
jedes Prädikat (egal ob atomar oder zusammengesetzt) zu True und False ausgewertet
weniger als kombinatorische Abdeckung
Tags: Bedingungsüberdeckung
Source:
38
Cardlink
0
Foliensatz 3.1
Bewertung der Bedingungstestentwurfsverfahren und
lazy evaluation
●Programmiersprachen und Compiler verkürzen Auswertung von
booleschen Ausdrücken, sobald Ergebnis feststeht.
●Beispiel:
AND-Verknüpfung: eine Teilbedingung »false«
-> Gesamtbedingung: »false« (egal welcher zweite Wert).
●Compiler ändern Reihenfolge der Auswertungin Abhängigkeit von booleschen Operatoren („lazy evaluation“, s. nächste Folie) aus Effizienzgründen.
●Wegen Verkürzung der Auswertung Überdeckung oft nicht
nachweisbar.


Bedingungs-Testverfahren: Anzahl Tests



Anweisungs- und Entscheidungsüberdeckung für objektorientierte Software nicht ausreichend:
●Komplexität objektorientierter Systemen in Beziehungen zwischen Klassen bzw. Interaktionen zwischen Objekten verborgen.
●Methoden in Klassen oft von geringer Komplexität.
Anweisungs- und/oder Zweigüberdeckung leicht erreichbar, aber wenig aussagekräftig (trotzdem notwendig, aber nicht hinreichend).
Datenflussbasiertes Testen (nächster Abschnitt), insbesondere Interprocedural Data Flow Testing
Tags: bedingungsüberdeckung, bewertung, lazy evaluation
Source:
Flashcard set info:
Author: Annika
Main topic: Informatik
Topic: Softwarekonstruktion
School / Univ.: TU Dortmund
Published: 19.03.2014
Tags: Prof Dr Jürjens
 
Card tags:
All cards (68)
Abnahmetest (1)
algebraische (2)
algebraische Spezifikation (1)
algebrische spezifikation (1)
Ansatz (1)
äquivalenzklassen (1)
Bedingungsüberdeckung (1)
bedingungsüberdeckung (1)
bewertung (2)
blackbox (1)
CMMI (1)
Code (1)
datenflussanalyse (1)
datenflussbasiert (2)
datenflussbasiertes testen (1)
datenflussbasierut (1)
Diagrammtypen (1)
einschränkung (1)
emf (3)
entscheidungstabelle (1)
Erweiterung (1)
evolution (1)
fehler (1)
fehlerhandlung (1)
fehlerzustand (1)
gef (3)
generieren (1)
gmf (1)
grenzen des testens (1)
Grenzwertanalyse (1)
grundidee (1)
integrationsstrategien (1)
integrationstest (1)
Invariante (2)
iso9000 (1)
komplexität (2)
Komplexität (2)
Komponententest (1)
kontrollflussanalyse (1)
kontrollflussbezogen (2)
kreis (1)
kriterien (1)
kritik (1)
lazy evaluation (1)
lebenszyklus (1)
MDA (1)
mda (2)
Meta (1)
meta (1)
Metamodell (1)
metrik (1)
modell (1)
mvc (1)
nachbedingung (1)
negativ (1)
objektorientierte (1)
ocl (1)
omg (1)
positiv (1)
Probleme (2)
qualität (2)
qualitätslenkung (1)
qualitätsmanagement (3)
qualitätsprüfung (1)
robust (1)
software (4)
spezifikation (3)
standards (1)
Standards (1)
strukturelles Testen (1)
suite (1)
symbolische ausführung (1)
Systemtest (1)
testen (2)
testprozess (1)
Testprozess (1)
überblick (1)
übung3 (1)
UML (2)
UMl (1)
ursache (1)
ursache-wirkungsgraph (1)
v-modell (1)
validierung (2)
verifizierung (1)
verifzierung (1)
vorbedingung (1)
white-box (2)
zentral (1)
ziele (1)
zustandsbasierter test (1)
zyklomatisch (3)
Report abuse

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English