Sind Funktionstests und Integrationstests gleich?
Sie beginnen Ihre Tests mit Unit-Tests. Nach Abschluss der Unit-Tests führen Sie Integrationstests durch, bei denen Sie das gesamte System testen. Ist Funktionstest dasselbe wie Integrationstest? Sie nehmen das System immer noch als Ganzes und testen es auf Funktionskonformität.
Antworten:
Beim Integrationstest testen Sie mehr als eine Komponente und wie sie zusammenarbeiten. Zum Beispiel, wie ein anderes System mit Ihrem System interagiert oder die Datenbank mit Ihrer Datenabstraktionsschicht interagiert. Normalerweise erfordert dies ein vollständig installiertes System, in seiner reinsten Form jedoch nicht.
Funktionstests werden durchgeführt, wenn Sie das System anhand der funktionalen Anforderungen des Produkts testen. Das Produkt- / Projektmanagement schreibt diese normalerweise auf und die Qualitätssicherung formalisiert den Prozess, was ein Benutzer sehen und erleben sollte und was das Endergebnis dieser Prozesse sein sollte. Je nach Produkt kann dies automatisiert werden oder nicht.
quelle
Funktionsprüfung :
Ja, wir testen das Produkt oder die Software als Ganzes auf Funktion, ob sie ordnungsgemäß funktioniert oder nicht (Testen von Schaltflächen, Links usw.).
Zum Beispiel: Anmeldeseite.
Wenn Sie den Benutzernamen und das Passwort angeben, testen Sie, ob Sie zur Startseite gelangen oder nicht.
Integrationstests :
Ja, Sie testen nur die integrierte Software, aber Sie testen, wo der Datenfluss stattfindet und ob Änderungen in der Datenbank vorgenommen werden.
Zum Beispiel: E-Mail senden
Sie senden eine E-Mail an jemanden, es gibt einen Datenfluss und auch eine Änderung in der Datenbank (die gesendete Tabelle erhöht den Wert um 1).
Denken Sie daran - das Klicken auf Links und Bilder ist kein Integrationstest. Ich hoffe, Sie haben verstanden, warum, denn es gibt keine Änderung in der Datenbank, indem Sie einfach auf einen Link klicken.
Hoffe das hat dir geholfen.
quelle
Dies ist eine wichtige Unterscheidung, aber leider werden Sie nie eine Einigung finden. Das Problem ist, dass die meisten Entwickler diese aus ihrer eigenen Sicht definieren. Es ist der Debatte über Pluto sehr ähnlich. (Wenn es näher an der Sonne wäre, wäre es ein Planet?)
Unit-Tests sind einfach zu definieren. Es testet den CUT ( Code Under Test ) und sonst nichts. (Nun, so wenig wie möglich.) Das bedeutet Verspottungen, Fälschungen und Spielpaarungen.
Am anderen Ende des Spektrums gibt es das, was viele Leute Systemintegrationstests nennen . Das testet so viel wie möglich, sucht aber immer noch nach Fehlern in Ihrem eigenen CUT.
Aber was ist mit der Weite dazwischen?
time()
oder einschließenrand()
? Oder was ist, wenn Sie anrufenhttp://google.com
? Ich würde das Systemtest nennen , aber ich bin wieder allein.Warum ist das wichtig? Weil Systemtests unzuverlässig sind. Sie sind notwendig, scheitern aber manchmal aus Gründen, die außerhalb Ihrer Kontrolle liegen. Auf der anderen Seite sollten Funktionstests immer bestanden werden und nicht zufällig fehlschlagen. Wenn sie schnell sind, können sie auch von Anfang an verwendet werden, um die testgesteuerte Entwicklung zu verwenden, ohne zu viele Tests für Ihre interne Implementierung zu schreiben. Mit anderen Worten, ich denke, dass Unit-Tests mehr Probleme bereiten können, als sie wert sind, und ich habe gute Gesellschaft .
Ich habe 3 Achsen mit all ihren Nullen beim Unit-Test getestet :
Ein Test kann leicht alle 3 in unterschiedlichem Maße sein.
quelle
Funktionstests: Hierbei handelt es sich um einen Testprozess, bei dem jede einzelne Komponente des Moduls getestet wird. Beispiel: Wenn eine Webseite ein Textfeld enthält, müssen die Komponenten Radio Botton, Buttons und Dropdown usw. überprüft werden.
Integrationstest: Prozess, bei dem der Datenfluss zwischen 2 Modulen überprüft wird.
quelle
Ich würde sagen, dass beide eng miteinander verbunden und sehr schwer zu unterscheiden sind. Aus meiner Sicht ist der Integrationstest eine Teilmenge des Funktionstests.
Funktionstests basieren auf den anfänglichen Anforderungen, die Sie erhalten. Sie werden testen, ob das Anwendungsverhalten den Anforderungen entspricht.
Wenn es um Integrationstests geht, ist es die Interaktion zwischen Modulen. Wenn ein Modul eine Eingabe sendet, kann das B-Modul diese verarbeiten oder nicht.
quelle
Integrationstests - Integrationstests sind nichts anderes als das Testen verschiedener Module. Sie müssen die Beziehung zwischen Modulen testen. Wenn Sie beispielsweise Facebook öffnen, wird nach Eingabe der Anmelde-ID und des Kennworts die Anmeldeseite angezeigt. Die Startseite von Facebook wird angezeigt. Die Anmeldeseite ist also ein Modul und die Startseite ist ein anderes Modul. Sie müssen nur die Beziehung zwischen ihnen überprüfen. Wenn Sie sich angemeldet haben, muss nur die Startseite geöffnet sein, kein Meldungsfeld oder etwas anderes. Es gibt zwei Haupttypen von Integrationstests: TOP-DOWN-Ansatz und BOTTOM-UP-Ansatz.
Funktionstests - Beim Funktionstest müssen Sie nur an Ein- und Ausgabe denken. In diesem Fall müssen Sie wie ein tatsächlicher Benutzer denken. Testen, welche Eingabe Sie gegeben haben und welche Ausgabe Sie erhalten haben, ist Funktionstest. Sie müssen nur die Ausgabe beobachten. Bei Funktionstests müssen Sie die Codierung von Anwendungen oder Software nicht testen.
quelle
In einem Funktionstest konzentriert sich der Tester nur auf die Funktionalität und die Unterfunktionalität der Anwendung. Die Funktionalität der App sollte ordnungsgemäß funktionieren oder nicht.
Beim Integrationstest muss der Tester die Abhängigkeit zwischen Modulen oder Untermodulen überprüfen. Beispiel für Moduldatensätze sollte abgerufen und in einem anderen Modul korrekt angezeigt werden.
quelle
Integrationstest: - Wenn Unit-Tests durchgeführt und Probleme mit den zugehörigen Komponenten behoben wurden, müssen alle erforderlichen Komponenten unter einem System integriert werden, damit eine Operation ausgeführt werden kann. Nach dem Kombinieren der Systemkomponenten wird diese Art des Testens als Integrationstest bezeichnet, um zu testen, ob das System ordnungsgemäß funktioniert oder nicht.
Funktionstests: - Der Test ist hauptsächlich in zwei Kategorien unterteilt: 1. Funktionstest 2. Nichtfunktionstest ** Funktionstest: - Um zu testen, ob die Software gemäß den Anforderungen des Benutzers funktioniert oder nicht. ** Nichtfunktionale Tests: - Um zu testen, ob die Software die Qualitätskriterien wie Stresstest, Sicherheitstest usw. erfüllt.
Normalerweise stellt der Kunde die Anforderungen nur für Funktionstests und für Nichtfunktionstests bereit. Anforderungen sollten nicht erwähnt werden, aber die Anwendung führt diese Aktivitäten unbedingt aus.
quelle
Integrationstests
Funktionsprüfung
quelle
Das Überprüfen der Funktionalität der Anwendung wird allgemein als Funktionstest bezeichnet, wobei beim Integrationstest der Datenfluss von einem Modul zum anderen überprüft wird. Nehmen wir ein Beispiel für eine Geldtransfer-App. Angenommen, wir haben eine Seite, auf der wir alle Anmeldeinformationen eingeben. Wenn wir die Überweisungstaste drücken und danach Erfolg haben, ist dies ein Funktionstest. Wenn wir jedoch im selben Beispiel die Überweisung überprüfen, handelt es sich um einen Integrationstest.
quelle
Die Autoren gehen hier sehr auseinander. Ich glaube nicht, dass es "die" richtige Interpretation dafür gibt. Es kommt wirklich darauf an.
Beispiel: Die meisten Rails-Entwickler betrachten Unit-Tests als Modelltests, Funktionstests als Controller-Tests und Integrationstests als solche, bei denen Capybara verwendet wird, um die Anwendung aus der Perspektive eines Endbenutzers zu untersuchen, dh mithilfe des DOM durch das generierte HTML der Seite zu navigieren auf Erwartungen prüfen.
Es gibt auch Abnahmetests, die wiederum eine "Live" -Dokumentation des Systems sind (normalerweise verwenden sie Gurke, um das Schreiben in natürlicher Sprache zu ermöglichen), in der alle Funktionen der Anwendung in mehreren Szenarien beschrieben werden, die wiederum automatisiert sind von einem Entwickler. Diese, IMHO, könnten auch sowohl als Funktionstests als auch als Integrationstests betrachtet werden.
Sobald Sie das Schlüsselkonzept hinter jedem dieser Konzepte verstanden haben, können Sie flexibler in Bezug auf das Richtige oder Falsche sein. Meiner Meinung nach könnte ein Funktionstest auch als Integrationstest betrachtet werden. Für den Integrationstest ist es abhängig von der Art der Integration, die er ausführt, möglicherweise kein Funktionstest. Sie müssen jedoch im Allgemeinen einige Anforderungen berücksichtigen, wenn Sie einen Integrationstest schreiben, sodass er die meiste Zeit auch als betrachtet werden kann ein Funktionstest.
quelle