Softwaretest

Vorgehen und Werkzeuge für den Softwaretest im Bereich von Embedded Systemen haben in der Regel stark abweichende Anforderungen im Vergleich zum Test von so genannter Anwendungssoftware.

Was sind die wesentlichen Unterschiede?
Einer der größten ist sicherlich, dass die zu testende Software nicht auf derselben Hardware läuft, auf der auch die Entwicklung stattfindet. Wir unterscheiden in diesem Sinn zwischen der Hostplatform, auf der die eigentliche Entwicklung der Software stattfindet und der Target Platform, auf der die entwickelte Software letztendlich läuft.

Diese hat im Allgemeinen eingeschränkte Ressourcen an Speicher und Rechenleistung. In der Regel wird z.B. für automatisch ablaufende Tests, die Software des so genannten SUT (System Under Test) instrumentiert. Dieses führt zu zusätzlichem Speicherbedarf für den instrumentierten Code, der auf dem Target System nicht vorhanden ist. Natürlich beeinflusst die Instrumentierung auch das Zeitverhalten, was wiederum dazu führen kann, dass bei laufzeitorientierten Systemen ein großer Teil der Aussagekraft der Testergebnisse verloren geht.  

Letztendlich würde auch ein Test auf Basis des instrumentiertem Code im Rahmen von sicherheitsrelevanten Systemen einer Zertifizierung nicht standhalten.

Es gibt noch einen weiteren Unterschied: Interfaces, die auf der Target Platform verfügbar sind, fehlen auf der Host Platform. Würde der Test z.B. in Form einer Simulation auf der Host Platform ausgeführt werden, müssten alle Interfaces durch Stubs ersetzt werden, was in manchen Fällen sehr aufwändig sein kann.

Aus diesen und anderen Gründen müssen aussagekräftige Tests von Embedded Software auf der Target Platform stattfinden und das Umfeld (die so genannte Strecke) mit abbilden, wie es beispielsweise in HIL (Hardware In The Loop)-Testsumgebungen geschieht. Dieses stellt an das Testequipment besondere Herausforderungen, weshalb spezielle Methoden und Werkzeuge angewendet werden.

Hier finden Sie Informationen zu folgenden Themen:
Test Management
Dynamisches Testen
Statisches Testen

The SAE Avionics Architecture Description Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering

Architecture Description Languages provide significant opportunity for the incorporation of formal methods and engineering models into the analysis of software and system architectures. A standard is being developed for embedded real-time safety critical systems which will support the use of various formal approaches to analyze the impact of the composition of systems from hardware and software and which will allow the generation of system glue code with the performance qualities predicted. The standard, the Avionics Architecture Description Language (AADL), is based on the MetaH language developed under DARPA and US Army funding and on the model driven architectural based approach demonstrated with this technology over the last 12 years. The AADL standard will include a UML profile useful for avionics, space, automotive, robotics and other real-time concurrent processing domains including safety critical applications.

Ansehen

Bereitgestellt von:

Software Engineering Institute

zurück


Newsletter abonnieren



Empfehlung an diese E-Mail-Adresse senden:


 

 

 

Ihre eigenen Angaben:

 

 

 

 

Diese Seite empfehlen Sie weiter: