Okay … das macht mich verrückt, da ich versuche, das Team zu ermutigen, weitere Tests zu schreiben, aber hier bin ich Es kann nicht festgestellt werden, ob das folgende Beispiel als Integrations- oder Funktionstestfall betrachtet wird.

Beachten Sie Folgendes:

Wir haben eine einfache Webanwendung, die eine Reihe von JSON-Feeds weiterleitet / verfügbar macht Für jede Benutzeranforderung muss unsere Anwendung einen externen Dienst über HTTP (im Backend) abfragen, bevor einige Datentransformationen durchgeführt und anschließend eine serialisierte JSON-Antwort zurückgegeben werden.

Mit einer Bibliothek eines Drittanbieters können wir dies Zeichnen Sie jede eindeutige HTTP-Interaktion auf, die im Backend auftritt, und schreiben Sie sie in das Dateisystem. Diese Aufzeichnungen werden dann „wiedergegeben“, sodass diese Abfrageergebnisse während des Tests als deterministisch behandelt werden können.

Mein Testfall enthält eine einzelne Aussage. Es ist nur eine Zeichenfolge, die die erwartete JSON-Antwort für einen einzelnen Feed enthält. Nachdem wir unsere Anwendung initialisiert haben, können sie eine Anforderung weiterleiten, bevor die Antwort erfasst und mit dem erwarteten JSON verglichen wird.

1) Ist dies ein Funktionstest oder ein Integrationstest?

2) Wenn funktionsfähig, was genau ist dann der Unterschied zwischen „Urknall-Integrationstest und Funktionstest“?

Antwort

1) Ist dies ein Funktionstest oder ein Integrationstest?

Funktional Testen und Integrationstests sind Klassifikationen von Tests und schließen sich nicht gegenseitig aus.

In diesem Fall handelt es sich um beides. Integrationstests sind per Definition alle Tests, bei denen mehr als eine Komponente getestet wird Eine niedrige Stufe zum Testen von zwei Klassen, die zusammenarbeiten, oder es können Tests sein, die das gesamte System als Ganzes testen.

Funktionstests sind Tests, die eine bestimmte Systemfunktion bestätigen. Wenn ich also eine Anforderung habe “ Das System muss das Benutzerobjekt in der Datenbank beibehalten. „Der Funktionstest könnte diese Anforderung überprüfen, indem das System gestartet, ein Benutzer gespeichert, das System gestoppt, erneut gestartet und überprüft wird, ob der Benutzer vorhanden ist und sich nicht geändert hat.

Wenn Sie neu geschrieben werden Bei Testfällen aus einer Anforderungsspezifikation oder aus User Stories würde ich Ihre Testfälle als „Funktionstests“ bezeichnen, sie werden jedoch von Natur aus auch als Integrationstests klassifiziert.

2) Wenn funktionsfähig, was genau ist dann der Unterschied zwischen „Urknall-Integrationstest und Funktionstest“?

Nach meinem Verständnis „Urknall“ Integrationstest „ist ein Integrationstest, bei dem alle Komponenten des Systems integriert und anschließend getestet werden. Ziel dieses Tests ist es sicherzustellen, dass alle Komponenten korrekt integriert sind und die App gestartet werden kann. Der Nachteil dieser Art von Tests ist, dass ein Fehler in einem Testfall nur sehr wenig Aufschluss darüber gibt, wo sich der Fehler befindet. Daher ist es wichtig, auch Integrationstests auf niedrigerer Ebene durchzuführen.

Ihre Funktionstests werden dies tun Integrieren Sie wahrscheinlich auch alle Komponenten vor dem Testen in das System. Während das Testen der Big-Bang-Integration möglicherweise ähnlich aussieht, weil das gesamte System gestartet wird, unterscheiden sie sich konzeptionell.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.