Einige komplexe Messanwendungen fordern garantierte Zuverlässigkeit. Beispiele sind:
Bei solchen Anwendungen verarbeitet Software die Messergebnisse im Sensor. Die Messgenauigkeit der Hardware ist innerhalb der Betriebsparameter auf dem Datenblatt dokumentiert.
Zur Quantifizierung des Fehlerspielraums der Sensorsoftware wird das Problem in seine Teilbereiche aufgeschlüsselt.
Gängige Digitalsensoren beinhalten die Hauptkomponenten (Bild 4):
Die unterschiedlichen Softwarekomponenten besitzen verschiedene Anforderungen:
In dieser Codebasis können potenziell unterschiedliche Fehler auftreten: Die Testroutinen müssen jeden Fehlertyp abdecken (Bild 5).
Eine Möglichkeit:
Das Sensorsoftware-Testprogramm bei ams spiegelt eben diese Kategorien: Der Code ist zu Testzwecken modular konzipiert, zudem erfordern diese Abschnitte nur wenige Schnittstellen zu anderen Code-Teilen. Sie sind soweit wie möglich unabhängig vom Referenzcode gestaltet.
Einen Algorithmus-Code zu testen, ist wenig kompliziert, Ein- und Ausgabewerte sind für den Tester vorhersagbar. Da der Datenursprung im Code nicht releviert ist dieser Test hardwareunabhängig.
Zum Test eines Treibercodes (zum Beispiel zur Verifikation der Registerzugriffe), ist dagegen eine Hardwaresimulation erforderlich.
Bugs wie Kapazitätsüberschreitungen, Zugriffsereignisse außerhalb von Puffern und falsche Abbruchbedingungen für Schleifen werden mit Code-Testabschnitten effizient identifiziert. Allerdings reichen diese Tests nicht zur Verifikation der Funktionalität des kompletten Sensorsystems.