Statische und dynamische Tests: Unterschiede zwischen ihnen
Unterschied zwischen statischen und dynamischen Tests
- Statische Tests werden ohne die Ausfรผhrung des Programms durchgefรผhrt, wรคhrend dynamische Tests durch die Ausfรผhrung des Programms erfolgen.
- Statische Tests รผberprรผfen den Code, Anforderungsdokumente und Designdokumente, um Fehler zu finden, wรคhrend dynamische Tests das Funktionsverhalten des Softwaresystems, die Speicher-/CPU-Nutzung und die Gesamtleistung des Systems รผberprรผfen.
- Bei statischen Tests geht es um die Vermeidung von Fehlern, wรคhrend es bei dynamischen Tests darum geht, Fehler zu finden und zu beheben.
- Statische Tests รผbernehmen den Verifizierungsprozess, wรคhrend dynamische Tests den Validierungsprozess รผbernehmen.
- Statische Tests werden vor der Kompilierung durchgefรผhrt, wรคhrend dynamische Tests nach der Kompilierung durchgefรผhrt werden.
- Statische Testtechniken sind Struktur- und Aussageabdeckung, wรคhrend dynamische Testtechniken Grenzwertanalyse und รquivalenzpartitionierung sind.
Was ist statische Prรผfung?
Statische Prรผfung ist eine Art Softwaretest, bei dem eine Softwareanwendung ohne Codeausfรผhrung getestet wird. Um die Fehler zu finden, werden manuelle oder automatisierte รberprรผfungen von Code, Anforderungsdokumenten und Dokumentdesign durchgefรผhrt. Das Hauptziel statischer Tests besteht darin, die Qualitรคt von Softwareanwendungen zu verbessern, indem Fehler in frรผhen Phasen des Softwareentwicklungsprozesses gefunden werden.
Statische Prรผfung beinhaltet manuelle oder automatisierte รberprรผfungen der Dokumente. Diese รberprรผfung erfolgt in einer ersten Testphase, um Fehler frรผhzeitig zu erkennen STLC. Es prรผft Arbeitsunterlagen und gibt Prรผfkommentare ab. Es wird auch als Non-Execution-Test oder Verifizierungstest bezeichnet.
Beispiele fรผr Arbeitsdokumente-
- Anforderungsspezifikationen
- Entwurfsdokument
- Source Code
- Testplรคne
- Testfรคlle
- Testskripte
- Hilfe oder Benutzerdokument
- Inhalt der Webseite
Statische Testtechniken
- Informell RevAnsichten: Hierbei handelt es sich um eine Art รberprรผfung, bei der kein Prozess zum Auffinden von Fehlern im Dokument durchgefรผhrt wird. Bei dieser Technik รผberprรผfen Sie lediglich das Dokument und geben informelle Kommentare dazu ab.
- Technische RevAnsichten: Ein Team bestehend aus Ihren Kollegen รผberprรผft die technische Spezifikation des Softwareprodukts und prรผft, ob es fรผr das Projekt geeignet ist. Sie versuchen, etwaige Unstimmigkeiten in den befolgten Spezifikationen und Standards zu finden. Diese รberprรผfung konzentriert sich hauptsรคchlich auf die technische Dokumentation im Zusammenhang mit der Software wie Teststrategie, Versuchsplan und Anforderungsspezifikationsdokumente.
- Exemplarische Vorgehensweise: Der Autor des Arbeitsergebnisses erklรคrt seinem Team das Produkt. Teilnehmer kรถnnen ggf. Fragen stellen. Ein Treffen wird vom Autor geleitet. Der Schreiber notiert die Rezensionskommentare
- Inspektion: Der Hauptzweck besteht darin, Mรคngel zu finden. Die Besprechung wird von einem geschulten Moderator geleitet. Bei dieser รberprรผfung handelt es sich um eine formelle Art der รberprรผfung, bei der ein strikter Prozess zur Ermittlung des Ziels durchgefรผhrt wird Defekte. RevDie Prรผfer รผberprรผfen die Arbeitsergebnisse anhand einer Checkliste. Sie erfassen die Mรคngel und informieren die Teilnehmer, damit diese die Fehler beheben kรถnnen.
- Statischer Code Revansicht: Dabei handelt es sich um eine systematische รberprรผfung des Software-Quellcodes, ohne den Code auszufรผhren. Dabei werden die Syntax des Codes, Codierungsstandards, Codeoptimierung usw. รผberprรผft. Dies wird auch als White-Box-Test bezeichnet. Diese รberprรผfung kann zu jedem Zeitpunkt wรคhrend der Entwicklung durchgefรผhrt werden.
Was ist dynamisches Testen?
Der Dynamisches Testen, ein Code wird ausgefรผhrt. Es prรผft das Funktionsverhalten des Softwaresystems, die Speicher-/CPU-Nutzung und die Gesamtleistung des Systems. Daher der Name โDynamicโ
Das Hauptziel dieser Tests besteht darin, zu bestรคtigen, dass das Softwareprodukt in รbereinstimmung mit den Geschรคftsanforderungen funktioniert. 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-Box- oder White-Box-Tests sein.
Dynamische Testtechniken
- Unit-Tests: Der Unit TestsDabei werden einzelne Einheiten oder Module von den Entwicklern getestet. Es beinhaltet das Testen des Quellcodes durch Entwickler.
- Integrationstests: Einzelne Module werden von den Entwicklern gruppiert und getestet. Der Zweck besteht darin, festzustellen, welche Module nach der Integration wie erwartet funktionieren.
- Systemtest: Systemtest wird 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, Sicherheitstests fallen unter die Kategorie der dynamischen Tests.
Statische Tests vs. Dynamisches Testen
| Statische Prรผfung | Dynamisches Testen |
|---|---|
| Der Test wurde durchgefรผhrt, ohne das Programm auszufรผhren | Der Test erfolgt durch die Ausfรผhrung des Programms |
| Dieser Test fรผhrt den Verifizierungsprozess durch | Dynamische Tests รผbernehmen den Validierungsprozess |
| Beim statischen Testen geht es um die Fehlervermeidung | Beim dynamischen Testen geht es darum, Fehler zu finden und zu beheben |
| Statische Tests ermรถglichen eine Bewertung von Code und Dokumentation | Dynamische Tests fรผhren zu Fehlern/Engpรคssen im Softwaresystem. |
| Statische Tests umfassen eine Checkliste und einen zu befolgenden Prozess | 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 Statement-Coverage-Tests | Dynamische Testtechniken sind Grenzwertanalyse und รquivalenzpartitionierung. |
| Die Kosten fรผr die Fehlersuche und -behebung sind geringer | Die Kosten fรผr die Fehlersuche und -behebung sind hoch |
| Der Return on Investment wird hoch sein, da dieser Prozess bereits in einem frรผhen Stadium durchgefรผhrt wird | Der Return on Investment wird gering sein, da dieser Prozess nach der Entwicklungsphase erfolgt |
| Fรผr eine gute Qualitรคt werden weitere Rezensionen und Kommentare dringend empfohlen | Weitere Mรคngel werden fรผr eine gute Qualitรคt dringend empfohlen. |
| Erfordert viele Besprechungen | Vergleichsweise weniger Besprechungen erforderlich |



