Was ist Parallelitätstest beim Softwaretest?
Was ist Parallelitätstest?
Unter Parallelitätstests versteht man eine Testtechnik zur Erkennung von Fehlern in einer Anwendung, wenn mehrere Benutzer angemeldet sind. Mit anderen Worten: Überwachen der Auswirkungen, während mehrere Benutzer gleichzeitig dieselbe Aktion ausführen. Das Bild unten zeigt die gleichzeitigen Tests
Gleichzeitiges Testen wird auch als bezeichnet Mehrbenutzer Testen. Das Testen paralleler Programme ist aufgrund von Nichtdeterminismus und Synchronisierungsproblemen anspruchsvoller als das Testen sequentieller Programme.
Warum Parallelitätstests?
- Identifiziert die Auswirkungen des gleichzeitigen Zugriffs auf dieselben Datenbankdatensätze, Module oder Anwendungscodes.
- Identifiziert und misst das Ausmaß von Deadlocks, Sperren und der Verwendung von Single-Thread-Code sowie den eingeschränkten Zugriff auf gemeinsam genutzte Ressourcen.
Vorteile des gleichzeitigen Testens
- Dadurch wird der Aufwand zum Testen einer Anwendung relativ reduziert, indem der Umfang gleichzeitiger Interaktionen auf einige weit verbreitete und gut getestete Komponenten beschränkt wird.
- Der Kapselungswert ermöglicht die Analyse des Verhaltens eines Programmteils, ohne den gesamten Code oder das gesamte Programm überprüfen zu müssen
- Es trägt dazu bei, die Zuverlässigkeit und Robustheit gleichzeitiger Programme zu verbessern.
Nachteile des gleichzeitigen Testens
Nachteile, die bei der Durchführung gleichzeitiger Tests auftreten können
- Muss auf mehreren Plattformen getestet werden
- Erfordert intensivere Tests
- Funktionen geben ihr Ergebnis nicht sofort an den Aufrufer zurück, sondern es kann erst zu einem späteren Zeitpunkt über Benachrichtigungen, Blöcke, Callback-Funktionen oder ähnliche Mechanismen übermittelt werden, was das Testen erschwert.
- Der Informations- oder Programmfluss wird nicht im Aufrufstapel widergespiegelt.
- Die Anzahl der Ausführungspfade im System kann extrem groß sein, sodass die Prozesse in einem gleichzeitigen System während der Ausführung miteinander interagieren können
- Bei gleichzeitigen Programmen ist die Fehlerquote höher als bei sequentiellen
- Debuggen gleichzeitiger Programme
Zusammenfassung
Gleichzeitige oder Parallelitätstests werden durchgeführt, um Fehler in einer Anwendung zu erkennen, wenn mehrere Benutzer angemeldet sind.