
Python-Test-Framework: 100 Tests auf ein neues Gerät - Max Stahlschmidt
transcript
show notes
Hundert End-to-End-Tests auf ein neues Gerät bringen, ohne einen einzigen anzufassen: Dafür hat Max Stahlschmidt das Open-Source-Python-Test-Framework Balder gebaut. Mit ihm spreche ich darüber, warum bewährte Frameworks bei Produktvarianten an ihre Grenzen stoßen, wie Balder die abstrakte Testlogik in Szenarien von der Implementierung in Setups trennt und warum er es nicht auf Pytest aufgesetzt hat. Sein Beispiel: ein Herzfrequenz-Brustgurt und eine Pulsuhr, die optisch statt elektrisch misst, und trotzdem reichten zwei getauschte Features. Dazu BalderHub-Pakete für Web-Tests, JUnit-Reporting per Plugin und die Suche nach Mitentwicklern, weil der Kern bis heute Handarbeit ist.
„Wenn sich jetzt zum Beispiel das Protokoll ändert, dann tausche ich einfach nur den Teil aus und kann den Test wiederverwenden.“ - Max Stahlschmidt
Max Stahlschmidt ist seit über zehn Jahren Senior Software Test Engineer für Testautomatisierungen mit Python. Als Geschäftsführer der CodeMax Software GmbH arbeitet er an skalierbarer Qualitätssicherung, von Embedded-Systemen über verteilte Systeme bis hin zu Webapplikationen. Er ist Maintainer des Open-Source-Testframeworks Balder und zahlreicher fertig installierbarer BalderHub-Projekte, die es erlauben, Tests über ähnliche bis hin zu komplett unterschiedlich erscheinenden Varianten hinweg wiederverwendbar zu machen.
Highlights:
- Bewährte Testframeworks stoßen bei Produktvarianten an Grenzen, weil der Kern der Funktionen gleich bleibt, aber jede Variante ein Protokoll oder eine Schnittstelle ändert.
- Im Python-Test-Framework Balder heißt die abstrakte Testlogik Szenario und die Implementierung Setup; welches Setup zu welchem Szenario passt, ermittelt ein eigener Matching-Algorithmus.
- Balder baut nicht auf Pytest auf, weil Pytest dieses Matching nicht kennt. Das Framework ist deshalb von Grund auf und ohne Dependencies gebaut.
- BalderHub-Pakete liefern nach dem Vorbild von Docker Hub fertige Tests und Features, etwa für Selenium, Page-Objekte, CRUD-Datenmodelle, REST und das Django-Admin-Interface.
- Max Stahlschmidt entwickelt Balder bisher weitgehend allein und sucht Contributor; rund 30 BalderHub-Projekte liegen auf GitHub, viele davon noch im Beta-Zustand.
Weitere Links zur Episode:
📘 Tool-Migration geplant? Teamscale-Playbook: nur 20 % der Tests migrieren, fast volle Fehlererkennung. Kostenlos herunterladen
Danke an die Community-Partner des Podcasts:





