Statisches Testen vs. dynamisches Testen: Was ist der Unterschied?

Inhaltsverzeichnis:

Anonim

Was ist statisches Testen?

Statisches Testen ist eine Art von Softwaretest, bei dem Softwareanwendungen ohne Codeausführung getestet werden. Manuelle oder automatisierte Überprüfungen von Code, Anforderungsdokumenten und Dokumentendesign werden durchgeführt, um die Fehler zu finden. Das Hauptziel statischer Tests besteht darin, die Qualität von Softwareanwendungen zu verbessern, indem Fehler in frühen Phasen des Softwareentwicklungsprozesses gefunden werden.

Statische Tests umfassen manuelle oder automatisierte Überprüfungen der Dokumente. Diese Überprüfung wird in einer ersten Testphase durchgeführt, um Defekte frühzeitig in der STLC zu erkennen. Es prüft Arbeitsdokumente und liefert Überprüfungskommentare. Es wird auch als Nichtausführungstest oder Verifikationstest bezeichnet.

Beispiele für Arbeitsdokumente-

  • Anforderungsspezifikationen
  • Designdokument
  • Quellcode
  • Testpläne
  • Testfälle
  • Testskripte
  • Hilfe oder Benutzerdokument
  • Webseiteninhalt

Was ist dynamisches Testen?

Unter Dynamisches Testen wird ein Code ausgeführt. Es prüft das Funktionsverhalten des Softwaresystems, die Speicher- / CPU-Auslastung und die Gesamtleistung des Systems. Daher der Name "Dynamisch"

Das Hauptziel dieser Tests besteht darin, zu bestätigen, dass das Softwareprodukt den Geschäftsanforderungen entspricht. Dieser Test wird auch als Ausführungstechnik oder Validierungstest bezeichnet.

Dynamisches Testen führt die Software aus und validiert die Ausgabe mit dem erwarteten Ergebnis. Dynamische Tests werden auf allen Testebenen durchgeführt und können entweder Black- oder White-Box-Tests sein.

SCHLÜSSELUNTERSCHIED

  • Statische Tests wurden ohne Ausführung des Programms durchgeführt, während dynamische Tests durch Ausführung des Programms durchgeführt wurden.
  • Beim statischen Testen werden Code, Anforderungsdokumente und Konstruktionsdokumente auf Fehler überprüft, während beim dynamischen Testen das Funktionsverhalten des Softwaresystems, die Speicher- / CPU-Auslastung und die Gesamtleistung des Systems überprüft werden.
  • Bei statischen Tests geht es um die Vermeidung von Fehlern, bei dynamischen Tests um das Auffinden und Beheben von Fehlern.
  • Statische Tests führen den Überprüfungsprozess durch, während dynamische Tests den Validierungsprozess durchführen.
  • Statische Tests werden vor der Kompilierung durchgeführt, während dynamische Tests nach der Kompilierung durchgeführt werden.
  • Statische Testtechniken sind strukturelle und Anweisungsabdeckung, während dynamische Testtechniken Grenzwertanalyse und Äquivalenzpartitionierung sind.

Statische Testtechniken:

  • Informelle Überprüfungen : Dies ist eine der Überprüfungsarten, die keinem Prozess zum Auffinden von Fehlern im Dokument folgen. Bei dieser Technik überprüfen Sie einfach das Dokument und geben informelle Kommentare dazu ab.
  • Technische Überprüfungen : Ein Team, das aus Ihren Kollegen besteht, überprüft die technischen Spezifikationen des Softwareprodukts und prüft, ob es für das Projekt geeignet ist. Sie versuchen, Unstimmigkeiten in den befolgten Spezifikationen und Standards zu finden. Diese Überprüfung konzentriert sich hauptsächlich auf die technische Dokumentation in Bezug auf die Software wie Teststrategie, Testplan und Anforderungsspezifikationsdokumente.
  • Exemplarische Vorgehensweise: Der Autor des Arbeitsprodukts erklärt seinem Team das Produkt. Die Teilnehmer können gegebenenfalls Fragen stellen. Ein Treffen wird vom Autor geleitet. Der Schreiber nimmt die Kommentare zur Überprüfung zur Kenntnis
  • Inspektion: Der Hauptzweck besteht darin, Mängel zu finden, und das Treffen wird von einem geschulten Moderator geleitet. Diese Überprüfung ist eine formale Art der Überprüfung, bei der ein strenger Prozess zur Ermittlung der Mängel durchgeführt wird. Prüfer haben eine Checkliste, um die Arbeitsprodukte zu überprüfen. Sie zeichnen den Fehler auf und informieren die Teilnehmer, um diese Fehler zu beheben.
  • Überprüfung des statischen Codes: Dies ist eine systematische Überprüfung des Software-Quellcodes, ohne den Code auszuführen. Es überprüft die Syntax des Codes, die Codierungsstandards, die Codeoptimierung usw. Dies wird auch als White-Box-Test bezeichnet. Diese Überprüfung kann zu jedem Zeitpunkt während der Entwicklung durchgeführt werden.

Dynamische Testtechniken:

  • Unit Testing: Unter Unit Testing werden einzelne Einheiten oder Module von den Entwicklern getestet. Es beinhaltet das Testen des Quellcodes durch Entwickler.
  • Integrationstests: Einzelne Module werden zusammengefasst und von den Entwicklern getestet. Der Zweck besteht darin, zu bestimmen, welche Module nach ihrer Integration erwartungsgemäß funktionieren.
  • Systemtests: Systemtests werden für das gesamte System durchgeführt, indem überprüft wird, ob das System oder die Anwendung das Anforderungsspezifikationsdokument erfüllt.

Auch nichtfunktionale Tests wie Leistung und Sicherheitstests fallen unter die Kategorie der dynamischen Tests.

Unterschied zwischen statischen und dynamischen Tests:

Statische Prüfung

Dynamisches Testen

Das Testen wurde durchgeführt, ohne das Programm auszuführen Das Testen erfolgt durch Ausführen des Programms
Dieser Test führt den Überprüfungsprozess durch Dynamische Tests führen den Validierungsprozess durch
Bei statischen Tests geht es um die Vermeidung von Defekten Beim dynamischen Testen geht es darum, die Fehler zu finden und zu beheben
Statische Tests bieten eine Bewertung des Codes und der Dokumentation Dynamische Tests führen zu Fehlern / Engpässen im Softwaresystem.
Statische Tests umfassen eine Checkliste und einen Prozess, der befolgt werden muss Dynamisches Testen umfasst Testfälle zur Ausführung
Dieser Test kann vor der Kompilierung durchgeführt werden Dynamische Tests werden nach der Kompilierung durchgeführt
Statische Tests umfassen die Struktur- und Anweisungsabdeckungstests Dynamische Testtechniken sind Grenzwertanalyse und Äquivalenzpartitionierung.
Die Kosten für das Auffinden und Beheben von Fehlern sind geringer Die Kosten für das Auffinden und Beheben von Fehlern sind hoch
Die Kapitalrendite wird hoch sein, da dieser Prozess frühzeitig erfolgt Die Kapitalrendite wird niedrig sein, da dieser Prozess nach der Entwicklungsphase erfolgt
Weitere Bewertungen Kommentare werden für eine gute Qualität dringend empfohlen Weitere Mängel werden für eine gute Qualität dringend empfohlen.
Erfordert viele Besprechungen Erfordert vergleichsweise weniger Besprechungen