Testautomation für vernetzte Fahrzeuge: Wie man automatisierte Tests für Adaptive AUTOSAR durchführt

26.1.2021 / von Joona Sinisalo

Die Herausforderung

Wir starteten die Zusammenarbeit mit TietoEVRY bezüglich der Testautomatisierung für AUTOSAR. Sie hatten einen Proof of Concept des Execution Managements implementiert, bei dem es sich um einen funktionalen Cluster in der Adaptiven AUTOSAR-Plattform handelt. Das Execution Management kümmert sich um den Start, die Überwachung und das Herunterfahren der Adaptiven Anwendungen. Die Herausforderung: Kann Qentinel Pace verwendet werden, um das Testen der Execution Manager-Funktionalität zu automatisieren?

Adaptive_autosarAdaptive AUTOSAR verwendet C++ zur Implementierung von Services und APIs. Qentinel Pace wird (hauptsächlich) verwendet, um Tests auf UI-Ebene webbasierter Systeme zu automatisieren.

Der Ansatz

Unser erster Schritt war die Definition einer gemeinsamen Entwicklungsumgebung. TietoEVRY verwendete Linux für die adaptive AUTOSAR-Entwicklung. In Qentinel Pace laufen die Testrobots auf Linux-Images. Wir mussten nun entscheiden, welche Linux-Version wir verwenden wollten, und die erforderlichen Zusammenhänge auflisten. Um die Einrichtung der Entwicklungsumgebung zu erleichtern, wurden “Vagrant Files” erstellt, und ein benutzerdefiniertes Image mit allen erforderlichen Zusammenhängen wurde Qentinel Pace für dieses Projekt hinzugefügt.

Es musste auch entschieden werden, welches Setup wir in Qentinel Pace verwenden wollen: eine vollständige Cloud-Lösung oder eine Art Hybrid. Vollständige Cloud bedeutet, dass das SuT (System under Test) und die Tests in der Cloud ausgeführt werden können. Hybrid heißt, dass sich das SUT auf einer physischen oder virtuellen Maschine befindet und nur die Testausführung von der Cloud aus gesteuert wird. Da wir keine echten Blocker identifizieren konnten, entschieden wir uns für eine vollständige Cloud-Konfiguration.

Jetzt kommt der knifflige Teil. Wie können wir den Execution Manager (der in C++ geschrieben ist) aus Robot-Framework-Skripten mit den Automatisierungsbibliotheken von Qentinel testen? Mit den vorhandenen Bibliotheken war das nicht möglich. Es mussten Wrapper zwischen C++- und Python-APIs implementiert werden. Außerdem wurden neue Robot Framework Keywords für Testskripte benötigt. Auch dies war eine Herausforderung für die Testarchitektur, wobei unser Schwerpunkt auf Testbarkeit und Wiederverwendbarkeit lag. In enger Zusammenarbeit implementierte TietoEVRY die Wrapper und Keywords unter Berücksichtigung von unseren Erfahrungen mit guter Testbarkeit und gutem Keyword-Design.

Die Lösung

Da wir uns in diesem Projekt mit C++-Code beschäftigten, implementierten wir einen Mechanismus zum Holen, Kompilieren und Installieren aller erforderlichen Komponenten vor einem Testlauf. TietoEVRY verwendete eine webbasierte Auto-Instrumententafel zur Visualisierung der Funktionalität, und die Qentinel-Bibliotheken wurden zur Automatisierung der browserbezogenen Aktionen eingesetzt. Als Endergebnis waren wir in der Lage, automatisierte Tests für den Adaptive AUTOSAR Execution Manager erfolgreich in Qentinel Pace durchführen.

 

Contact us

 

Themen: Test Automation, Quality Assurance

Joona Sinisalo

Geschrieben von Joona Sinisalo