OpenText-Startseite.
Technische Themen

Was ist Functional Testing?

 Illustration von IT-Elementen mit Schwerpunkt auf einem Fragezeichen

Übersicht

Funktionstests sind eine Art von Tests, die darauf abzielen, festzustellen, ob jede Anwendungsfunktion gemäß den Softwareanforderungen funktioniert. Jede Funktion wird mit der entsprechenden Anforderung verglichen, um festzustellen, ob ihre Ausgabe mit den Erwartungen des Endbenutzers übereinstimmt. Die Prüfung erfolgt durch die Bereitstellung von Beispieleingaben, die Erfassung der resultierenden Ausgaben und die Überprüfung, ob die tatsächlichen Ausgaben mit den erwarteten Ausgaben übereinstimmen.

Einige Beispiele für funktionale Tests sind:

  • Können sich Benutzer erfolgreich bei der Anwendung anmelden, sobald sie legitime Anmeldedaten angeben?
  • Lehnt das Zahlungs-Gateway die Eingabe ab und zeigt eine Fehlermeldung an, wenn ein Benutzer eine ungültige Kreditkartennummer eingibt?
  • Wird durch die Eingaben auf dem Bildschirm "Neuen Datensatz hinzufügen" erfolgreich ein neuer Datensatz zur Datenbank hinzugefügt und gespeichert?
 
Am Ende Ihrer Funktionstests sollten Sie über eine Software verfügen, die eine kohärente Benutzeroberfläche und eine konsistente API aufweist und sich nahtlos in die Geschäftsprozesse einfügt.

Functional Testing

Funktionale Tests vs. nicht-funktionale Tests

Im Gegensatz zum nicht-funktionalen Testen geht es beim funktionalen Testen nicht darum, die Qualität, Sicherheit oder Leistung des zugrunde liegenden Quellcodes der Anwendung zu untersuchen. Er misst nicht die Geschwindigkeit, Skalierbarkeit und Zuverlässigkeit.

Funktionstests konzentrieren sich vielmehr auf die Ergebnisse der Verarbeitung und nicht auf die Mechanik der Verarbeitung und ermitteln, ob die Anwendung die grundlegenden Mindesterwartungen der Benutzer erfüllt.

In diesem Sinne ist die Definition des funktionalen Testens fast gleichbedeutend mit Black-Box-Tests, während White-Box-Tests eher ein Merkmal von nicht-funktionalen Tests sind. 


Typische Schritte für Funktionstests

Ein Plan für funktionale Tests folgt in der Regel der folgenden Reihenfolge:

Identifizieren Sie die Testziele

Funktionale Testziele sind die Funktionen, die von der Software auf der Grundlage der Projektanforderungen erwartet werden. Zu den Testzielen gehört die Überprüfung, ob die Anwendung so funktioniert, wie sie soll, und ob sie Fehler und unerwartete Szenarien angemessen behandelt.

Testszenarien erstellen

Erstellen Sie eine Liste aller möglichen (oder zumindest der wichtigsten) Testszenarien für ein bestimmtes Merkmal. Testszenarien beschreiben die verschiedenen Arten, wie die Funktion verwendet wird. Bei einem Zahlungsmodul können die Testszenarien beispielsweise mehrere Währungen, den Umgang mit ungültigen oder abgelaufenen Kartennummern und die Generierung einer Benachrichtigung bei erfolgreichem Abschluss einer Transaktion umfassen.

Testdaten erstellen

Erstellen Sie Testdaten, die auf der Grundlage der von Ihnen identifizierten Testszenarien normale Nutzungsbedingungen simulieren. Sie können die Testdaten manuell eingeben (z. B. aus einer MS-Excel-Tabelle oder einem Ausdruck) oder automatisch über ein Skript oder ein Testwerkzeug, das die Daten aus einer Datenbank, einer flachen Datei, XML oder einer Tabelle liest und eingibt. Jeder Satz von Eingabedaten sollte auch über zugehörige Daten verfügen, die das erwartete Ergebnis beschreiben, das die Eingabedaten erzeugen sollen.

Testfälle entwerfen

Erstellen Sie Testfälle auf der Grundlage der verschiedenen gewünschten Ergebnisse für die Testeingaben. Wenn Sie zum Beispiel eine ungültige Kreditkartennummer eingeben, sollte die Anwendung eine aussagekräftige Fehlermeldung anzeigen.

Ausführen der Testfälle

Führen Sie die Testfälle in der Anwendung durch und vergleichen Sie die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen. Wenn die tatsächliche und die erwartete Ausgabe voneinander abweichen, hat das Merkmal den Test nicht bestanden und es sollte ein Fehler aufgezeichnet werden.

Erkennen, Verfolgen und Beheben von Mängeln

Sobald ein Fehler identifiziert ist, sollte er in einem formalen Verfolgungssystem erfasst werden, das dem gesamten Projektteam zugänglich ist. Bevor ein Fehler als geschlossen markiert wird, sollten die erforderlichen Änderungen an der Anwendung vorgenommen und der Testfall erneut ausgeführt werden, um die Lösung zu bestätigen.


Wie funktionieren automatisierte funktionale Testwerkzeuge?

Werkzeuge zur Automatisierung von Funktionstests sind in der Lage, mit der Benutzeroberfläche der zu testenden Anwendung zu interagieren. Sie können Objekte auf dem Bildschirm erkennen, wie z. B. Listenfelder, Textfelder und Schaltflächen, und sie können eine Auswahl treffen, Daten eingeben und sie drücken.

Viele Automatisierungswerkzeuge für Funktionstests enthalten einen Rekorder, der den Benutzer bei der Interaktion mit einer Anwendung und ihren Objekten auf dem Bildschirm "beobachtet", die Daten, die er in das System eingibt, und die Aktionen, die der Benutzer ausführt, wie das Drücken von Tasten oder die Auswahl von Menüs, aufzeichnet. Diese Aktionen können dann unter Verwendung der während der Aufzeichnung erfassten Objekte, Daten und Aktionen wiedergegeben werden, um die Aktivitäten des Benutzers zu reproduzieren. Die Ergebnisse dieser Aktionen werden vom Testwerkzeug aufgezeichnet und mit den vom Automatisierungsingenieur definierten erwarteten Ergebnissen verglichen, um festzustellen, ob der Test bestanden oder nicht bestanden wurde.

Ingenieure für funktionale Testautomatisierung können ihre Tests schrittweise mit den vom Tool erkannten Objekten aufbauen oder mit einer Aufzeichnung beginnen, die Schritte anpassen und die Daten parametrisieren, um sie zu verallgemeinern und Tests in verschiedenen Umgebungen, einschließlich verschiedener Browser und mobiler Geräte, ausführen zu können.


Künstliche Intelligenz in funktionalen Testwerkzeugen

Führende Testautomatisierungs-Tools verfügen heute über Funktionen der Künstlichen Intelligenz (KI) , die fortschrittliche Techniken wie maschinelles Lernen, Computer Vision, neuronale Netze und natürliche Sprachverarbeitung einsetzen. Dies hilft dabei, Objekte auf dem Bildschirm auf die gleiche Weise zu identifizieren wie ein Mensch, mit Objekten auf natürliche Weise zu interagieren und sie zu manipulieren, und ermöglicht es, Tests in einfachem Englisch zu schreiben.

Es hat sich gezeigt, dass KI-basierte funktionale Testautomatisierung die Zeit für die Testerstellung verkürzt, die Testabdeckung erhöht, die Ausfallsicherheit von Testressourcen verbessert und den Aufwand für die Testwartung reduziert.


Was sind einige bewährte Praktiken für funktionale Tests?

Frühzeitig Testfälle erstellen

Warten Sie nicht, bis die Codierung der Anwendung oder des Moduls abgeschlossen ist, bevor Sie mit der Erstellung von Testfällen beginnen. In den frühen Phasen des Projekts sind die Benutzeranforderungen am frischesten. Sie können die Testfälle später bei Bedarf jederzeit ändern.

Automatisieren Sie

Funktionstests können ein mühsamer, sich wiederholender und zeitraubender Prozess sein. Je mehr Sie automatisieren, desto schneller können Sie die gewünschte Funktionalität sicherstellen oder Fehler erkennen und beheben, und desto mehr sparen Sie bei der Bereitstellung der App an Testzeit und Kosten. Es ist vielleicht nicht möglich oder sogar wünschenswert, alle Testfälle zu automatisieren, aber allein die wichtigsten Testfälle von der manuellen Liste zu entfernen, kann Ihren Test-ROI erheblich verbessern.

Verstehen Sie den Denkprozess des Nutzers

Funktionstester müssen ein tiefes Verständnis für die Denkweise des Endbenutzers haben. Für jede Anwendung gibt es oft verschiedene Arten von Benutzern (Käufer, Verkäufer, Verwalter, Dateneingabebeamte, Vorgesetzte usw.). Die verschiedenen Benutzertypen und ihre typische Navigation in der Anwendung müssen bei jedem Testplan berücksichtigt werden.

Prioritäten setzen

Prüfer haben nur begrenzte Zeit und Ressourcen. Nicht jede Funktion kann getestet werden. Einige Anwendungsfunktionen sind von hoher Priorität und müssen daher Vorrang vor Funktionen mit geringerer Priorität haben.


Unsere KI-gesteuerten, automatisierten Funktionstest-Tools können helfen

Obwohl Funktionstests für viele Unternehmen eine Herausforderung darstellen können, überwiegen die Vorteile einer ordnungsgemäß automatisierten QA-Organisation für Funktionstests diese Herausforderungen bei weitem. Finden Sie heraus, wie OpenText™ funktionale Testlösungen Ihnen helfen können, optimalen Nutzen aus Ihren funktionalen Tests zu ziehen.

Beschleunigen Sie das Testen effizient mit funktionaler Testautomatisierung

Erfahren Sie, wie funktionale Testwerkzeuge die Qualität Ihrer Software optimieren und die Benutzerfreundlichkeit verbessern können.

Mehr erfahren

Wie können wir behilflich sein?

Fußnoten