idealo.de ist eine Preisvergleichsplattform im E-Commerce-Sektor, die in vielen europäischen Ländern aktiv ist. Eine zentrale Herausforderung ist die automatische Katalogisierung von über 2 Milliarden Angeboten, welche von mehr als 50.000 Shops bereitgestellt werden. Machine Learning spielt in der Katalogisierung eine zentrale Rolle, ist aber immer nur Teil einer komplexeren Domäne, in der Softwarekomponenten verschiedenster Art nahtlos ineinandergreifen müssen. Die kontinuierliche Entwicklung im laufenden Betrieb und die reibungslose Zusammenarbeit mit anderen Softwarekomponenten, stellt hohe Anforderungen an die Zuverlässigkeit, Stabilität und Qualität der Software und der angebundenen Modelle. Testen spielt dabei eine entscheidende Rolle.
Wir haben festgestellt, dass es viele offene Fragen beim Testen von Machine Learning basierter Software und deren Betrieb (ML-Ops) gibt. In diesem Vortrag wollen wir unsere Erfahrungen und Herangehensweisen für das Testen in diesem Bereich vorstellen. Dabei werden folgende Themen behandelt:

  • Testen im Kontext der traditionellen Softwareentwicklung mittels Unit-Tests und Contract-Tests
  • Testen im Umfeld einer cloudbasierten Architektur
  • Spezifische Herausforderungen von Tests im Bereich des Machine Learnings, einschließlich Ende zu Ende Tests von Trainingspipelines und der deployten Services im laufenden Betrieb
  • Automatisierte Testintegration in eine CI/CT/CD Pipeline

Unsere Teststrategie basiert auf der mehr als 4-jährigen Erfahrung mit dem idealo Katalogisierungssystem. Die vorgestellten Beispiele orientieren sich entlang unseres Tech-Stacks, bestehend u.a. aus: Python, PyTest, PactFlow, AWS CDK, AWS Sagemaker und Github Actions.