Beispiel: Das Testprojekt The Dash
In den letzten 12 Jahren hatte ich zahlreiche Projekte mit TestStand realisiert. Eins davon möchte ich hier gerne vorstellen, Teststation für The Dash der Firma Bragi aus dem Jahr 2016: Die Entwicklung eines 12-fach Test- und Programmieradapters (innerhalb meiner Tätigkeit für die Fa. Toptest GmbH) inklusive Testsoftware für The Dash, einem drahtlosen, intelligenten Ohrhörer mit Kommunikations- und Sensortechnik.
Bei der ersten Version des Testadapters war nur ein rein sequentielles Testen aufgrund von Abhängigkeiten der Tests untereinander möglich. Bei der Version 3.0 wurden die jetzt autonomen Tests in eine parallel ablaufende TestStand-Sequenz gebracht. Zudem wurden einzelne Sockets priorisiert, um die Hardwareresourcen optimal auszunutzen. Dieses ergab im Vergleich zur Ausgangssituation einen Zeitvorteil von 80%.
Die Aufgabe
The Dash war der weltweit erste, drahtlose und intelligente Ohrhörer mit Kommunikations- und Sensortechnik. Er wurde von der Münchner Firma Bragi ab 2012 entwickelt und kam Anfang 2016 auf den Markt. Die gesamte Technik samt Akku befindet sich in einem Gehäuse, dass kaum größer als ein Ohrhörer ist. Sein fester Halt im Ohr wird durch eine spezielle Konstruktion und eine größenanpassbare Bauform erreicht. Die miniaturisierten Leiterplatten werden als 12er-Panel gefertigt und deren Prozessoren OnBoard programmiert. Anschließend werden wesentliche Basisfunktionen über verschiedene Schnittstellen getestet.
Die Lösung
Die Version 2.0 war eine Modifizierung der TestStand-Testsequenz, in der das sequentielle in ein teilweise paralleles Testen überführt wurde. Mit dieser Maßnahme konnte die Testzeit bereits um 50% reduziert werden. Die TestStand-Testsequenz verarbeitet auch produktspezifischen Daten wie Binärfiles und Seriennummern, die von einem Server abgerufen werden können. Abgleichdaten vom adapterinternen Bluetoothsender/Empfänger werden in den Datenspeicher des Prüflings kopiert. Während der Programmierung bzw. Prüfung werden keine Mess- oder Statuswerte angezeigt. Am Ende der Testdurchlaufs erfolgt eine optische Signalisierung über den Teststatus mit Angabe des Fehlercodes. Die ResultDaten werdem zudem auf einem Server zur Effizienzanalyse transferiert.
Die Optimierung
Zur Optimierung der Testzeit wurden in der Testadapter-Version 3.0 multiple Programmiergeräte und Schnittstellen verbaut, die ein paralleles Testen ermöglichen. TestStand lieferte hierfür die ideale Plattform zur Testzeitreduzierung. Hierfür wurde das adapterinterne Relayboard komplett neu aufgebaut um weitere Hardware zu integrieren.
In V3.0 verwendete Schnittstellen und Spannungsversorgungen:
- 6x SPI-Schnittstelle
- 6x SPI-Schnittstelle
- 3x JTAG-Programmer
- 3x USB-Schnittstellen
- 3x serielle Schnittstellen
- 6x 5V-Spannungsquellen
- 3x 3.9V-Spannungquellen
- 2x variable Spannungsquellen
- 1x Bluetooth Sender/Empfänger
Der Weg von sequentiellen zu parallelen Testabläufen war dank TestStand relativ einfach zu realisieren. Allerdings fehlte eine Prioritätsmethode für den Zugriff auf die verwendete Hardware, die es ermöglicht bestimmte Nutzen bei der Abarbeitung der Testschritte vorzuziehen. Dieses wurde erforderlich, da einer der Tests relativ viel Zeit in Anspruch nahm und die verfügbaren Hardwareresourcen optimal genutzt werden sollten. Die Test- und Programmierzeit konnte von der Version 1.0 zur Version 3.0 um 80% reduziert werden.
Die angewendete Methode bestand darin, dass die einzelnen Testaufrufe in der Main-Sequenz gedoppelt wurden. Als Precondition wurden dem ersten Testaufruf die priorisierten Sockets zugeordnet, beim zweiten die mit minderer Priorität. Somit wartete das Modell stets beim ersten Aufruf und erreichte den zweiten Aufruf erst nach Aktivierung des Sockets für den entsprechend gelockten Test. Hierdurch konnte auf relativ einfache Weise der Zugriff auf die einzelnen Sockets weitestgehend gesteuert werden und der Testablauf weiter optimiert werden.