11 Stimmen

Was sind Funktionstests?

Was sind Funktionstests? Wie unterscheiden sie sich von Unit-Tests und Integrationstests?

20voto

Chris Punkte 6544

Eine andere Art zu denken ist folgende:

Einheitstest:
Testen Sie Ihren Code als Einheiten, indem Sie Methoden aufrufen und die Rückgabewerte sowie die Zustände/Werte der Objekteigenschaften überprüfen.

Funktionsprüfung:
Testen Sie Ihre Codepfade während der Ausführung einer Aufgabe. Dadurch wird sichergestellt, dass Ihre Anwendung das tut, was Ihr Code vorgibt.

Integrale Prüfung? Meinen Sie Integrationstests?

Integrationstests:
Testen Sie Ihren Code, indem Sie ihn in eine größere Masse einfügen, um sicherzustellen, dass Sie die bestehende Logik nicht beschädigt haben und dass Sie in der Lage sind, ihn wieder in den Hauptzweig zu integrieren.

8voto

Damien Punkte 1121

Bei der Funktionsprüfung wird sichergestellt, dass die Kundenanforderungen im Endprodukt wie in der Spezifikation angegeben umgesetzt werden. Beim Unit-Testing wird überprüft, ob sich kleine Teile des Codes wie vorgesehen verhalten. Integrationstests stellen sicher, dass das System stabil ist, wenn Sie alle verschiedenen Teile/Module miteinander kombinieren.

Die BigBank Corporation möchte zum Beispiel eine Software, die Kontoauszüge für Kunden erstellt und jeden Monat drei zufällige Gebühren für jeden Kunden einfügt.

Der Programmmanager erstellt nach mehreren Gesprächen mit Vertretern der BigBank das Pflichtenheft der Software.

Ein Entwickler schreibt ein Modul, das eine Vorlagenanweisung aus einer Datenbank füllt. Er führt Unit-Tests durch, um zu prüfen, ob die meisten Fälle abgedeckt sind (typischer Kunde, keine Daten für den Monat usw.).

Ein anderer Entwickler erstellt ein Modul zur Erzeugung von Zufallszahlen. Er führt Unit-Tests für dieses Modul durch.

Der Integrator nimmt die beiden Module, kompiliert sie und führt Integrationstests durch, um sicherzustellen, dass sie gut zusammenarbeiten.

Um der BigBank eine Betaversion zum Testen zur Verfügung stellen zu können, führt das Testteam schließlich Funktionstests durch, um zu überprüfen, ob die Software den Funktionsspezifikationen entspricht.

2voto

Sharlene Shira Punkte 21

Funktionale Tests des Testobjekts sollten sich auf alle Testanforderungen konzentrieren, die sich direkt auf funktionale Spezifikationen oder Geschäftsregeln zurückführen lassen. Ziel dieser Tests ist es, die ordnungsgemäße Datenannahme, -verarbeitung und -abfrage zu überprüfen. Sie testen die Funktionen und das Betriebsverhalten eines Produkts, um sicherzustellen, dass sie den Spezifikationen entsprechen, und beinhalten Tests, die den internen Mechanismus eines Systems oder einer Komponente ignorieren und sich ausschließlich auf die Ausgaben konzentrieren, die als Reaktion auf ausgewählte Eingaben und Ausführungsbedingungen erzeugt werden. Diese Art von Tests basiert in der Regel auf Black-Box-Techniken, d. h. die Anwendung (und ihre internen Prozesse) wird durch Interaktion mit der Anwendung über die Benutzeroberfläche (UI) und die Analyse der Ausgabe (Ergebnisse) überprüft.

Quelle: http://softwareqatestings.com/introduction-to-software-testing/basic-steps-of-functional-testing.html

1voto

topchef Punkte 17965
  • Einheitliche Prüfung innerhalb einer einzigen Anwendungsebene (Präsentation, Geschäftslogik, Datenzugriff, usw.).

  • Funktionsprüfung über mehrere Anwendungsebenen hinweg ist, so dass die Tests Teile der gesamten Anwendungsfunktionalität umfassen.

  • Integrationstests wären Tests über mehrere Anwendungen hinweg Komponenten oder sogar Anwendungen.

1voto

Scott Kirkwood Punkte 1125

Einheitstest: Testen Sie die kleinstmöglichen Code-Einheiten, normalerweise eine Funktion oder Methode. Durch die Verwendung von Mocks usw. sollte dies idealerweise sehr schnell sein und die Festplatte oder das Netzwerk in keiner Weise belasten.

Funktionsprüfung: Testen Sie eine Reihe von Funktionen/Methoden, die zusammenarbeiten. Idealerweise sollte dies auch nicht auf die Festplatte oder das Netzwerk gehen, was aber oft der Fall ist.

Integrationstests: Tests, die in der realen Welt ablaufen, die in echte (wenn auch Test-) Datenbanken gehen, auf die Festplatte schreiben usw. Sie testen, ob Ihr Programm korrekt mit anderen Diensten zusammenarbeitet, ob es sich korrekt in diese "integriert". Oft haben Sie ein separates Programm (z. B. Selenium), das die Tests ausführt, genau wie es ein echter Benutzer tun würde.

Auch: White-Box-Tests: Tests, die die internen Abläufe des Programms kennen. Unit-Tests und Funktionstests sind oft White-Box-Tests. Ein Beispiel wäre der Aufruf einer Funktion zum Speichern eines Wertes und die anschließende Überprüfung des Wertes in der Datenbank auf Korrektheit.

Black-Box-Tests: Tests, bei denen die Interna nicht bekannt sind und das Programm/die Funktion/die Methode als "Black Box" behandelt wird. Ein Beispiel wäre der Aufruf einer Funktion zum Speichern eines Wertes und der Aufruf einer anderen (öffentlichen) Funktion zum Abrufen dieses Wertes.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X