Funktionale Tests
R 2.0.0
Beschreibung
Ein funktionaler Test bewertet „was“ das System tun soll.
Funktionale Tests fassen alle Testmethoden zusammen, mit Hilfe derer das von außen sichtbare Ein-/Ausgabeverhalten eines Testobjekts geprüft wird. Zur Erstellung von funktionalen Testfällen werden die Black-Box-Verfahren eingesetzt.
Als Testbasis bzw. Referenz für das Sollverhalten dienen funktionale Anforderungen. Eine funktionale Anforderung ist eine Aussage darüber, wie sich ein System verhalten muss. Es definiert, was das System tun soll, um die Bedürfnisse oder Erwartungen des Benutzers zu erfüllen. Funktionale Anforderungen können als Merkmale betrachtet werden, die der Benutzer erkennt. Ihre Umsetzung ist Voraussetzung dafür, dass das System überhaupt einsetzbar ist. Ob und wie gut ein (Teil-)System seine funktionalen Anforderungen erfüllt, wird auch als dessen "funktionale Eignung" bezeichnet und ist ein Qualitätskriterium aus dem Produktqualitätsmodell nach der ISO 25010.
Beispiele für funktionale Anforderungen
A 100 |
Der Anwender kann ein Fahrzeugmodell aus dem jeweils aktuellen Modellprogramm zur Konfiguration auswählen. |
A 101 |
Für ein ausgewähltes Modell wird die Lieferbare Zusatzausstattung angezeigt. |
A 102 |
Zu der jeweils ausgewählten Ausstattungskonfiguration wird laufen der Gesamtpreis gemäß aktueller Preisliste berechnet und angezeigt. |
Tests, die funktionale Eigenschaften prüfen, werden ermittelt, indem zu jeder funktionalen Anforderung mindestens ein Testfall abgeleitet wird.
Arten von funktionalen Tests
Es gibt eine Reihe von unterschiedlichen funktionalen Tests, die während des Entwicklungsprozesses eingesetzt werden, um die Qualität des gelieferten Produkts zu überprüfen und auf das gewünschte Niveau zu bringen. Es reicht nicht aus, den Entwickler selbst testen zu lassen. Ein erfahrener Entwickler schreibt Unit Tests und führt zudem Regressionstests für seinen Quellcode auch ohne zusätzliche Anweisung durch. Funktionale Tests hingegen sollten im gesamten Entwicklungszyklus einer Anwendung fest verankert und als eigenständige Aufgabe von einem erfahrenen, professionellen Tester durchgeführt werden.
Funktionales Testen kommt in jeder Teststufe zum Einsatz. Im Komponenten- und Integrationstests dient die technische Spezifikation der Komponente(n), ihre Schnittstellenspezifikation oder White Box Informationen als Testbasis. Im System- und Abnahmetest dienen funktionale Anforderungen als Testbasis.
Wenn ein Softwaresystem einen bestimmten Geschäftsprozess automatisieren oder unterstützen soll, ist das anwendungsfallbasierte oder geschäftsprozessbasierte Testen eine weitere gut geeignete Testmethode.
Auf Basis dieser Geschäftsprozessanalysen werden Testszenarien, die typische Geschäftsvorfälle nachbilden, als Testbasis aufgestellt. Die Priorität der Testszenarien richtet sich nach der Häufigkeit und Relevanz sowie nach dem Risiko der entsprechenden Geschäftsprozesse.
Während beim anforderungsbasierten Testen einzelne Systemfunktionen im Fokus stehen, sind dies beim geschäftsprozessbasierten Test Abläufe, also hintereinandergeschaltete Tests.
Exkurs: Agiles Testen
Im agilen Vorgehen ist es nicht erforderlich, alle Funktionen im Voraus zu beschreiben. Die Entwicklung wird auf Basis der User Stories gestartet. Wenn der agile Prozess professionell eingerichtet ist, wird der funktionale Aufbau während der Sprints sorgfältig dokumentiert. Durch die Integration von Tests in diesen Prozess wird ständig daran gearbeitet:
-
Funktionalitäten zu beschreiben
-
Testfälle zu erstellen
-
Tests durchzuführen
-
Ergebnisse auszuwerten
Funktionstests stellen somit nicht Schritte nach der Entwicklung, sondern eine kontinuierliche Abfolge von Beschreiben, Testen, Bewerten und Verbessern dar.
Quellen
-
ISTQB Glossary Funktionale Tests, abgerufen am 19.08.2024
-
A. Spillner, T. Linz - Basiswissen Softwaretest, 7. Auflage, 2024
-
Anforderungsmanagement.ch, funktionale und nicht-funktionale Anforderungen, abgerufen am 01.02.2024
-
Technosoft GmbH. Was sind funktionale Tests?, abgerufen am 13.12.2024