#Embedded Testing
#Embedded Systems Testing
#Schneller und besser an den Markt.

Embedded Testing: Besonderheiten Rechnung tragen

 

 

Embedded Testing ist in vielerlei Hinsicht identisch mit dem Prozess des “gewöhnlichen” Software Testing. Im Gegensatz zum App Testing stellen Embedded Systems - “Eingebettete Systeme” - jedoch besondere Anforderungen an die Entwicklung und somit auch an das Testen. Softwareentwickler - und Tester - müssen sich sehr stark mit der Hardware selbst auseinandersetzen, denn diese stellt ihre spezifische Eingabe- und Ausgabeform von Daten bereit. Die Funktionen der Hardware sind in der Regel bei jedem System einzigartig. Auf Grund dieser Einzigartigkeit kann es nur in seltenen Fällen ein Embedded Testing “von der Stange” geben. Eher im Gegenteil: Embedded Testing nutzt jeweils spezielle Hardware-basierte Test Tools und die Besonderheiten der Hardware spiegeln sich im Testplan wieder.

 

 

Warum testen wir “Eingebettete Systeme”?

Bevor man mit dem Embedded Testing beginnt, muss klar sein, warum überhaupt getestet werden soll: Dieses Verständnis hat maßgeblichen Einfluss auf den Ablauf der Tests. Es hat Einfluss darauf, welche Bereiche besonders getestet werden sollen und zu welchem Zeitpunkt der Entwicklung mit den Tests begonnen werden soll.

Generell testet beQualified aus folgenden Gründen:

  • um Bugs in der Software zu finden
  • um Risiken zu vermeiden - sowohl für die potentiellen Nutzer als auch für die Softwareentwickler selbst
  • um Entwicklungs- und Betriebskosten zu reduzieren
  • um die Leistung von Software und Hardware erhöhen

 

 

Testing und Kostenersparnis: Der Fall Hewlett-Packard

Im Jahr 1990 sammelte der Software Konzern Hewlett-Packard alle Ausgaben, die durch Fehler in der von ihnen entwickelten Software entstanden waren. Sie kamen auf die erstaunliche Summe von 400 Millionen Dollar! Die Hälfte dieser Millionen war in die Neubearbeitung fehlerhafter Software während der Entwicklung geflossen; die andere Hälfte in die Fehlerbehebung der Software, die bereits auf den Markt gelangt war. Als HP erkannte, dass ein Drittel der Gesamtausgaben für Forschung und Entwicklung allein für die Bearbeitung von Fehlern ausgegeben worden war, dachte der Konzern grundlegend um.

Die wichtigste Erkenntnis aus dieser Fehler-Kosten-Erfassung war jedoch folgende: Je früher ein Fehler während der Entwicklung erkannt wird, umso weniger Kosten verursacht seine Behebung. Ein starkes Argument für Software Testing und erst recht für Embedded Testing!

 

 

Erster “Bug” der Geschichte: Fehler in einem “Eingebetteten System”

Einer der berühmtesten Fehler der Computergeschichte betraf ein eingebettetes System der Navy im Jahr 1946. Ein primitiver Computer sollte die Flugbahn von Artillerie-Geschossen berechnen - und versagte, weil eine Motte in das Gerät geflogen war und dort ein mechanisches Relay blockierte. Seitdem heißen die Fehler, die Computern unterlaufen, “bugs”: Käfer.

Wie können wir ausschließen, dass Ihr eingebettetes System für Fehler anfällig ist? Oder anders gefragt: Wann können wir guten Gewissens unser Embedded Testing beenden und eine Software für marktfähig erklären?

 

 

Unsere Testmethoden - Testabdeckung

Funktionale Tests

Unsere Funktionalen Tests untersuchen die Funktionsfähigkeit eines Systems, ohne den Code, der die Funktionen programmiert, zu untersuchen. Eingebettete Systeme verfügen über Eingang und Ausgang und verschiedene Algorithmen, die dazwischen wirksam werden. Funktionale Tests beruhen auf dem Wissen darüber, welche Daten im Eingang zu erwarten sind und wie diese auf den Ausgang Einfluss nehmen sollten. Um dies eingehend zu proben, unternehmen wir beispielsweise:

  • Stresstests

Wir überlasten absichtlich den Eingangskanal, die Speichersysteme, Kontrolleinheiten und andere Bereiche

  • Tests von Grenzwerten
  • Ausnahmetests

Wir testen absichtlich Werte, die zu Fehlern oder Ausnahmefällen führen sollten.

Um eine hohe Testabdeckung zu erreichen, testen wir selbstverständlich auch den Code Ihres eingebetteten Systems. Wir kombinieren Modultests, Leistungstests und führen Regressionstests durch. Wir machen uns mit den APIs Ihres Systems vertraut, mit internen Kontrollstrukturen und der Fähigkeit des Systems Ausnahmen zu bewältigen.

Sie möchten Ihre mobilen Anwendungen testen? Dann informieren Sie sich hier über unser Mobile Testing und unsere Möglichkeiten der Testautomatisierung.

Haben Sie Fragen? Dann nehmen Sie einfach Kontakt zu uns auf: Wir beraten Sie gern!

 

 

 

#Embedded Testing
#Embedded Systems
#Test at its best