Testen von Embedded- und IT-Systemen – Unterschiede vergleichen ist wichtig!
Als Experte für das Thema Testing kennt man die unterschiedlichsten Meinungen der Kollegen und wundert sich oftmals über deren unterschiedliche Betrachtungsweise. Beim Thema Performance-Test beispielsweise sind für den einen die Testdaten ausschlaggebend, während für den anderen viel häufiger die Fähigkeiten der Testumgebungen entscheidend sind.
Vergleicht und analysiert man mal die Meinungen der Kollegen erkennt man oft, dass von unterschiedlichen Dingen ausgegangen wird. Der eine diskutiert über IT-Software, der andere spricht von Embedded Systemen.
Dieses Phänomen hat mich motiviert, das Thema genauer zu betrachten. Wo genau liegt denn eigentlich der Unterschied?
Bei Tests von IT-Systemen sind vor allem Qualität und Umfang der Testdaten wichtig. Der Performance Test beispielsweise ist dort meist ein Last-Test zur Überprüfung, wie das System mit großen, möglichst realistischen Datenmengen umgeht. Dies, sowie die Erzeugung der Datenmengen, entscheidet in diesem Fall häufig über die Qualität des entsprechenden Tests. Denn der Test ist oft nur so gut wie die verwendeten Daten.
Für die überwiegende Mehrzahl von Embedded Systemen spielt jedoch der Umgang mit Datenmengen keine Rolle. Zwar wird auch beim Testen von Embedded Systemen versucht das System mithilfe Performance Tests unter Stress zu setzen, allerdings wird dabei meistens nach dem „Worst-Case“ gesucht. Weniger Masse und Qualität der Testdaten, sondern vielmehr das Zusammenspiel zwischen Mikroprozessor und Software sind hierbei von Bedeutung. Dementsprechend ist die reine Identifizierung des „Worst-Case“ bereits eine sehr komplexe Aufgabe. Die nächste Herausforderung stellt dann sogleich eine korrekte Messung des zeitlichen Verhaltens, da eine entsprechende (automatisierbare) Messung hohe Anforderungen an die Qualität des Testsystems stellt.
Durch dieses erste Beispiel wird deutlich, wie unterschiedlich dieses in erster Näherung gleiche Testthema bei Embedded- und IT-Systemen sein kann. Das folgende Schaubild stellt weitere wichtige Unterschiede dar, die ich noch näher erläutern werde. Diese Punkte sollten unbedingt beachtet werden, da sie sich massiv auf einen Test auswirken.

Setzen wir uns nun also mit den in nahezu jedem Projekt unterschiedlichen Hardware Schnittstellen auseinander. Während diese beim Test eines Embedded Systems einer umfangreichen Prüfung bedürfen, spielen sie bei IT-Systemen – wenn überhaupt – nur beim Last- und Performance-Test eine (untergeordnete) Rolle. Bei Embedded Systemen erfordert das Erkennen zufälliger HW-Fehler, sowie der Nachweis über die Korrektheit dieser Implementierung somit sehr spezialisierte Tests und entsprechende Umgebungen. Das Testen von Mensch-Maschine-Schnittstellen wiederum ist im IT-Umfeld viel häufiger Thema, denn die Automatisierung solcher Tests bedingt ganz andere Voraussetzungen und Vorgehensweisen als die von Systemen, die „nur“ Analog- und Digitalsignale als Schnittstelle besitzen. Zuletzt ist bei Embedded Systemen das Testen von Security Aspekten neu, während es für IT-Systeme schon länger Routine ist.
Als Fazit lässt sich sagen, dass der Unterschied beim Testen von Embedded- und IT-Systemen immens ist. Andererseits können beide Bereiche von den unterschiedlichen Erfahrungen auch sehr profitieren und der Austausch darüber lohnt sich in jedem Fall. Auch wenn es, wie im Anfangs erwähnten Fall zu Missverständnissen kommen kann, sollte dieser Austausch so oft wie möglich stattfinden.
#itsysteme #embeddedsysteme #testmanagement #testing #embeddedtesting #projekttesting #hardwaretest