> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baenninger.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Regressionstests

Ein Regressionstest ist der erneute Test eines Softwareprogramms nach einer Modifikation, wobei bereits vorhandene Testfälle genutzt werden. Seine zentrale Bedeutung liegt in der Qualitätssicherung nach Änderungen, um sicherzustellen, dass durch Modifikationen keine neuen Fehlerzustände eingebaut oder unbeabsichtigte Seiteneffekte in unveränderten Systemteilen (sogenannte Regressionen) erzeugt wurden.

## Hauptziele und Anwendungsbereiche

<AccordionGroup>
  <Accordion title="Absicherung der Stabilität">
    Das primäre Ziel ist der Nachweis, dass die Teile oder Merkmale einer neuen Version, die gegenüber der Vorversion gleich bleiben sollten, tatsächlich weiterhin fehlerfrei funktionieren.
  </Accordion>

  <Accordion title="Nach Softwarewartung und Bugfixing">
    Sobald ein Fehlerzustand korrigiert wurde (Fehlernachtest), muss durch Regressionstests geprüft werden, ob diese Korrektur Auswirkungen auf die Umgebung oder andere Funktionen hat.
  </Accordion>
</AccordionGroup>

## Zusammenhang mit der Testautomatisierung

Regressionstests sind die bevorzugten Kandidaten für eine Testautomatisierung. Da diese Tests regelmässig und oft wiederholt werden müssen, bietet die Automatisierung hier einen sehr hohen Nutzen.

<AccordionGroup>
  <Accordion title="Wirtschaftlichkeit">
    Die Kosten pro Testwiederholung sinken signifikant.
  </Accordion>

  <Accordion title="Zuverlässigkeit">
    Sie stellt eine exakte, menschliche Fehlhandlungen ausschliessende Wiederholbarkeit der Prüfprozeduren sicher.
  </Accordion>

  <Accordion title="Schnelligkeit">
    In agilen Projekten mit kurzen Iterationszyklen ist eine manuelle Durchführung oft nicht mehr praktikabel; hier ermöglichen automatisierte Regressionstests ein schnelles Feedback nach jeder Codeänderung
  </Accordion>
</AccordionGroup>
