So, wir haben jetzt darüber gesprochen, wie wir nach Grenzwerten,
wie wir nach Requivalenzklassen und jetzt auch,
wie wir nach Entscheidungstabellen, Testfälle aufstellen.
Und ich möchte jetzt mal zu einer Frage zurückkommen,
bevor wir weitergehen, zu Zuständen und Use-Case-Testmethoden,
was wir für Testabdeckungsmaße denn haben.
Dazu machen wir uns mal eine kleine Tabelle
und stellen Testabdeckungsmaße zusammen
Und dann möchte ich so ähnlich,
wie wir in diesem kleinen Quiz haben,
mal mit Ihnen zusammen überlegen, ob das Emblade zum Blackbox-Test gehört.
Das war das funktionsorientierte Testen. Oder ob es zu den Whitebox-Verfahren
passt. Das war das Strukturorientierte. Testen. Ja,
und unter Bewertung noch zu sagen, wenn wir dieses Abdeckungsmaß anwenden,
wie groß ist denn die Anzahl Der Testfälle.
Kleine Tabelle. Und wir fangen mal an,
mit den Sachen, die wir ganz zu Anfang hatten,
als wir mit diesem Kapitel testen, angefangen haben.
Ich springe mal zurück und zeige das nochmal, das waren
diese drei hier. Ja, das waren die Einweisungsabdeckung,
die Zweigabdeckung und die Pfadabdeckung.
Die übernehmen wir erstmal hier in diese nette Tabelle.
Wo sind denn hier
Untertitel von Stephanie Geiges Vorrat, Abdeckung. Diese drei Methoden,
zunächst erst mal können wir was sagen,
zu den Anzahl der Testfällen.
Für die Anweisungsabdeckung und die Zweigabdeckung
ist die Anzahl der Testfälle
relativ hoch
Ja, und bei der Pfadabdeckung haben wir gesagt,
die gibt es gar nicht.
Ja, ich streiche die direkt mal durch.
Wir haben sie in der Tabelle mit aufgenommen,
weil sie ist ein Abdeckungsmaß, aber eigentlich gibt es die nicht.
Und wir schreiben mal hier vorne hin, viel zu viele.
Ja, also dieser Spruch länger als das Universum dauert,
schon existiert. Das ist eigentlich schon klar.
Das haben wir nicht. Jetzt aber die Frage,
sind das Blackbox, also funktionsorientierte Tests?
Oder sind das Whitebox-orientierte Strukturende Theatertests
Wir mal nicht als Quiz, sondern die Antwort.
Wir kümmern uns ja jeweils um die innere Struktur.
Also welche Anweisungen gibt es, welche Zweige gibt es,
das geht nicht ohne Innerungsstruktur.
Das hier ist hier, die sind ganz klar,
da müssen wir ein Kreuzchen in der Spalte machen.
Wann hatten wir diese Äquivalenzklassenabdeckung? Ja, also Äquivalenzklassentest.
Und wenn wir für jede Äquivalenzklasse einen Testfall haben wollen,
dann wäre das
damit abgedeckt
Und dieses Maß jeweils, nur um das zu sagen,
100 Prozent wäre das, was man vielleicht erreichen kann,
was man erreichen möchte, außer der Pfadabdeckung,
dessen 100 Prozent illusorisch, aber bei den Äquivalenzklassen,
das wäre schon das, was wir uns wünschen,
100 Prozent, dass es ist wohl,
rot, Äquivalenzklasse einen Test fallen.
So, damit haben wir ungefähr eine mittlere Menge,
je nachdem, wie ditterniert die Ägulenzklassen sind.
Natürlich haben wir eine mittlere Menge von Testfällen und jetzt die Frage,
ist das von der Struktur gespeist oder ist das von den Anforderungen gespeist?
Ist das die funktionsorientierte, also Blackbox-Test wird ja von
den Anforderungen her gespeist
Und wenn wir uns die Beispiele nochmal anschauen,
die wir hatten, mit den Äquivalenzklassen, das war zum Beispiel,
das war zum Beispiel das mit den Paketen hier.
Ich suche jetzt hier gerade bei mir, wo ist es denn?
Wenn es nicht, doch hier ist das mit den Paketen,
ja, also ganz klar, das sind, das sind doch Anforderungen.
Da sehen wir nichts von der Struktur des Programms,
sondern das sind sozusagen, die, die hier sind,
die Geschäftsregeln festgelegt und die Regeln des Portos.
Ja, also das ist, das ist doch hier Äquivalenzklassen,
ist ganz klar ein Blackbox-Testverfahren. Dann hatten wir noch die Grenzwertmethode,
also jetzt hier Abdeckung von Grenzwerten, werdenswert.
Abdeckung. Das wäre, ja, ist das Beispiel noch nicht so weit zurück.
Wir hatten das hier bei dem Geschwindigkeitsüberschreitungen, ja,
wo wir die Grenzwerte je Äquivalenzklasse wählen, ja,
das, was hier steht, das sind doch auch Anforderungen.
Ja, auch keine technische Lösung, keine Struktur.
Also hier ist das die Anforderung und deswegen können wir
uns die auch da gekreuzchen, hier bei Blackbox machen
So, dann hatten wir noch weitere, zu denen werden wir gleich kommen.
Jedenfalls, das sind schon mal die ersten Antworten,
was die Abdeckungsmaße am Ende, zu welchen Testmethoden, die denn passen.
Ja, was ich Ihnen nach den Entscheidungstabellen noch weiter vorstellen wollte,
ist der zustandsbasierte, oder wenn Sie so wollen, auch zustandsorientierte Tests.
Und zwar gibt es Systeme, in denen Zustände, Zustandsübergänge
eine große Rolle spielen. Und in solchen in solchen,
meistens sind das auch Systeme, die irgendwie von Ereignissen gesteuert werden.
Und da gibt es die Zustände, Zustandsübergänge, mit denen
ich in so einem Zustandsgrafen hin und her nehme, manövriere.
Und was ich da wissen möchte, ist,
wie mache ich das, dass ich das vollständig teste?
Ich kann ja nicht jede mögliche Kombination von Eingabewerten machen.
Also die Testfälle sind dann Folgen von Ereignissen und ich kann
kaum alle möglichen Folgen von Ereignissen da darstellen.
Wir wollen aber versuchen, möglichst viel abzudecken
Eine Möglichkeit wäre jetzt hier,
dass ich es so mache, wenn nehmen wir mal,
das wären hier alles Zustände und die Pfeile sind Zustandsübergänge,
könnte ich es einmal machen, dass ich hier durch alle Zustände einmal durchgekommen bin.
Das heißt, wenn ich eine Sequenz habe,
die von hier und nach hier geht,
von hier nach hier, von hier nach hier,
von hier nach hier und von hier zurück,
dann habe ich doch alle Zustände einmal erreicht.
Ja, ich bin darüber hier dann zurückgekommen. So,
damit ist aber, ist das gut oder schlecht? Ja,
gerade mal so mit minimal, ja, das steht hier auch schon da,
wir könnten jetzt als Abdeckungsmaß machen, Zustände abgedeckt.
Das ist das absolute Minimum, weil wir sind zum Beispiel
diesen Weg hier nicht gegangen und diesen Weg sind wir auch nicht gegangen.
Um diesen Weg sind wir auch nicht gegangen und den und den.
Jeweils, da ist nie jemand lang gegangen. Das ist ja
auch ein Stück Boot, was da diesen Weg repräsentiert. So,
das heißt, wir könnten auch das so machen,
dass wir alle Zustandsübergänge einmal durchlaufen, weil im Zustandsübergang passiert was,
das sind, das sind Aktionen, da passieren da,
das wäre also der Quelltext,
da können wir vermuten,
dass wir von dem Quelltext schon ganz viel dann
mal abgedeckt haben
Andererseits könnte man es auch so machen, dass man typische Folgen macht.
Also schon ein paar mehr als nur das erste und
nur ein paar mehr als nur das zweite,
noch typische Folgen oder noch besser, wenn wir alle Ereignisse,
die irgendwie auftreten können, wenn wir die einmal simuliert haben,
einmal dabei sind beim Testen.
Und natürlich auch, dass wir gucken,
ob wir irgendwelche ungültigen Zustandsübergänge provozieren können, umduldige Folgen von Elementen,
von Ereignissen, ob es da eine Fehlermeldung gibt.
Und wir wollen versuchen, das so abzubilden.
Damit ist es möglich, dass man,
also hier zum Beispiel eine Zustandsenge einmal durchlaufen,
damit schon haben wir ein ganz gutes Maß an Testabdeckung erreicht
Ich möchte jetzt gleich das auch in die Tabelle eintragen.
Ja, also hier haben wir,
wäre das jetzt die Zustandsabdeckung. Und die Zustandsübergangsabdeckung. Und
wir hatten noch Ereignisabdeckung
Ja, also das waren die drei Sachen ja hier,
alle Zustände, alle Zuständigsübergänge, alle Ereignisse.
Die Frage, an Sie, Blackbox oder Whitebox? Vielleicht ist es so schwer,
wir machen erst mal die Anzahl der Testfälle, also bei dem Zustandsautomat,
Zustandsabdeckung, da ist das eher Mittel, das Schreiben hier.
Ach, hier finden wir vielleicht auch noch bei Grenzwertmittel hinschreiben,
bei Zuständen eben vielleicht schreiben wir richtig hin gering,
Zustandsübergangsabdeckung,
So wie? Und ja, wenn wir die Ereignisse abdecken,
das wäre noch ein bisschen besser.
Das wäre aber auch vielleicht von der Anzahl her nicht so gigantisch.
Viel. Die Folgen von Ereignissen wären ja wirklich viel.
Alle möglichen Folgen von Ereignissen hätten. Jetzt aber zurück zu der Frage,
Blackbox und eine Whitebox, ist es durch die Struktur bestimmt,
was wir hier machen?
Oder durch die externen Anforderungen? Schauen Sie sich das Ding
an?
Ist das Struktur
Tatsächlich ist das nicht so ganz eindeutig. Ja,
also wir können sagen, auf jeden Fall könnte man
das verwenden für Blakebox-Tests, die gerne alle drei Sachen.
Aber es könnte auch sein, dass wir internes Verhalten haben,
wo die Struktur eine Rolle spielt.
Und wenn wir internes Verhalten des Software-Systems abgebildet haben,
dann wäre das tatsächlich hier auf dieser Seite. Ja,
grenzt im Neuen Krenzwert, das erste ist ein bisschen,
ich mache das, Chile ist mal ein kleines Stückchen
runter,
dass wir das machen
Eindeutiger haben. So, das kann ich hier machen.
Ja, also jetzt ist klar, das geht,
hör zu den Zustandsdingern, die wir hier haben.
Machen wir noch eine Linie. So. Damit sich da gut
zurechtfindet. Das machen wir inschließlich. Ja, so,
das ist schon ein bisschen in der Sammlung noch was hinzugekommen.
Aber wir schauen mal noch weiter. Ich habe noch was weiteres für Sie,
und zwar, man könnte auch Use Cases nehmen für die Testorganisation,
für die Aufstellung der Testfälle, ja,
und zwar bei den Use Cases ist es ja immer so,
die Use Cases waren etwas, was der Benutzer sieht.
Das heißt, Interaktionen zwischen Benutzer und System. Und wir
haben ja Vorbedingungen, wir haben Nachbedingungen, wir haben verschiedene Szenarien.
Das war das, was wir bei den Use Cases immer hatten.
Und wir können deswegen Use Cases auch benutzen,
um solche Abläufe, solche Szenarien zu prüfen.
Wir können damit den Großen prüfen, ob die Komponenten alle richtig zusammenspielen.
Aber das Ganze ist doch eher im Großen. Ja,
die Abdeckung wäre jetzt hier,
dass wir alle Use Cases abdecken bzw. in den Use Cases
die verschiedenen Abläufe abdecken
So, tragen wir uns hier noch mit in unsere Tabelle ein.
Oase-Case. Und das wäre doch eher gering, vielleicht auch Mittel,
je nachdem wie detailliert wird das Verhalten beschrieben haben.
Und jetzt die Frage, geht das fest und prüfen wir
im Angesicht der Struktur?
Oder stellen wir die Angesichtstestfälle aus den Anforderungen zusammen
Ja, ich kann sie jetzt leider nicht hören,
das ist der Nachteil beim Synchron, aber wenn sie jetzt gesagt hätten,
ja, das ist ja für eine Struktur abhängig,
nein, das liegen sie falsch, wenn sie gesagt hätten,
Blackbox, dann ist es richtig.
Also hier sind wir ganz eindeutig bei dem Blackbox-Dingen. So,
damit haben wir etwas,
ich habe mir die Fragen jetzt hier schon weitgehend dargestellt,
ich gehe mal hier wieder her,
wir haben jetzt hier die Frage 13 gehabt,
erläutern Sie zustandsorientierten Test,
Entscheidungstabellen und Use-Case-Basites testen.
Damit sehen wir erst mal soweit
ganz gut gekommen