Herausforderung
Der Hersteller wollte die Qualität der Software seiner Mähroboter verbessern und deren Positionsbestimmung, die ohne GPS auskommt, zuverlässig überprüfen. Dafür sollte das automatisierte Testen der Roboter modernisiert werden.
Lösung
Novotec baute die Testumgebung aus: automatisierte Tests bei jeder Änderung am Hauptzweig mit einem simulierten Mäher, Prüfstände für Grundfunktionen wie Ein- und Ausschalten, ein Referenzsystem mit hochgenauer Satellitenortung und einen Testaufbau für Innenräume. Entwickelt wurde mit Python und C.
Ergebnis
Jede Änderung an der Software wird automatisch gegen einen simulierten Mäher und auf Prüfständen getestet. Die Positionsbestimmung der Roboter lässt sich gegen ein Referenzsystem messen und grafisch auswerten.
Hintergrund
Der Auftraggeber stellt Gartengeräte her und bietet seinen Kunden dazu Webdienste an, die er selbst entwickelt und betreibt. Seine Mähroboter bestimmen ihre Position ohne GPS. Ob sie das genau genug tun, lässt sich nur mit einer unabhängigen Messung prüfen.
Novotec baute dafür ein Referenzsystem mit hochgenauer Satellitenortung (RTK) auf. Die Position, die der Roboter selbst ermittelt, wird mit diesem Referenzwert verglichen. Dazu kamen Performance-Tests der Mäher, ein Testaufbau für Innenräume und Prüfstände, auf denen Grundfunktionen automatisch getestet werden.
Gearbeitet wurde agil in Sprints von drei Wochen. Neben der Entwicklung gehörten der Unterhalt der Testumgebung, die Auswertung der Ergebnisse und die Unterstützung bei Fehlerbehebung und Incident-Management dazu.
Unsere Leistungen
- Automatisiertes Testen des Hauptzweigs mit simuliertem Mäher (Jenkins, Bamboo, Prüfstände)
- Automatisierte Grundtests der Mäher auf dem Prüfstand, etwa Ein- und Ausschalten
- Aufbau eines Referenzsystems mit hochgenauer Satellitenortung (RTK)
- Performance-Tests der Mäher gegen das Referenzsystem, Testaufbau für Innenräume
- Betreuung des Positionierungssystems, GPS-Tests und Umbau von Mähern für die Tests
- Implementierung der Schnittstellen zu GPS und Gateways
- Überarbeitung des Python-Loggers: Aufzeichnung und Auswertung des Datenverkehrs getrennt
- Unterstützung bei der Migration der Mäher-Simulation von Windows auf Linux
- Grafische Auswertung der Messdaten, Reporting und Bewertung der Testergebnisse
- Unterstützung bei Bugfixing und Incident-Management, Beratung im Software Engineering
Eingesetzte Technik
Python und C auf Embedded Linux; Jenkins und Bamboo; Selenium für die Webdienste; Prüfstände, Simulation und ein RTK-Referenzsystem. Vorgehen nach Scrum.