Unterschied zwischen Komponententest, Systemtest, Integrationstest und Regressionstest

Unterschied zwischen Komponententest, Systemtest, Integrationstest und Regressionstest

Komponententest

Komponententests werden an den einzelnen Einheiten eines Programms durchgeführt und sollen eine einzelne Komponente untersuchen, die einen bestimmten Wert hat zum ersten Mal geändert oder eingeführt. Jeder Test, der darauf abzielt, ein einzelnes Modul zu validieren, muss mit der zugehörigen technischen Dokumentation versehen sein, die unter anderem die Ergebnisse enthält, die das getestete Modul liefern soll. Die Unit-Tests konzentrieren sich auf die Funktionalität und Zuverlässigkeit der Software und werden in einer Testphase vor der Systemintegration durchgeführt. Wenn ein Defekt während eines Komponententests entdeckt würde, würden seine Art und Auswirkungen auf das allgemeine System bewertet; Ziel ist es, ihn zu beheben, bevor das getestete Modul genehmigt wird.

Systemtest

Systemtest werden an allen neuen oder modifizierten Komponenten und Modulen durchgeführt, die ein Produkt charakterisieren. Ziel ist es zu verstehen, wie die verschiedenen unitären Blöcke miteinander interagieren und ob sie insgesamt die erforderlichen Ausgaben liefern; Der Schwerpunkt liegt auf der Validierung und Überprüfung der Systemanforderungen und darauf, wie einzelne Module zusammenarbeiten, wenn sie verbunden sind. Normalerweise sind die Tests auf dem System mehr als eine: der erste verdient besondere Erwähnung (normalerweise “Rauchtest” genannt), mit dem allgemein untersucht werden soll, wie sich das Programm verhält und ob die Hauptfunktionen korrekt ausgeführt werden, ohne auf die Details einzugehen. Tests am gesamten System dauern lange, da eine große Anzahl durchgeführt werden muss, um alle möglichen Szenarien zu analysieren; Der Testplan spielt an dieser Stelle eine sehr heikle Rolle, da er die Beschreibung der Testfälle, die Reihenfolge, in der sie durchgeführt werden müssen, und die Dokumentation enthält, die zur Auflistung der Ergebnisse erforderlich ist. Wenn ein Fehler entdeckt und behoben wird, muss der Test erneut durchgeführt werden, um sicherzustellen, dass die vorgenommenen Korrekturen keinen negativen Einfluss auf Komponenten hatten, die zuvor keine Fehler aufwiesen (der bereits oben erwähnte Regressionstest).

Integrationstest

Nach Durchführung der verschiedenen Systemtests muss sichergestellt werden, dass das entwickelte Programm auch dann die gewünschten Ergebnisse liefert, wenn es in einer anderen als der nativen Umgebung ausgeführt wird: es ist daher notwendig, Integrationstests durchzuführen, bei denen das Produkt zusammen mit anderen Schnittstellen und Anwendungen getestet wird. Im Gegensatz zu Systemtests ist es bei Integrationstests nicht notwendig, erneut zu testen, wenn ein Fehler entdeckt wird, nachdem er behoben wurde. Die Integrationstests sind in verschiedene Gruppen unterteilt und können je nach zu testender Anwendung durchgeführt werden oder nicht:

  • Kompatibilitätstest: Stellen Sie sicher, dass die Anwendung mit verschiedenen Konfigurationen funktioniert, die auf den für den Benutzer verfügbaren Konfigurationen basieren
  • Leistungstests: sie bewerten die Fähigkeit der Anwendung, korrekt zu funktionieren, wenn beispielsweise mehrere Benutzer sie gleichzeitig verwenden oder die Anzahl der Eingaben zunimmt
  • Stresstests: Sie testen die korrekte Funktion der Anwendung, wenn sie mit ungewöhnlichen Arbeitslasten belastet ist
  • Belastungstests: sie sind komplementär zu Stresstests und bewerten den Betrieb der Anwendung unter normalen Arbeitsbelastungen

Regressionstest

Der bereits in den vorherigen Absätzen erwähnte Regressionstest wird immer dann durchgeführt, wenn die Prozedur eines Programmteils nach der Identifizierung eines Fehlers geändert wird; Wenn ein Fehler korrigiert wird, besteht die Möglichkeit, dass unbeabsichtigt ein neuer eingeführt wird: Es besteht daher die Einführung von Unsicherheit über die Fähigkeit der Anwendung, alle zuvor ausgeführten Funktionen wieder korrekt zu wiederholen. Der Regressionstest wird normalerweise parallel zu anderen Tests durchgeführt und kann als Qualitätskontrolle angesehen werden, um sicherzustellen, dass der gerade geänderte Code die nicht geänderten Funktionen weiterhin korrekt ausführt und dieselben Anforderungen erfüllt, die zuvor überprüft wurden . Zusammenfassend kann festgestellt werden, dass der Regressionstest sicherstellt, dass der Rest der Anwendung, der keiner Änderung unterliegt, nicht von Fehlern betroffen ist, die sich aus der Korrektur anderer ergeben.

Leave a Reply