Statische Verfahren bei Software-Tests

Alamea, Benjamin, Eric, Ron

Gliederung

  1. Was sind statische Testverfahren?
  2. Warum werden sie genutzt?
  3. Wie werden sie genutzt?
  4. Beispiel
  5. Fazit

Was sind statische Verfahren?

Definition: Analyse von Software anhand von Quellcode, Design-Dokumente, Anforderungen ohne Ausführung der Software

 

Fokus: Untersuchung von Struktur, Syntax, Semantik und Einhaltung von Programmierstandards

 

Ziel: Frühe Fehlererkennung vor der Laufzeit

Warum sind statische Verfahren wichtig?

Minimierung von Risiken und Kosten

  • Fehler in frühen Phasen sind generell günstiger zu beheben
  • Nacharbeitskosten minimiert
  • Software-Fehler im Produktivbetrieb verhindert

 

 

Warum sind statische Verfahren wichtig?

Qualitätsverbesserung & Maintainability:

  • Einhaltung von Richtlinien & Best Practices

Sicherheitsaspekte:

  • Identifikation von Sicherheitslücken

Compliance:

  • Validierung der Einhaltung branchenspezifischer Standards (z.B.: ISO:9001)

Methoden statischer Verfahren

Ziele:

  • Logikfehler & Algorithmus-Defekte erkennen
  • Einhaltung von Coding Standards kontrollieren
  • Code-Qualität prüfen
  • Dokumentationsqualität prüfen

 

Vorteile: tiefes Verständnis des Tests, komplexe Logikfehler können behoben werden, Wissensaustausch
 

Nachteile: zeitintensiv, subjektiv, fehleranfällig

manuelle Überprüfung durch Entwickler/Tester

Methoden statischer Verfahren

Ziele:

  • Syntax- & Semantikfehler
  • Potenzielle Laufzeitfehler (z.B. Dead Code)
  • Sicherheitsschwachstellen (SQL-Injection)
  • Einhaltung von Architektur- & Designprinzipien

 

Vorteile: skalierbar, konsistent, schnell, effizient bei bekannten Mustern

 

Nachteile: false positives oder false negatives, verstehen komplexe Laufzeitlogik nicht vollständig

Einsatz von Software-Tools zum Testen des Codes

Beispiel in der Anwendung

in VSCode:

  • Syntax und Semantik wird durch Plugins kontrolliert

Beispiel in der Prüfung

Logik, Syntax, Semantik wird durch dich kontrolliert

Fazit - statische Testverfahren

Um sicherzustellen, dass wir qualitativ hochwertigen Code schreiben, nutzen wir statische Testverfahren. Diese ergänzen sich mit dynamischen Tests für einen ganzheitlichen Testansatz.

Fragen?
Made with Slides.com