Projektbeispiel pytest-basiertes Test-Framework
Softwareentwicklung | Softwareengineering
Projektbeispiel pytest-basiertes Test-Framework
Kundenprojekt: Entwicklung eines pytest-basierten Integrations-Test-Frameworks für die SCPI-Schnittstelle von Messinstrumenten
Die KADE GmbH unterstützt als Entwicklungspartner ein führendes Technologieunternehmen im Bereich industrieller Mobilfunk/ Hochfrequenz-testsysteme.
SCPI steht für Standard Commands for Programmable Instruments und beschreibt eine Schnittstelle, um moderne, programmierbare Messinstrumente skript-gesteuert zu programmieren und Messungen durchzuführen.
Je nach Funktionsumfang unterstützen die Messgeräte Hunderte verschiedene Befehle mit jeweils einer Vielzahl von Parametern.
Um die korrekte Implementierung der SCPI-Befehle zu testen und eine kontinuierliche Integration neuer Befehle zu ermöglichen, sind Integrationstests erforderlich – entweder mit dem Instrument selbst oder einer Simulation davon.
Je nach zu testendem Befehl muss das Instrument dabei erst mit anderen SCPI-Befehlen entsprechend vorkonfiguriert werden, was häufig sehr zeitaufwendig ist.
Ein eigens von uns dafür entwickeltes Test-Framework auf der Basis von pytest, ermöglicht den Entwicklern Tests schnell und einfach – teils automatisiert – zu definieren und dabei möglichst viel bestehenden Code und Vorkonfigurationen wiederzuverwenden.
Anforderungen:
- Klassen und Funktionen für wiederkehrende Aufgaben, wie die Verbindung zum Instrument und Erzeugen der Vorkonfigurationen.
- Einfache Parametrisierung von Tests für Befehle mit verschiedenen Parametern.
- Zusammenfassung von Tests mit der gleichen Vorkonfiguration, um das Instrument nur einmal derart einzurichten und dann Zeit bei der Ausführung zu sparen.
- Integration in die Entwicklungsumgebung.
- Grafische Aufbereitung der Testergebnisse.
- Automatisierung zur Verwendung bei CI/CD.
Verwendete Tools:
- Pytest
- VS Code
- Allure