Black Box Test & White Box Test
Bei einem Black Box Test geht es Funktionalitäten. Es geht nicht darum, den eigentlichen Quellcode zu testen. Beim Black Box Test ist es am besten, mit Personen zu arbeiten, die keinen Einblick in den Quellcode haben, damit soll ein möglichst objektiver Test stattfinden.
Der White Box Test soll den eigentlich Quellcode auf Korrektheit überprüfen. Da der Quellcode den Entwickler zu Verfügung steht, wird dieser Test auf den Entwicklern durchgeführt. Keine Fehler im Quellcode zu finden heißt nicht im Umkehrschluss, das die Software den Anforderungen erfüllen muss.
Funktiontest:
Funktionstest sind spezifikationsabhängig. Der Unittest ist ein Test, abgrenzbar auf bestimmte Teile oder Units. Das Ziel des Testes ist die technisches Lauffähigkeit und das testen korrekter Teil Ergebnisse.
Das sogenannte FIRST Prinzip besteht auf vollenden Teile:
Fast: Die Testausführung soll möglichst schnell sein, damit sehr oft getestet werden kann.
Independent: Unit-Tests sollen unabhängig voneinander sein, damit sie in beliebiger Reihenfolge, parallel oder einzeln ausführt werden können.
Repeatable: Führt man einen Unit-Test mehrfach aus, muss er immer das gleiche Ergebnis liefern.
Self-Validating: Ein Unit-Test soll entweder fehlschlagen oder gut gehen. Diese Entscheidung muss der Test treffen. Es dürfen keine weiteren manuellen Prüfungen nötig sein.
Timely: Man soll Unit-Tests vor der Entwicklung des Produktivcodes schreiben.
Integrationstest:
Beim Integrationstest wird die Zusammenarbeit von abhängiger Komponenten getestet. Damit sollen korrekte Ergebnisse über komplette Abläufe hinweg nachweisen. werden können.
Systemtest:
Der Systemtest wird das gesamte System gegen die gesamten Anforderungen (funktionale und nicht-funktionale Anforderungen) getestet. In der Regel finden diese Test in einer Testumgebung mit Testdaten statt.
Abnahmetest:
Ein Abnahmetest wird in der Regel direkt von dem Kunden durchgeführt im sogenannten Black Box Verfahren. Er orientiert sich nicht an dem Quellcode sondern nur am Verhalten der Software bei z.B. Datenerfassung, Eingaben des Benutzers oder Grenzwerten.
Oberflächentest (GUI Test):
Bei diesem Test wird die grafische Benutzerschnittstelle auf Verständlichkeit und Bedienbarkeit überprüft.
Lasttest:
Bei diesem Test wird überdurchschnittliche Last auf dem System erzeugt um zu testen, ob die Software trotzdem funktional läuft.