Arten von Black-Box-Tests
Black-Box-Tests sind eine Methode zur Durchführung von Tests. Diese Tests können zur Erreichung verschiedener Ziele konzipiert werden, darunter:
- Funktionsprüfung: Mit Funktionstests soll überprüft werden, ob eine Anwendung das tut, was sie tun soll. Funktionstests können beispielsweise den Authentifizierungsmechanismus einer Anwendung testen, um zu überprüfen, ob sich legitime Benutzer erfolgreich authentifizieren können, während ungültige Anmeldeversuche abgelehnt werden. Zu den gängigen Arten von Funktionstests gehören Plausibilitätsprüfungen, Integrationstests und Systemtests.
- Nichtfunktionale Tests: Bei nichtfunktionalen Tests wird bewertet, wie gut eine Anwendung ihre Kernfunktionen ausführt. Beispiele für Tests sind Leistungs-, Benutzerfreundlichkeits-, Skalierbarkeits- und Sicherheitstests.
- Regressionstests: Regressionstests sollen sicherstellen, dass eine Änderung an einer Anwendung die Funktionalität nicht beeinträchtigt. Beispielsweise sollten Regressionstests nach dem Patchen einer Schwachstelle in einer Anwendung durchgeführt werden, um sicherzustellen, dass der Patch nicht dazu geführt hat, dass die Anwendung funktionale oder nicht funktionale Tests nicht bestanden hat.
Black-Box-Testtechniken
Da keine internen Kenntnisse über eine Anwendung vorliegen, ist die Struktur wichtig, um sicherzustellen, dass der Test alle erforderlichen Fälle abdeckt. Zu den gängigen Techniken zur Durchführung einer Black-Box-Bewertung gehören:
- Prüfung der Äquivalenzklasse: Eine Anwendung kann für bestimmte Arten von Eingaben demselben Kontrollfluss folgen. Beispielsweise kann eine Anwendung, die nur für Erwachsene zugänglich sein sollte, beendet werden, wenn ein Benutzer ein Alter unter 18 Jahren eingibt, oder ein Tool mit einem eingeschränkten Servicebereich kann für Länder oder Postleitzahlen außerhalb dieses Bereichs beendet werden. Beim Äquivalenzklassentest identifizieren Tester die Klassen, die die gleichen Ergebnisse liefern, und testen nur auf einen Wert innerhalb dieser Klasse.
- Grenzwertbewertung: Grenzwerte sind Eingaben, bei denen sich eine Anwendung von einem Kontrollfluss zu einem anderen ändert. Beispielsweise sind das Alter von 17 und 18 Jahren Grenzwerte für das Erwachsensein, da ein 17-Jähriger durch einen Antrag abgelehnt werden kann, während ein 18-Jähriger akzeptiert werden würde. Die Grenzwertauswertung testet diese Eingaben, um sicherzustellen, dass das System diese Randfälle ordnungsgemäß verarbeitet.
- Testen der Entscheidungstabelle: Eine Anwendung kann so konzipiert sein, dass sie Entscheidungen auf der Grundlage einer Kombination von Eingaben trifft. Beispielsweise können Benutzer über 18 Jahren, die in einem bestimmten Gebiet leben, möglicherweise auf eine Anwendung zugreifen. Beim Testen von Entscheidungstabellen werden jede Kombination von Eingaben und ihre erwarteten Ergebnisse aufgelistet und ein Testfall entwickelt, um jede Kombination zu validieren.
- Bewertung des Zustandsübergangs: Eine Anwendung kann so konzipiert sein, dass sie unter bestimmten Bedingungen ihren Status ändert, z. B. wenn das Konto eines Benutzers nach einer bestimmten Anzahl fehlgeschlagener Authentifizierungsversuche gesperrt wird. Bei der Zustandsübergangsbewertung geht es darum, diese Situationen zu identifizieren und Testfälle zu entwickeln, um sie zu validieren.
- Fehlerüberprüfung: Diese Form der Evaluierung testet auf häufige Fehler, die ein Entwickler beim Erstellen einer Anwendung gemacht haben könnte. Dabei geht es oft darum, Eingaben zu bereinigen und sicherzustellen, dass Annahmen über eine Eingabe durchgesetzt werden. Tester können beispielsweise prüfen, ob Entwickler die Eingabe von Null in einem numerischen Feld ordnungsgemäß verarbeitet oder den Zeichensatz für einen Namen auf die Buchstaben und Symbole beschränkt haben, die in einem Namen vorkommen können.
Black-Box- vs. White-Box-Tests
Während Black-Box-Tests nach der Tatsache benannt sind, dass der Tester keine internen Kenntnisse über die Anwendung hat (d. h Während es sich um eine „Black Box“ handelt, verfolgt eine White-Box-Bewertung den umgekehrten Ansatz. Zu den wichtigsten Unterschieden zwischen Black-Box- und White-Box-Tests gehören:
- Black-Box-Tests: Der Tester interagiert mit der Anwendung und versucht zu überprüfen, ob eine Anwendung funktionale und nicht funktionale Anforderungen und Spezifikationen erfüllt. Der Mangel an internem Wissen kann diese Tests zeitaufwändiger machen und dazu führen, dass Schwachstellen in nicht besuchten Codepfaden unentdeckt bleiben. Es hat jedoch den Vorteil, dass es sprach- und plattformunabhängig ist.
- White-Box-Test: Im Gegensatz zu Black-Box-Tests werden White-Box-Bewertungen mit umfassender Kenntnis der Interna einer Anwendung, einschließlich Zugriff auf den Quellcode, durchgeführt. White-Box-Tests bieten eine bessere Testabdeckung als Black-Box-Tests, da der gesamte Code ausgewertet werden kann. Es erfordert jedoch Kenntnisse der Sprache, in der der Code entwickelt wurde.
Black-Box- und White-Box-Tests stellen zwei Extreme dar, wie Tests durchgeführt werden können. Gray-Box-Tests liegen dazwischen. Bei einer Gray-Box-Bewertung verfügt der Tester über teilweise Kenntnisse der Systeminterna, die bei der Bewertung hilfreich sein können. Selbstschutz der Laufzeitanwendung (RASP) ist ein Sicherheitstool, das in die Kategorie der Gray-Box-Tests fällt.
Black-Box-Sicherheitstests mit Check Point
Check Point Professional Services bietet eine Reihe von Dienstleistungen für Cybersicherheits-Resilienz-/Penetrationstests an. Dazu gehören Black-Box-, Grey-Box- und Whitebox-Sicherheitsbewertungen.
Lerne mehr über Die professionellen Prüfdienste von Check Point. Gerne auch Kontaktieren Sie uns Erfahren Sie, wie wir Ihnen dabei helfen können, Sicherheitsprobleme in Ihrem Unternehmen zu erkennen und zu beheben.