Embedded Test Bench
Die ETB, unsere Eigenentwicklung, ist ein vielseitiges Testsystem, das das Erstellen, Ausführen, Verifizieren und Dokumentieren von Testspezifikationen und Prüfabläufen sowie deren Ergebnisse ermöglicht. Ursprünglich für den hardwarenahen Einsatz konzipiert, zeichnet sie sich durch ihre hohe Flexibilität und Erweiterbarkeit aus, sodass sie auch problemlos in reinen Softwareprojekten eingesetzt werden kann. Mit der ETB bieten wir unseren Kunden eine leistungsstarke Lösung, um Testprozesse effizient und effektiv zu gestalten, unabhängig davon, ob sie im Bereich der Hardware- oder Softwareentwicklung tätig sind.
Key Features
- Erstellen, Ausführen, Auswerten von Test-/ Prüfspezifikationen
- Automatischer Berichtsexport
- Einfache Erweiterbarkeit dank Plugin-System
- Zuordenbare Requirements zu Testschritten/-fällen
- Headless-Betrieb ermöglicht Integration in CI
- Verwendbar als Prüfsystem
Motivation
Die ursprüngliche Idee zur Entwicklung der ETB entstand während eines Kundenprojekts, in dem ein analoges SPS-Modul mit mehr als 1000 Konfigurationsmöglichkeiten entwickelt wurde. Das Modul konnte auf 4 Kanälen Strom, Spannung und Widerstand in beliebigen Kombinationen und Modi messen. Um die vielfältigen Konfigurationen und Messungen auf allen Kanälen effektiv zu testen, war ein komplexer Testaufbau erforderlich. Es waren 4 Geräte notwendig, um das Modul zu konfigurieren, die Signale zu simulieren und mit den entsprechenden Eingängen des Moduls zu verbinden. Anschließend mussten die Messergebnisse mit den Vorgaben abgeglichen und auf das Einhalten von Toleranzen geprüft werden.
Diese beispielhafte Situation, sowie die Tatsache, dass wir als MATHEMA Engineering mit einer Vielzahl von Kunden zusammenarbeiten, die jeweils individuelle Anforderungen haben, führte zur Entwicklung der ETB. Wir erkannten die Notwendigkeit eines Systems, das sich schnell und flexibel an die unterschiedlichen Anforderungen unserer Kunden und ihrer Projekte anpassen ließ. Hinzu kamen Anforderungen aus der Entwicklung kundenspezifischer Fertigungsprüfsysteme, welche wir ebenfalls in die Entwicklung einfließen haben lassen. Aus diesem Grund haben wir die ETB entwickelt, um eine maßgeschneiderte Testlösung zu bieten, die auf die spezifischen Bedürfnisse unserer Kunden zugeschnitten werden kann.
Ursprünglich war die ETB nur intern im Einsatz. Hier wurde sie mehr als Framework eingesetzt, und nicht als konfigurierbares Werkzeug. Die nun zur Verfügung gestellte Variante stellt eine überarbeitete Variante der ursprünglichen Testbench dar.
Funktionen
Testprojekte erstellen
Erstellen Sie ihre eigenen Testprojekte. Jedes Testprojekt ist hierarchisch wie folgt aufgebaut und kann beliebig viele Kind-Elemente besitzen: Testspezifikation > Testfall > Testschritt
Mithilfe dieser Hierarchie ist es möglich, innerhalb eines Testprojekts verschiedene Testspezifikationen zu einem Produkt anzulegen.
Die ETB unterstützt von Haus aus viele verschiedene Testschritte:
- Automatisierte Testschritte
- Ausführen von externen Anwendungen
- Aktives Warten (für Zeit x)
- Messen und Simulieren von Signalen mithilfe des Digistants
- Schalten und Rücklesen der Kanälen des Multiplexermoduls des Keysight Data Logger 34970A
- Ausführen von Python Skripten (aktuell bis Python Version 3.12)
- (Halb)-Manuelle Testschritte
- Interaktionsschritte mit Buttons, Radio-Buttons, Checkboxen
- Anzeige eines Dateiinhalts
- Dateneingabemasken
- Aktives Warten (Benutzer beendet das Warten)
Sowohl Testspezifikationen als auch Testfälle unterstützen das mehrfache Ausführen. Dazu muss lediglich in der Bearbeitung der Haken bei "Test wiederholen" gesetzt werden und dann der passende Wiederholmodus ausgewählt werden.
Testprojekte ausführen
Das Ausführen der gewählten Schritte erfolgt mithilfe des Testrunners (mit GUI) oder der CLI Anwendung (ohne UI - z.B. für CI interessant). Der Testrunner zeigt dabei farblich codiert während der Ausführung an, was gerade ausgeführt wird. Die Tabellenansicht zeigt die Testschritte zur gewählten Iteration des gewählten Testfalls zur gewählten Iteration der gewählten Testspezifikation an (oder kurz, es werden die Testschritte zum gewählten Testfall zur gewählten Testspezifikation angezeigt). Die Tabellenansicht informiert auch über den aktuellen Fortschritt und zeigt (Zwischen)-Ergebnisse der Testschritte an.
Viele Testschritte, die eine Interaktion mit dem Anwender erfordern, wie z.B. die Button-Testschritte, öffnen einen Dialog. In diesem Dialog werden dann die Testschritt releanten Informationen und Reaktionsmöglichkeiten des Anwenders angezeigt. So kann dieser die passende(n) Reaktionen auswählen.
Berichtserstellung
Das Exportieren der Testprojekte (Spezifikationen) oder Testpläne (Testergebnisse) ermöglicht das Erstellen der Berichte. Aktuell werden die Exportformate Xml und Pdf unterstützt. Für den Export nach pdf wird ein Template benötigt. Es wird ein einfaches Template mit der ETB für das Testprojekt und eins für den Testplan mitgeliefert. Eigene Templates können mit dem mitgelieferten Berichtsdesigner erstellt werden.
Requirements Liste
Eine weitere nützliche Funktion ist die Requirements oder Key Liste. Diese Liste kann z.B. Anforderungen (auch normative) an einen Prüfling enthalten. Die Requirements oder Keys, die in dieser Liste angelegt (oder aus einer CSV-Datei importiert werden), können dann in den Testfällen und Testschritten verwendet werden. Dies ermöglicht eine gute Nachvollziehbarkeit, welcher Testfall oder -schritt, welches Requirement behandelt.
Hardware
Neben dem Test-Explorer gibt es noch den Hardware-Explorer. Hier können Hardware-Instanzen aus den vorhandenen Typen erstellt werden. Aktuell werden hier der Digistant und der Keysight Datalogger / Multiplexer angeboten. Der Vorteil dieser Hardwareobjekte ist, dass man hier direkt einmal das Objekt so konfiguriert, wie das jeweilige Gerät am PC angeschlossen ist. In den Testschritten, die ein Hardwareobjekt benötigen (aktuell die Digistant und Multiplexer Schritte), kann dann das jeweils zu verwendende Objekt ausgewählt werden.
Plugins
Wie bereits erwähnt, besitzt die ETB ein Plugin System. Dies ermöglicht Anwendern eigene Erweiterungen für die ETB zu entwickeln. Die Anwendung ist in C# und die grafischen Elemente sind mit WPF entwickelt. Das ist auch für die Plugins so notwendig. Um den Einstieg in die Entwicklung eigener Plugins etwas zu erleichtern befindet sich im zip ein Ordner "ETB\SamplePlugin". Dieser Ordner enthält ein Beispielplugin, welches als Grundlage für die Entwicklung eigener Plugins dient. In eigenen Plugins kann man sowohl eigene Hardwaretypen, als auch Testschritte implementieren.
Aktuell sind bereits folgende Plugins verfügbar:
- Python
- Digistant 4420 - Messen und Simulieren von Signalen
- Keysight 34970A Data Logger als Multiplexer (Der Datalogger ist abgekündigt - eine Aktualisierung des Plugins auf ein aktuelleres Gerät ist jederzeit möglich)
Anwendungsbeispiele für die ETB
- Entwicklungsbegleitend als Testsuite in der CI
- Regressionstests
- Systemtests
- HIL-Tests
- Prüfsystem in der Fertigung
- Testsoftware für EMV-Tests
Abgrenzung
Die ETB ist als Werkzeug zur Testdurchführung und Dokumentation im hardwarenahen Umfeld konzipiert.
Es handelt sich hierbei nicht um ein Testframework wie z.B. Google Test, PyTest, usw., welche u.a. im Bereich des Unit-Testens eingesetzt werden. Es ist jedoch möglich diese Testframeworks in die ETB einzubinden.
Installation
Besuchen Sie unseren Downloadbereich für die neueste Version der ETB.
Ausblick
Nachfolgend ein kleiner Ausblick über aktuell geplante Erweiterungen in den nächsten Versionen der ETB.
Setup
Aktuell wird die ETB als ZIP-Download zur Verfügung gestellt.
In Zukunft werden ein Installer und ein zugehöriges Chocolatey-Package zur Verfügung gestellt.
Format und Speicherort der Testprojekte und Testdaten
Die Testprojekte und Testdaten werden aktuell in einer vordefinierten Ordnerstruktur auf der Festplatte gepeichert.
Es ist jedoch auch eine Anbindung an Datenbanken und andere Systeme geplant.
Hierfür wird das Speichern als eine Pluginfunktion angeboten. Dadurch ist es möglich beliebige Anbindungen an andere Systeme individuell zu erstellen.
Exportformate der Testberichte
Testberichte können aktuell als PDF und XML exportiert werden.
Weitere Formate wie Word, Excel, HTML, usw. sind für spätere Versionen geplant.
Datenübergabe zwischen den Testschritten
Es ist für spätere Versionen geplant, die Daten und Ergebnisse eines Testschritts an nachfolgende Testschritte weiterzugeben.
In diesem Zuge wird auch eine Möglichkeit geboten, abhängig vom Testergebnis mit unterschiedlichen Testschritten fortzufahren.
Usability
Im Zuge der Weiterentwicklung der ETB wird auch die Usability stetig verbessert.
Dazu gehören auch Themen wie Mehrsprachigkeit oder die eingebundenen Hilfe.
In der aktuellen Entwicklungsphase liegt der Fokus auf dem Funktionsumfang. Die Usability wird anschließend wo notwendig noch entsprechend verbessert.
Und vieles mehr...
Wünsche / Anregungen / Probleme
Haben Sie Wünsche oder Anregungen, oder haben Sie einen Fehler gefunden, so wenden Sie sich bitte direkt an
Über diese Email erreichen Sie uns auch bei allgemeinen Fragen zur ETB.