CoboCards App FAQ & Wünsche Feedback
Sprache: Deutsch Sprache
Kostenlos registrieren  Login

Hol' Dir diese Lernkarten, lerne & bestehe Prüfungen. Kostenlos! Auch auf iPhone/Android!

E-Mail eingeben: und Kartensatz kostenlos importieren.  
Und Los!
Alle Oberthemen / Informatik / Softwarekonstruktion

SWK (68 Karten)

Sag Danke
37
Kartenlink
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
Quelle:
38
Kartenlink
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
Quelle:
Kartensatzinfo:
Autor: Annika
Oberthema: Informatik
Thema: Softwarekonstruktion
Schule / Uni: TU Dortmund
Veröffentlicht: 19.03.2014
Tags: Prof Dr Jürjens
 
Schlagwörter Karten:
Alle Karten (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)
Missbrauch melden

Abbrechen
E-Mail

Passwort

Login    

Passwort vergessen?
Deutsch  English