zusammenfassungen/Writerside/topics/04/Software Engineering/01_ImplementingForMaintainability.md
David Schirrmeister fef45678dc update
2025-04-07 13:03:46 +02:00

1.7 KiB

Implementing for Maintainability

Motivation and Introduction

  • Unit und Integration Testing ist ein bekannter Ansatz um Qualität sicherzustellen
  • Gut-getestete Anwendungen:
    • 1 line of code = 1-3 lines of test code
    • kann auf bis zu 1:10 hochgehen
  • Produkt- und Testcode werden parallel geschrieben
  • guten Code schreiben ist schwer

Black-/White-Box Testing

image_555.png

Black-Box-Testing

Nur das Interface ist bekannt, nicht der Inhalt

  • Methode vom Software-Testing, das die Funktion analysiert, ohne den Mechanismus zu kennen
  • Normalerweise rund um die Spezifikationen und Anforderungen
    • Was soll die Anwendung tun, nicht wie tut sie es

White-Box-Testing

Das Interface und alle Mechanismen sind bekannt

  • Testmethodik, die verifiziert, wie die Anwendung arbeitet
  • Tests sind am Sourcecode ausgerichtet, nicht an den Anforderungen

Pros / Cons

  • White-Box-Testing ist systematischer und anspruchsvoller
    • Analyse des Codes kann zu Fehlerentdeckungen führen, die zuvor übersehen wurden
    • Testergebnisse sind oft spröde
      • Sind sehr verknüpft mit der Implementierung des Codes
      • Solche Tests produzieren viele false-positives und sind nicht gut für die Metrik der Resistenz gegen Refactoring
    • Können häufig nicht rückgeschlossen werden zu einem Verhalten, dass wichtig ist für eine Business-Person
      • Starkes Zeichen, dass die Tests nicht viel Wert hinzufügen
  • Black-Box-Testing hat gegensätzliche Vor-/Nachteile

Black-/White-Box-Testing sind Konzepte, die auf verschiedene Test-Typen angewendet werden können