Stefan Schmerler - Softwaretest in der Praxis

Здесь есть возможность читать онлайн «Stefan Schmerler - Softwaretest in der Praxis» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: unrecognised, на немецком языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Softwaretest in der Praxis: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Softwaretest in der Praxis»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Dieses Buch ist als praktische Hilfestellung für all jene gedacht, die sich als Entwickler, Manager oder Studierende mit der Fragestellung des effizien­ten Testens von Software auseinandersetzen. Anhand vieler konkreter Beispiele aus der Praxis und fast 400 Illustratio­nen wird leicht verständlich vermittelt, auf welche Weise Software heute getestet wird und welche Werkzeuge und Testsysteme dabei zum Einsatz kommen. Ein zentraler Punkt dieses Buchs ist die Testmethodik – das Wie macht die Musik! Bereits durch Beachtung einfacher Grundregeln bei der Testfallermittlung kann mit geringeren Aufwänden in kürzerer Zeit der Reifegrad von Software deutlich über das Maß gesteigert werden als dies beim unsystematische (und leider oft anzutreffenden) «Drauflos-Testen» der Fall wäre.
Konkret adressiert das Buch folgende Fragestellungen: Welche Testtechnologie soll eingesetzt werden für mein spezifisches Problem?
Wie lange und mit welchem Aufwand sollte ich testen, um guten Gewissens (was auch immer das beim Testen heißen mag) die Testphase abbrechen zu können? Wie hoch ist das dann noch verbleibende Risiko, wie fehleranfällig ist mein System dann noch? Gibt es eine Metrik für Reifegrad und Qualität von Software, die einfach und schnell anzuwenden ist?
Für die häufigsten Testprobleme werden Schritt-für-Schritt-Anleitungen hinsichtlich Testfallermittlung vorgeschlagen, um mit minimalem Aufwand die größtmögliche Absicherungstiefe zu erzielen. Der Leitfaden kann unmittelbar eingesetzt werden in fast jedem Softwareentwicklungsprojekt. Neben dem klassischen Softwaretest (dynamische und statische Test­verfahren, Test von Echtzeitsystemen, modellbasierter Test u.a.), werden wichtige Aspekte der Absicherung eingebetteter Software am Beispiel der Automobilelektronik detailliert erläutert, z. B. Hardware-, Software-, Mo­del- und Vehicle-in-the-Loop-Technologie, virtuelle Integration bis hin zum Test von Fahrerassistenzsystemen und der Software für Autonomes Fahren.

Softwaretest in der Praxis — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Softwaretest in der Praxis», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Für den Integrationstest wurden eine Reihe verschiedener Vorgehensweisen und Ausprägungen entwickelt, die im Folgenden kurz skizziert werden.

Hardware-in-the-Loop-Simulatoren

Beim Test automobiler Steuergeräteverbünde versteht man unter Integrationstest den gemeinsamen Test von Steuergeräten im Verbund. Häufig kommen Hardware-in-the-Loop-Simulatoren zum Einsatz, mit deren Hilfe die Umgebung der zu testenden Steuergeräte in Echtzeit simuliert wird. Dies betrifft also die gesamte Aktorik, Sensorik und das Umgebungsverhalten, quasi das »Restfahrzeug« aus Sicht der zu testenden Steuergeräte. Auf diese Technologie wird in einem eigenen Kapital noch explizit eingegangen.

Abb 36 Steckbrief Integrationstest in der klassischen SWEntwicklung - фото 67

Abb. 3-6: Steckbrief Integrationstest in der klassischen SW-Entwicklung

Hilfsmittel des Integrationstests sind

Testtreiber und Stubs (Platzhalter).

Da Systeme komponentenweise entwickelt werden, muss zwingend eine Integration erfolgen. Diese Integration kann nach unterschiedlichen Strategien abgesichert werden. Allen Ansätzen gemeinsam ist, dass Komponenten beim Test durch Treiber gesteuert werden, die es ermöglichen, ein Testobjekt ablaufen zu lassen, zu stimulieren und dessen Ausgaben zu erfassen. Zum anderen kommen beim Integrationstest Stubs zum Einsatz, also interfacekonforme, aber leere Hüllen ohne Funktion, die für den Test anderer Komponenten benötigt werden, z. B. um eine Kompilierung zu ermöglichen.

Abb 37 Abhängigkeitsgraph mit Baumstruktur Zur Darstellung der Prinzipien - фото 68

Abb. 3-7: Abhängigkeitsgraph mit Baumstruktur

Zur Darstellung der Prinzipien des Integrationstests werden Abhängigkeitsgraphen mit Baumstruktur genutzt (Abb. 3-7). Diese Graphen sind zyklenfrei, ihre Knoten sind Komponenten des SUT.

3.4.3.1 Big-Bang-Strategie

von Anfang an »das volle Programm«

Unter Big-Bang-Integrationsteststrategie versteht man den gleichzeitigen Test aller Komponenten im Gesamtsystem, also keine stufenweise, sukzessive Vergrößerung des Testgegenstands, sondern sofort das »volle Programm«.

Diese Strategie findet Anwendung bei kleinen Änderungen eines bereits ausgiebig getesteten Systems oder bei kleinen, sehr überschaubaren Systemen. Der Vorteil dieser Strategie liegt im geringen Aufwand, da keine Treiber zu erstellen sind.

Man lernt sofort das Gesamt-

system kennen, Fehler sind

aber schlecht lokalisierbar.

Als Nachteil ist die schwierige Lokalisierung von Fehlern zu sehen, sollten diese aufgetreten sein. Wir alle kennen das Phänomen der nicht wirklich hilfreichen Meldung »Es ist ein unbekannter Fehler aufgetreten«. Wir haben es beim Big-Bang-Test quasi mit einem Schnellschuss zu tun, der uns selbst im erfolgreichen Fall nicht viel weiterhilft, denn Schnittstellenfehler oder kompensierte/überdeckte Fehler müssen im Gegensatz zu einem Test auf Modulebene nicht zu Tage treten. Darüber hinaus kann die Wartezeit, bis ein Big-Bang-Test möglich ist, als verlorene Testdurchführungszeit angesehen werden, denn für die Durchführung dieser Tests muss das Gesamtsystem implementiert und testbar sein. Kann der Test dann durchgeführt werden, werden die Tester damit konfrontiert, dass alle Fehlerwirkungen geballt und gleichzeitig auftreten und nicht sukzessive beseitigt werden konnten. Es ist oft sehr schwierig, das System überhaupt zum Laufen zu bringen.

Nichtinkrementelle Integration nach dem Big-Bang-Prinzip sollte außer unter den oben genannten Bedingungen vermieden werden. Andererseits kommt die inkrementelle Systementwicklung für die Anwendung des Big-Bang-Integrationstests durchaus in Frage. In vielen iterativen Zyklen reift und wächst ein Gesamtsystem bei häufiger Validierung gegen die Anforderungen. Dies erfordert implizit immer den Gesamtkontext, d. h. den Test des Gesamtsystems. Da die Entwicklungsinkremente von Zyklus zu Zyklus immer überschaubar bleiben, entsteht bei regelmäßiger, hochfrequenter Anwendung dieser Teststrategie nicht die oben geschilderte, unkontrollierbare Fehlerhäufung, die letztlich keine konkreten Erkenntnisse mehr bringt als die Tatsache, dass das System fehlerhaft ist.

Abb 38 BigBangIntegrationsteststrategie 3432 BottomupStrategie Wir - фото 69

Abb. 3-8: Big-Bang-Integrationsteststrategie

3.4.3.2 Bottom-up-Strategie

Wir benötigen viele Treiber.

Bei der Bottom-up-Integrationsteststrategie wird ein Test von den Blättern des Abhängigkeitsgraphen aus in Richtung Wurzel durchlaufen. Die jeweils darüber liegende Ebene wird mit Treibern umgesetzt. Danach folgen Implementierung und Test der Ebene, in der sich die Treiber befanden (einschließlich deren Blätter).

sukzessive, kontrollierte

Erweiterung des Scopes

Der Vorteil dieses Verfahrens ist die kontrollierte und systematische Ausweitung des Testgegenstands. Zudem besteht die Möglichkeit, die Komponenten des SUT parallel zu entwickeln. Die Möglichkeit, mittels frühzeitiger Simulation ein Gesamtsystem das erste Mal »zu erfahren«, ist allerdings nicht gegeben. Treten während der Integration der Komponenten Fehler auf, ist das Ergründen der Ursachen schwieriger als bei der gleich folgenden Top-down-Strategie.

erhöhter Aufwand

Als Nachteil ist sicher der Aufwand zu sehen, der aufgrund der Treiberentwicklung deutlich höher sein kann als bei der Entwicklung des SUT. Bei geschicktem Vorgehen lässt sich der Aufwand durch Wiederverwendung der Treiber allerdings in Grenzen halten.

Für komplexe, verteilt entwickelte Systeme kommt man häufig an der Bottom-up-Strategie nicht vorbei. Sie ermöglicht die parallele, unabhängige Entwicklung verschiedener Systemkomponenten durch mehrere Teams oder Entwickler, die dann auf kleinstmöglicher Integrationsebene mit- und gegeneinander getestet werden. Eventuelle Schnittstellen- oder logische Fehler können auf diese Weise sofort erkannt werden.

Abb 39 BottomupIntegrationsteststrategie 3433 TopdownStrategie Beim - фото 70

Abb. 3-9: Bottom-up-Integrationsteststrategie

3.4.3.3 Top-down-Strategie

Beim Integrationstest nach der Top-down-Strategie beginnt die Absicherung beim Kontrollobjekt des SUT, also der Wurzel des Baums, mithilfe eines Treibers. Die Erweiterung des Testgegenstands erfolgt von oben nach unten in Richtung der Blätter des Abhängigkeitsgraphen (Abb. 3-10), wobei die getestete höhere Schicht jeweils als Testtreiber dient.

Abb 310 TopdownIntegrationsteststrategie stets das Gesamtsystem im Blick - фото 71

Abb. 3-10: Top-down-Integrationsteststrategie

stets das Gesamtsystem im Blick

Dies unterstützt eine iterative Entwicklungsweise. Zu jedem Zeitpunkt hat man das Gesamtsystem im Blick, dessen Funktionalität sukzessive erweitert und verfeinert wird. Man erhält schnell einen ersten Gesamteindruck und kann die Entwicklung der fehlenden Komponenten schrittweise vorantreiben. Ein weiterer Vorteil dieses Verfahrens ist die Tatsache, dass nur ein Treiber implementiert werden muss. Nachteil der Top-down-Strategie ist allerdings die Implementierung vieler Stubs. Da diese aber in der Regel leere Funktionen sind, bleibt der Aufwand dafür überschaubar.

3.4.3.4 Collaboration-Strategie

Die Collaboration-Strategie orientiert sich an der Funktion des zu entwickelnden Systems. Bei jedem Testdurchlauf wird der Teil des SUT betrachtet, der für eine bestimmte Funktionalität zuständig ist. Alle hierbei beteiligten Softwarekomponenten – aber nur diese – werden ausgeführt und erprobt.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Softwaretest in der Praxis»

Представляем Вашему вниманию похожие книги на «Softwaretest in der Praxis» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Softwaretest in der Praxis»

Обсуждение, отзывы о книге «Softwaretest in der Praxis» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x