====== LU02a - Prüfstrategie ====== === Quellen === * [[wpde>Softwaretest]] * [[https://www.andagon.com/blog/was-ist-software-teststrategie#:~:text=Die%20Software%2DTeststrategie%20beschreibt%20den,um%20die%20Projektziele%20zu%20erreichen.|andagon.com - Teststrategie]] Die Teststrategie eines Softwareprojekts legt fest, wie die einzelnen Teststufen getestet werden. Für jede Teststufe wird beschrieben, wie die Tests durchgeführt werden. In der Teststrategie legen wir den Gesamtrahmen für unsere Tests fest. Für jeden Teil des Systems definieren wir * die Testziele * die Intensität der Tests * Testmethoden und -techniken * Testinfrastruktur * Reihenfolge ===== Grundsätze und Techniken ===== ==== Top-down ==== Beim Testen werden zunächst die Hauptfunktionen bzw. die Steuerung überprüft. Detailfunktionen werden ignoriert oder mit Hilfe von **Stubs** simuliert. ==== Bottom-up ==== Der Test beginnt mit den kleinsten, atomaren Funktionen der Anwendung. Die Aufrufe der Funktionen werden durch **Driver** simuliert. Diese Strategie ist häufig anzutreffen und wird durch Unit Tests (z.B. PyTest) unterstützt. ==== hardest first ==== Die komplexesten und/oder wichtigsten Teile der Anwendung werden zuerst getestet. ==== Risikobasiertes Testen ==== Das Testverfahren wird auf Basis der Risikoanalyse geplant. Es wird abgeschätzt, in welchen Komponenten ein unentdeckter Fehler den größten Schaden anrichten kann. Diese Komponenten werden zuerst und mit hoher Intensität getestet. ==== Datengetriebenes Testen ==== Bei dieser Technik wird mit Hilfe von Skripten die Datenkonstellation gezielt verändert, um ganze Testfallsammlungen effizient und automatisiert zu testen. ==== ISO/IEC 25000 ==== Die [[wpde>ISO/IEC_25000|ISO/IEC-Norm 25000]] ist eine Norm für Qualitätskriterien und Bewertungsmethoden für Software und Systeme. ---- {{tag>M450-LU02}} [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter