Test, V&V

Es ist von großer Bedeutung den Bereich Testing in seiner Gesamtheit bereits früh in den Entwicklungsprozess von Systemen oder Produkten einzubeziehen. Noch allzu häufig werden Aufwand und Bedeutung von Softwaretests, Modultests, Hardwaretests, Systemverifizierungen oder auch Funktionstests unterschätzt.

Zwar ist bekannt, dass Hersteller von sicherheitskritischen Systemen sowohl eingebettete Software als auch deren Anwendungen regelmäßig testen müssen, um sicher zu stellen, dass diese die geforderten Normen und Standards einhalten. Und dass, sollte dies nicht der Fall sein, dies ein großes Risiko der Entwicklungsverzögerung oder auch Fehlfunktion darstellt. Denn regulatorisch vorgegebene Fristen könnten verpasst werden oder Software mit kritischen Fehlern könnte verwenden werden. Die möglichen Konsequenzen sind weitreichend und führen von Vertragsstrafen über frustrierte Anwender bis hin zu Image-Schäden für das Unternehmen.

Testphasen sollten bereits bei der Bestimmung der Anforderungen berücksichtigt werden

Eine Einbindung der verschiedenen Testingbereiche ist also bereits in der Phase der Anforderungsdefinition sinnvoll. Hierdurch kann sichergestellt werden, dass die Anforderungen testbar sind, dass die Funktionen vollständig spezifiziert sind und normative Anforderungen berücksichtig werden. Außerdem stellt man so sicher, dass auch bei Änderungen am Produkt oder System, die damit verbundenen Anpassungen umgesetzt werden können und Anforderungsdokumente rechtzeitig umgeschrieben werden können. Alle Tests sollten auf einem ausgereiften und allgemein gültigen Testkonzept basieren, das agil, kurz und simpel ist und an den wichtigsten Standards angelehnt wurde. Hinzu kommt dann ein projektspezifisch ergänzter Testplan.

TDD als Alternative zur klassischen Struktur für Embedded Systeme

Auch die immer häufiger verwendete Methode des TDD (Test Driven Development) kann im Entwicklungsprozess komplexer System angewendet werden. Hierbei testet man Anwendungen bevor man diese fertig codiert. Als Tester und Entwickler hat man mit Test-Driven Development den Vorteil, potenzielle Fehler im Projektzyklus schneller zu erkennen und kann diese dann noch im Prozess bearbeiten. Wer die Methode des „zuerst Testens, dann codieren“ anwendet, vermeidet, sich erneut in bereits abgeschlossene Codierungsvorgänge hineindenken zu müssen und verkürzt somit die manchmal sehr langen Phasen zwischen Fehlererkennung und Fehlerbehebung. Beim „Test Driven Development“ (TDD) setzt man auf automatisierte, dynamische Analyse-Testwerkzeuge. TDD ist dafür bekannt zahlreiche Probleme von Anfang an zu lösen, denn sie zwingt den Entwickler, von Vorneherein über die dem Testen zu Grunde liegenden Anforderungen nachzudenken.(Quelle: entwicklung-komplexer-systeme.de)

Requirements Engineering als Basis eines jeden Prozesses

Die verschiedenen Entwicklungsstrukturen haben eines gemeinsam: Grundvoraussetzung für deren Erfolg ist ein funktionierendes Requirements Engineering, denn es ist ein grundlegender Baustein eines jeden Entwicklungsprozesses. Im Entwicklungsprozess sowie beim Testen von Plattformen und Systemen im Embedded Umfeld stellt ein sorgfältiges RE sicher, dass jede Anforderung einmalig ist, sich nicht mit anderen Anforderungen überschneidet (Normalisierung) oder im Widerspruch zueinander steht (Konsistenz).

Übersicht der Prozesse, die von uns im Leistungsbaustein Test, V&V angeboten werden:

Haben Sie weitere Fragen zu diesem Thema? Sprechen Sie unseren Experten an!

X