STP038: Software-Tests
HomeSchlüsseltechnologie › Episode

STP038: Software-Tests

1:22:05 May 25, 2023
About this episode
Nach der Episode über die Fehler, spechen wir heute darüber, wie man sie vermeidet. Wie nicht anders zu erwarten, ist auch dies ein Thema, bei dem reichhaltige Meinungsdiskurse geführt werden.Shownotes Warum testen? -> siehe STP037 Anforderungen an Tests reproduzierbar: nicht abhängig von unerwarteten äußeren Einflüssen oder menschlicher Intervention fokussiert: im Fehlerfall soll möglichst klar sein, wo das Problem liegt schnell: damit man beim Ändern des Systems schnelles Feedback bekommt (siehe auch XKCD 303) realitätsnah: überprüft eine Funktion, die der Benutzer so tatsächlich benötigt manuelle Tests kostenintensiv: Online-Shooter braucht(e) 200 Tester (das Spiel erlaubt Matches mit bis zu 60 Teilnehmern) erfüllt von den obigen Anforderungen nur die Realitätsnähe wenn's geht, lieber automatisieren gängige Strategie: manuelle Tests zur Fehlersuche, im Zweifelsfall durch die Kunden ;) – dann Nachstellung des gefundenen Problems automatisierte Tests am Beispiel der Testpyramide Unit Tests: Überprüfung einer einzelnen Komponente in Isolation besonders wertvoll, wenn die Komponenten auf besonders reproduzierbare Weise arbeiten (zum Beispiel pure Berechnungen; Vorgänge, die nicht Netzwerkzugriff/Festplattenzugriff/etc. erfolgen) Problem: es reicht nicht, wenn jede Komponente für sich genommen funktioniert, aber sie nicht zusammen passen Bewertung: reproduzierbar, fokussiert, schnell, aber nicht realitätsnah Integration Tests: Überprüfung des Zusammenspiels mehrerer Komponenten eines Gesamtsystems nach Möglichkeit Eingrenzung äußerer Faktoren, z.B. statt Kommunikation mehrerer Komponenten über ein reales Netzwerk Simulation einer Netzwerkstruktur im Programm oder mittels Containern/VMs (siehe STP023) Bewertung: tendenziell weniger reproduzierbar, etwas langsamer, weniger fokussiert, aber realitätsnäher End-to-End-Tests (E2E): Überprüfung des Verhaltens eines Gesamtsystems analog zu den manuellen Tests, aber nach festem Algorithmus höchster Aufwand in der Umsetzung, siehe insbesondere UI-Tests mittels Headless Browser etc. Bewertung: am wenigsten reproduzierbar (aufgrund der Vielzahl an Variablen), am unfokussiertesten, am langsamsten, aber am nächsten an der Realit
Select an episode
0:00 0:00