In der Softwerkskammer Köln gab es einen Vortrag über The pyramid is dead, long live the pyramid von Ramona Schwering. Hier einige Stichpunkte daraus:
Test Typen
- Manuelles Testen: sowohl per Checkliste als auch Exploratives Testen
- Unit Tests
- Integration Tests
- End-to-End Tests: Sicht eines Users annehmen. Klicks nachbilden. Langsam.
Test Pyramide
- Von Mike Cohn
- Erweitert/Verbreitet u.a. von Martin Fowler
- Wenn Unit Tests zu groß sind, wird aus dem unteren Layer eher ein Servicetest
Test Diamant
- Unit Tests sind anfällig für Änderungen
- Wenn zu kleinteilig, dann meist auch zu aufwändig
- Layer mit Unit Tests einschrumpfen (= Spizte des Diamanten)
-
4 Layer: e2e -> System (Komponenten) -> Integration (Service) -> Unit
- Manueller Test sollte nicht ersetzt werden
- Automatisches Testen sollte Routineaufgaben übernehmen, nicht komplettes Testen
Eistüte aka Pizzastück
- Eiskugeln = Manuelles Testen
Testing crab
- ?
-
Visual Testing (Screenshotvergleiche): percy
- wenn die Pyramide umgedreht wird, es also mehr e2e Tests gibt, dann ist das Testen ansich sehr zeitaufwändig
Testing Trophäe
- unterhalb der Unit Tests gibt es noch einen Sockel mit statischen Tests (ESLint, Sonar)
- Manuelle Test befinden sich um die Trophäe herum
Was sollte man testen?
- häufige Workflows
- kritische Pfade (die am meisten Schaden anrichten)
- Tests sollten einfach in der Wartung sein, performant laufen, wirkliche Fehler finden -> sollen Vertrauen in die Tests und die Software schaffen
- Form/Shape ist eher zweitrangig und kann sich von Projekt zu Projekt unterscheiden
Weitere Links zum Thema testen allgemein
- End to End Test mit Cypress.io
- Testing Without Mocks: A Pattern Language
- TDD Lunch & Learn
- London <-> Detroit: Mocking as a Design Tool
- Exploratives Testen:
- Testcharta definieren und nach gesetzter Zeit aufhören
- man findet oft die meisten Fehler
- Lets explore
- Explore It!: Reduce Risk and Increase Confidence with Exploratory Testing (978-1937785024)
- Flaky Tests:
- Wann entfernen? -> besser disablen und überprüfen (muss sofort mit Ticket geschehen oder im aktuellen/nächsten Sprint)
- Flaky Tests
Abseits vom Thema aber auch interessant
- Lizenzfreie Bilder von unsplash