Average Process
Know0
Don't know0
Haven't started55

Recommended flashcard sets

Flashcards in the set

Haven't started (55)

Wie werden Testfälle aus einem Ursache-Wirkungs-Graphen abgeleitet?

Durch Überführung des Graphen in eine Entscheidungstabelle und Konvertierung der Spalten in Testfälle

Was ist ein Beispiel für eine Ursache-Wirkungs-Analyse?

Ein Graph, der logische Beziehungen zwischen Eingangsbedingungen (Ursachen) und Ausgangsbedingungen (Wirkungen) darstellt

Was sind die Vorteile der Ursache-Wirkungs-Analyse?

Sie ermöglicht eine systematische und formale Beschreibung der Beziehungen zwischen Eingaben und Ausgaben, was zu präziseren Testfällen führt

Wie definiert man die Eingabebereiche für die Testfälle?

Durch Identifizierung der Definitionsbereiche der Eingaben in der Spezifikation, z.B. Zugehörigkeit und Gehaltsgruppe

Wie werden Äquivalenzklassen für geordnete Wertebereiche gebildet?

Durch Erstellen einer gültigen Klasse und zwei ungültigen Klassen, z.B. Wertebereich: 1 <= Wert <= 42

Wie testet man Aufzählungswerte?

Wenn alle Elemente gleich behandelt werden, gibt es eine gültige und eine ungültige Klasse; wenn

nicht, gibt es pro Wert eine gültige Klasse

Was ist das Ziel des spezifikationsbasierten Testens?

Sicherstellen, dass das System die spezifizierten Anforderungen erfüllt, indem die Spezifikation als

Referenz für die Testfälle dient

Wie beeinflusst die Qualität der Spezifikation die Testfälle?

Eine präzise und vollständige Spezifikation führt zu effektiveren und aussagekräftigeren Testfällen, während eine ungenaue Spezifikation zu weniger zuverlässigen Tests führt

Was ist die Testreferenz beim modellbasierten Testen?

Die Testreferenz ist ein explizit erstelltes Modell des Prüfobjekts

Worauf konzentriert sich das Modell beim modellbasierten Testen meist?

Das Modell konzentriert sich meist auf das Verhalten der zu testenden Software

Welche Techniken werden beim modellbasierten Testen verwendet?

Ursache-Wirkungs-Analyse, zustandsbasierter Test und anforderungsbasierter Test

Was sind die Vorteile des modellbasierten Testens?

Systematische Testfallableitung, sinnvolle Messung der Testabdeckung und Beitrag zum besseren Verständnis der Spezifikation

Was sind die Nachteile des modellbasierten Testens?

Zusatzaufwand für die Erstellung des Testmodells, Risiko von Fehlern bei der Erstellung des Modells und der Formalismus kann das Verständnis erschweren

Was ist ein zustandsbasierter Test?

Ein Test, bei dem das Systemverhalten mittels Zustandsautomaten spezifiziert wird

Was ist das Überdeckungskriterium beim zustandsbasierten Test?

Vollständige Abdeckung der Elemente des Zustandsautomaten

Wie können Zustandsautomaten für objektorientierte Klassentests verwendet werden?

Objekte haben Zustände, Zustandsübergänge sind durch Ereignisse bedingt und Automaten

können aus der Klassenspezifikation abgeleitet werden

Welche drei Arten von Überdeckungen gibt es beim zustandsbasierten Testen?

Zustandsüberdeckung, Übergangsüberdeckung und Ereignisüberdeckung

Was bedeutet Zustandsüberdeckung?

Jeder Zustand muss mindestens einmal erreicht werden

Was bedeutet Übergangsüberdeckung?

Jeder Zustandsübergang muss mindestens einmal durchlaufen werden

Was bedeutet Ereignisüberdeckung?

Jedes Ereignis muss mindestens einmal ausgelöst werden

Was muss bei der Semantik von Zustandsautomaten klar definiert werden?

Welche Auswirkungen ein Ereignis hat, wenn es in einem bestimmten Zustand auftritt, und wie Testfälle abzuleiten sind

Wie werden Testfälle beim zustandsbasierten Test abgeleitet?

Testfälle gehen vom Startzustand aus und enden, wenn ein Endzustand erreicht ist

Was ist eine Zustandsübergangstabelle?

Eine Tabelle, die Zustände und Ereignisse darstellt und angibt, welcher Zustand bei einem Ereignis erreicht wird

Was sind Fehlersituationen beim zustandsbasierten Testen?

(A) Spezifikation korrekt: Test, ob Transition tatsächlich nicht möglich ist oder keinen Effekt hat, und

(B) Defekt in der Spezifikation: fehlende Transition erkannt bei der Testfallableitung

Warum ist das modellbasierte Testen für Modultests gut geeignet?

Weil es eine präzise (formale) Syntax und Semantik hat und Werkzeugunterstützung zur Testfallableitung möglich ist

Was ist das Problem der Skalierbarkeit beim modellbasierten Testen?

Explosion von Zuständen und Transitionen bei großen Systemen

Was ist eigenschaftsbasiertes Testen (Property-Based Testing)?

Ein Test, bei dem mathematische Eigenschaften des Systemverhaltens für zufällig generierte Eingabewerte überprüft werden

Wie werden Eingabewerte beim eigenschaftsbasierten Testen generiert?

Generatoren erzeugen zufällige Eingabewerte eines bestimmten Typs

Was passiert, wenn ein Test beim eigenschaftsbasierten Testen fehlschlägt?

Die Eingabe wird geschrumpft, um ein minimales Gegenbeispiel zu erzeugen, und die Eingabe und der Seed des Zufallsgenerators werden zurückgegeben

Was sind häufig getestete Eigenschaften bei unären Funktionen?

Totalität, Injektivität, Surjektivität und Idempotenz

Was sind häufig getestete Eigenschaften bei inversen Funktionen?

Isomorphismen wie deserialize(serialize(x)) == x und serialize(deserialize(y)) == y

Was sind häufig getestete Eigenschaften bei binären Funktionen?

Reflexivität, Symmetrie und Transitivität

Was sind bedingte Eigenschaften beim eigenschaftsbasierten Testen?

Eigenschaften, die nur für bestimmte Eingabewerte gelten, z.B. whenever(m >= 2 * n)

Was ist das Problem bei zufällig erzeugten Eingaben für bedingte Eigenschaften?

Zufällig erzeugte Eingaben erfüllen evtl. nur sehr unwahrscheinlich die Bedingung

Wie kann das Problem der zufälligen Eingaben für bedingte Eigenschaften gelöst werden?

Durch Implementierung eigener Generatoren für passende Eingaben

Was sind die Vorteile des eigenschaftsbasierten Testens?

Gründlicher als Testen mit handgewählten Werten, gezielte Erzeugung zufälliger Werte für Randfälle und Finden kleiner Eingaben, die die erwartete Eigenschaft verletzen

Was sind die Herausforderungen des eigenschaftsbasierten Testens?

Eigenschaft muss programmatisch überprüft werden und die Implementierung eigener Generatoren kann schwierig sein

Welche Herausforderungen stellt das objektorientierte Testen dar?

Vererbung, Polymorphie, Kopplung, Zustand und Datenkapselung

Warum sind traditionelle Testverfahren für objektorientierte Programme nur teilweise geeignet?

Weil sie die speziellen Eigenschaften objektorientierter Programmierung wie Vererbung und Polymorphie nicht vollständig abdecken

Was passiert bei der Vererbung von Attributen und Methoden?

Attribute und Methoden der Oberklasse werden auf die Unterklassen vererbt, einschließlich vorhandener Fehler

Was ist Polymorphie in objektorientierten Programmen?

Geerbte Methoden können überschrieben werden, wobei gleiche Methodennamen

unterschiedliche Implementierungen haben

Wie beeinflusst Kopplung das Testen von Klassen?

Klassen sind oft stärker gekoppelt, was bedeutet, dass Methoden einer Klasse auf Methoden anderer Klassen angewiesen sind

Warum ist der Zustand von Objekten beim Testen wichtig?

Das Verhalten eines Objekts hängt von seinem Zustand ab, und fehlerhafte Zustände können zu weiteren Fehlern führen

Was ist Datenkapselung in objektorientierten Klassen?

Das Verbergen von Implementierungsdetails, die für den Nutzer unwichtig sind, um eine klare Trennung zwischen Interface und Implementierung zu gewährleisten

Was sind die Herausforderungen der Vererbung im Testen?

Geerbte Defekte und der Kontexteinfluss auf Methodenaufrufe

Wie geht man mit polymorphen Methodenaufrufen im Testen um?

Indem man alle möglichen Implementierungen der polymorphen Methode testet, um die

kombinatorische Explosion von Testfällen zu bewältigen

Was passiert bei der Vererbung von Attributen und Methoden?

Attribute und Methoden der Oberklasse werden auf die Unterklassen vererbt, einschließlich vorhandener Fehler

Warum ist die Abgrenzung von Modul- und Integrationstest bei objektorientierten Programmen schwierig?

Weil Systemfunktionen durch die Kollaboration von Objekten realisiert werden und die Abhängigkeiten zwischen vielen Klassen berücksichtigt werden müssen

Wie kann man interne Details für die Testabdeckung berücksichtigen?

Durch spezielle Techniken, die es ermöglichen, den internen Zustand zu setzen und auszulesen, um

eine vollständige Testabdeckung zu erreichen

Was ist der Klassentest?

Der Test einer einzelnen Klasse, einschließlich der Prüfung des Zusammenwirkens ihrer Methoden

und der Verwendung geerbter Methoden

Wie unterscheidet sich der Klassentest vom Modultest?

Klassentest bezieht sich auf objektorientierte Klassen, während Modultest sich auf prozedurale

Module bezieht

Was ist die Mindestanforderung an einen Klassentest?

Der Aufruf jeder Methode der Klasse mindestens einma

Was sind die Schritte des Category-Partition Tests?

Identifikation von Aufgaben der Methode, Identifikation von Ein- und Ausgaben jeder Aufgabe, Identifikation von Kategorien für jeden Eingabewert, Auswahl von Repräsentanten, Bestimmung von Einschränkungen, Erzeugen von Testfällen und Bestimmung des Soll-Ergebnisses

Was ist der Unterschied zwischen nicht-modalen und modalen Klassen?

Nicht-modale Klassen haben keine Einschränkungen bei Methodenaufrufen, während modale Klassen Zustandsabhängigkeiten haben, die berücksichtigt werden müssen

Was ist ein Flattened Class Scope Test?

Ein Test, der sich auf Klassen in einer Vererbungshierarchie konzentriert und Oberklassen top-down testet