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

Автор: Ralf Bongard
Издательство: Bookwire
Серия:
Жанр произведения: Математика
Год издания: 0
isbn: 9783960884934
Скачать книгу
des Testentwurfs entwirft der Tester sowohl die zur Überdeckung der Testbedingungen erforderlichen Testfälle als auch die Anforderungen an die hierfür benötigte Testumgebung. Im Gegensatz zur Testanalyse bestimmt der Tester beim Testentwurf, wie zu testen ist.

       Testfall

      Die Testfälle beinhalten vorrangig die Eingaben und die darauf erwarteten Ergebnisse. Darüber hinaus können sie auch die für die Testdurchführung notwendigen Aktionen (Testschritte) und Vor- und Nachbedingungen enthalten. Zum Entwurf der Testfälle kann der Tester, abhängig von der Testbasis und der gewählten Testvorgehensweise, unterschiedliche Testentwurfsverfahren einsetzen (siehe Abschnitt 5.3).

       Testumgebung

      Insbesondere eingebettete Systeme werden immer für den Einsatz in einem spezifischen Kontext geschaffen. Steht die reale Testumgebung (z.B. das reale Fahrzeug) nicht zur Verfügung, benötigt der Tester eine virtuelle Testumgebung (siehe Kap. 4). Diese simuliert die reale Umgebung des Testobjekts. Über diese ist es dem Tester möglich, das Testobjekt zu stimulieren und dessen Verhalten zu beobachten. Da die Testumgebung wiederum abhängig von der Testart (funktional/nicht funktional) und der Teststufe ist, muss der Tester die daraus resultierenden Anforderungen an die Testumgebungen spezifizieren.

       Testrealisierung

      Während der Testrealisierung erstellt oder aktualisiert der Tester die Testumgebungen gemäß den Anforderungen und stellt die für die Testdurchführung benötigten Testfälle zusammen. Die Testrealisierung ist abgeschlossen, sobald alles für die Durchführung der Tests bereit ist.

       Testablauf

      Beim Zusammenstellen der Testfälle muss der Tester neben den neu durchzuführenden Tests auch Fehlernach- und Regressionstests berücksichtigen. Die ausgewählten Testfälle bringt er im Anschluss in Testabläufen in die gewünschte Reihenfolge. Dabei berücksichtigt er neben den Abhängigkeiten zwischen den Testfällen untereinander auch deren Priorität und eine effiziente Reihenfolge. Ist ein Testablauf für eine automatisierte Testdurchführung vorgesehen, erstellt der Tester dafür ein entsprechendes Testskript.

       2.2.3Testmanagement

      Zum Testmanagement gehören sowohl die Testplanung, die Testüberwachung und -steuerung als auch der Testabschluss. Aufgabe des Testmanagements ist die zielgerichtete Koordination aller Testaktivitäten und die Verwaltung der dabei erzeugten Artefakte. Hierzu werden die Testaktivitäten dahingehend ausgerichtet, die Projektziele (z.B. Qualitätsziele) unter Berücksichtigung der verfügbaren Ressourcen (Zeit und Budget) bestmöglich zu erreichen.

      In eher traditionellen Entwicklungsmodellen (wie dem V-Modell) obliegen diese Aufgaben häufig einem Testmanager (oder: Testleiter, Testkoordinator). In leichtgewichtigen, agilen Entwicklungsmodellen (wie Scrum) übernimmt hingegen das Entwicklungsteam einen Großteil dieser Aufgaben. In der Praxis sind auch Mischformen anzutreffen (z.B. im Rahmen eines hybriden Projektmanagements), wo sich ein Testmanager und ein agiles Team die Testaufgaben teilen.

       Testplanung

       Testkonzept

      Im Rahmen der Testplanung definiert der Testmanager (bzw. das Entwicklungsteam) die Testziele und legt die Testvorgehensweise im Testkonzept fest. Sowohl die Testziele als auch die Testvorgehensweise sind abhängig vom Projektkontext. So wird er beispielsweise bei der Überarbeitung eines Fahrzeugmodells (mit vielen Gleichteilen) eine andere Vorgehensweise wählen als bei einer vollständigen Neuentwicklung (mit völlig neuen Konzepten und Technologien).

      Die Testplanung ist eine fortlaufende Aktivität, da der Testmanager seine Vorgehensweise mit fortschreitendem Projekt kontinuierlich verfeinert und an sich ändernde Rahmenbedingungen anpasst. Das Feedback hierzu erhält er über eine kontinuierliche Überwachung der Testaktivitäten.

       Testüberwachung und -steuerung

       Testfortschrittsbericht

      In der Testüberwachung vergleicht der Testmanager (bzw. das Entwicklungsteam) fortlaufend den tatsächlichen mit dem geplanten Testfortschritt. Hierzu nutzt er Metriken zur Überwachung, die er zuvor im Testkonzept definiert hat. Diese wertet er aus und konsolidiert sie im Testfortschrittsbericht (auch Teststatusbericht genannt). Im Rahmen der Testüberwachung ergreift er im Falle einer Abweichung Maßnahmen, die zum Erreichen der Testziele und Testendekriterien führen.

       Testabschluss

       Testabschlussbericht

      Sind die Testendekriterien5 erreicht, kann der Testmanager (bzw. das Entwicklungsteam) einzelne Testaktivitäten oder auch den gesamten Testprozess abschließen. Im Rahmen des Testabschlusses sammelt er die Daten aus allen beendeten Testaktivitäten und konsolidiert diese im Testabschlussbericht. Der Testabschluss kann am Ende

       eines Projekts,

       eines Projektmeilensteins (z.B. im Rahmen einer Softwarefreigabe, siehe Abschnitt 2.3),

       einer Teststufe (z.B. im Rahmen einer Systemabnahme) oder

       einer Iteration im Projekt (z.B. als Sprint-Review bei Scrum) erfolgen.

      Zum Testabschluss gehören auch die Archivierung bzw. die Übergabe aller Testmittel6, die zum Testabschluss (und damit zu einer Freigabeempfehlung, siehe Abschnitt 2.3) geführt haben. Im Falle einer Schadensersatzforderung ist es damit einem Unternehmen möglich, auch Jahre nach dem Inverkehrbringen, ein früheres Testergebnis zu belegen.

      Darüber hinaus nimmt das Testteam im Rahmen des Testabschlusses häufig an einer Rückschau (Retrospektive) auf die zurückliegenden Testaktivitäten teil. Während im Testabschlussbericht der Fokus auf dem Testobjekt liegt, steht hier der Testprozess selbst im Mittelpunkt: Welche Lessons Learned und Best Practices lassen sich für zukünftige Testaktivitäten ableiten?

       2.3Testen im Systemlebenszyklus

      Jedes System, unabhängig von Art und Größe, hat einen Lebenszyklus. Dieser erstreckt sich in sechs Phasen von der Konzeption bis hin zur Außerbetriebnahme (siehe Abb. 2–2). Der Produktentstehungsprozess (PEP) deckt dabei die Phasen von der Konzeption bis zur Produktion ab. In der Phase der Entwicklung finden die wesentlichen Tätigkeiten des Testers statt. Doch auch an den meisten anderen Phasen ist der Tester beteiligt.

       Abb. 2–2 Phasen des Systemlebenszyklus nach ISO 24748-1 [ISO 24748]

       Konzeption

      Am Anfang des Systemlebenszyklus steht die Phase der Konzeption. In dieser Phase werden Marktstudien bewertet, vorläufige Systemanforderungen erhoben und erste Lösungsansätze entworfen. Bereits in dieser frühen Phase legt der Testmanager seine Testvorgehensweise fest. Darüber hinaus wirkt er an der Priorisierung und Planung der Implementierungsreihenfolge der Funktionen mit, zum Beispiel wenn eine Funktion Voraussetzung