Basiswissen Automotive Softwaretest. Ralf Bongard. Читать онлайн. Newlib. NEWLIB.NET

Автор: Ralf Bongard
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783960884934
Скачать книгу
und Systemtest mehrmals durchgeführt.

      2 Die Teststufen sind auf der rechten Seite des V-Modells angesiedelt. Dies suggeriert, dass alle Testaktivitäten erst nach der Implementierung erfolgen. Tatsächlich ist es nur die Testdurchführung, die zeitlich der Implementierung nachgelagert ist. Die Testvorbereitung kann und sollte parallel zu den Entwicklungsaktivitäten auf der linken Seite des V-Modells erfolgen.

      Eine detaillierte Gegenüberstellung der Teststufen nach CTFL (auf Basis des allgemeinen V-Modells) und der Teststufen nach Automotive SPICE [VDA 2017] sowie ISO 26262 [ISO 26262:2018] ist in Abschnitt 3.4.2 zu finden.

       Komponententest

      Der Komponententest (auch Unit Test oder Modultest genannt) konzentriert sich auf Komponenten. Streng genommen handelt es sich bei der Komponente um die kleinste testbare Einheit eines Systems. In einem Softwaresystem sind dies beispielsweise in der Programmiersprache C die einzelnen Funktionen, in der Programmiersprache Java die einzelnen Klassen. In einem Hardwaresystem sind die kleinsten testbaren Elemente die einzelnen Bauteile (z.B. Widerstände, Kondensatoren, integrierte Schaltkreise).

      In der Automobilindustrie werden häufig auch Steuergeräte (aus der Sicht des OEM) als Komponenten bezeichnet (siehe auch Komponenten-HiL in Kap. 4). Diese Bezeichnung ist allerdings irreführend, da ein Steuergerät aus Sicht des Zulieferers ein (zum Teil hochkomplexes) System ist. Ein Steuergerät besteht schließlich sowohl aus vielen Softwarekomponenten als auch aus vielen elektrischen und mechanischen Bauteilen. Daher ist der Test eines Steuergeräts streng genommen ein Systemtest.

       Integrationstest

      Der Integrationstest legt den Schwerpunkt auf die Schnittstellen zwischen den integrierten Testelementen und ihrem Zusammenwirken. Abhängig davon, was der Betrachtungsgegenstand ist, lässt sich der Integrationstest nach CTFL8 in Komponentenintegrationstest und Systemintegrationstest unterscheiden:

       Beim Komponentenintegrationstest sind die Testelemente die Schnittstellen und das Zusammenwirken zwischen integrierten Komponenten.

       Beim Systemintegrationstest sind die Testelemente die Schnittstellen und das Zusammenwirken zwischen integrierten Systemen.

      Der jeweils zugehörige technische Systementwurf liefert die benötigte Testbasis wie beispielsweise Architektur- und Schnittstellenspezifikationen.

      In der Praxis wird häufig nicht sauber zwischen dem Systemtest und dem Integrationstest unterschieden. Auch wenn nach einem erfolgreichen Systemtest die Integration der Elemente als erfolgreich angenommen werden kann, handelt es sich deshalb noch um keinen Integrationstest. Es fehlt die explizite Betrachtung der Schnittstellen zwischen den Elementen.

       Integrationsstrategie

      Auch nicht zu verwechseln ist der Integrationstest mit der Integrationsstrategie. Der Integrationstest bewertet die Schnittstellen und das Zusammenwirken zwischen den integrierten Elementen. Im Gegensatz dazu legt die Integrationsstrategie die Vorgehensweise fest, wie der Tester zu einem vollständigen System kommt. Folgende Integrationsstrategien sind auch in der Softwareentwicklung der Automobilindustrie weit verbreitet:

       Bei der Big-Bang-Integrationsstrategie werden alle Elemente eines Systems vollständig integriert und in Betrieb genommen. Ein im Komponententest unentdeckter Fehlerzustand kann hier zu einem Big Bang führen. Diese Strategie kommt häufig zum Einsatz, wenn das Risiko durch unentdeckte Fehlerzustände in den Komponenten und Schnittstellen niedrig ist.

       Bei der inkrementellen Integrationsstrategie werden erst einzelne Komponenten zu einem Teilsystem integriert und getestet. Erst wenn diese Tests erfolgreich waren, werden weitere Komponenten oder Teilsysteme hinzugefügt. Dies wiederholt sich so lange, bis alle Komponenten des Systems vollständig integriert sind. Diese Strategie kommt häufig bei sequenziellen Softwareentwicklungsmodellen (wie V-Modell) zum Einsatz.

       Bei Continuous Integration hingegen handelt es sich um eine iterative Integrationsstrategie, die das fortlaufende Integrieren von Komponenten zu einem System beschreibt. Dadurch ist es Entwicklern möglich, nach Änderungen an ihren Komponenten zeitnah die Auswirkungen auf das Systemverhalten zu beobachten. Diese Strategie kommt häufig bei agilen Softwareentwicklungsmodellen (wie Scrum) zum Einsatz.

       Systemtest

      Der Systemtest verfolgt vorrangig das Testziel, ein System als Ganzes zu verifizieren, also zu testen, ob das System die spezifizierten Anforderungen erfüllt. Beim Zulieferer steht häufig am Ende dieser Teststufe die interne Freigabe zur Übergabe an den OEM.

      Ein System besteht aus einer Menge miteinander interagierender Elemente, die so organisiert sind, dass sie einen gemeinsamen Zweck erfüllen. So handelt es sich beim Fahrzeug selbst um ein System, das dem Zweck dient, Personen und Gegenstände (z.B. Gepäck) zu transportieren. Aber auch das Bremssystem des Fahrzeugs ist ein System, allerdings mit dem Zweck, das Fahrzeug zu verzögern. So lässt sich wie beim Integrationstest auch der Systemtest abhängig von den jeweiligen Systemgrenzen in eine Vielzahl von Systemtests unterteilen. In der Fahrzeugentwicklung sind folgende Abstufungen des Systemtests häufig anzutreffen:

       Systemtest vernetzter FahrzeugeTest des Fahrzeugs, das in seine Systemumgebung integriert ist. So müssen beispielsweise alle in der EU zugelassenen Neuwagen mit Mobilfunk für den Notfall ausgestattet sein (eCall [EU 2019]). Damit dieser Dienst möglich ist, muss sich das Fahrzeug mit dem Mobilfunknetz verbinden und im Notfall eine Verbindung mit einer Rettungsleitstelle aufbauen.

       Systemtest des Gesamtfahrzeugs in einer FahrzeugkonfigurationTest des Gesamtfahrzeugs mit allen Komponenten und (Teil-)Systemen. Dadurch lässt sich das Zusammenspiel der Software, Elektronik, Mechanik in virtuellen oder realen Umwelt- und Fahrsituationen bewerten.

       Systemtest eines Fahrzeug teilsystems9Test eines Teilsystems, das für einen spezifischen Funktionsumfang des Gesamtfahrzeugs benötigt wird. Bei dem Teilsystem kann es sich beispielsweise um das Antriebssystem handeln. Beim Test dieses Systems sind ausschließlich die Steuergeräte und Komponenten verbaut, die zum Antrieb des Fahrzeugs benötigt werden.

       Systemtest eines SteuergerätsFälschlicherweise auch als Komponententest bezeichnet (siehe oben beim Komponententest), besteht doch auch ein Steuergerät aus einer Vielzahl von Software- und Hardwarekomponenten. Häufig ist dieser Test als Teil des Freigabeprozesses beim Zulieferer anzutreffen. Die Ergebnisse dieses Tests sind dann Grundlage für die Freigabe durch den Hersteller.

       Systemtest einer SoftwareTest eines Softwaresystems, bestehend aus allen Softwarekomponenten. Existiert eine virtuelle Infrastruktur, kann dieser Test sogar mit Softwarekomponenten durchgeführt werden, die später auf mehreren Steuergeräten verteilt sind.

       Abnahmetest

      Der Abnahmetest bewertet hauptsächlich, ob ein Kunde ein System abnehmen kann. Häufig liegt der Fokus auf der Validierung, also ob das System den Erwartungen des Kunden entspricht und seinen Zweck erfüllt. Auch beim Abnahmetest existieren gemäß CTFL unterschiedliche Ausprägungen:

       BenutzerabnahmetestBei klassischen Kundenprojekten stellt der Nutzer des Produkts die Anforderungen an das Produkt und nimmt dieses auch ab. Im Gegensatz dazu handelt es sich bei der Entwicklung eines Fahrzeugs um ein Marktprojekt. Hier repräsentieren Stellvertreter die Interessen der späteren Endkunden. So erfolgt die Benutzerabnahme häufig durch diese Stellvertreter.

       Betrieblicher AbnahmetestVor dem Start der Produktion und des Vertriebs eines neuen Fahrzeugmodells bedarf es der Abnahme (Freigabe) durch die Fertigungsstätten (Produktion) und