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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

kein klares Testende

Ein Problem beim Funktionstest ist allerdings, dass es keinen klar erkennbaren oder definierten Testumfang gibt, den es zu bearbeiten gilt. Genügt es, jede Anforderung einmal abzusichern? Oder ist das womöglich gar nicht erforderlich? Muss man Kombinationen von Anforderungen bilden und gemeinsam, d. h. in Verbindung miteinander testen? Auf all diese Fragen gibt es keine klaren Antworten.

keine Automatisierung

Weiterhin sind Funktionstests nur schwer automatisierbar. Idealerweise kann das Testsystem (das den Test ausführende System – in Abgrenzung zum SUT) auch automatisch die korrekte, erwartete Antwort ermitteln, um die Testbewertung durchführen zu können (Pass/Fail). Man versuche dies mit einem in Prosa geschriebenen Lastenheft!

Abb 111 Steckbrief funktionaler Test 1362 Strukturtest Während der - фото 21

Abb. 1-11: Steckbrief funktionaler Test

1.3.6.2 Strukturtest

Während der funktionale Test gegen die Spezifikation einzelne Anforderungen referenziert (Testziel sind die Anforderungen), nutzt der Strukturtest die Strukturelemente als Testziele. Als Strukturelemente kommen z. B. Anweisungen, Zweige, Bedingungen oder Pfade des Programmcodes infrage.

Testziel sind die Strukturelemente

im Programmcode.

Kann es beim Funktionstest Testziel sein, alle Anforderungen abzutesten, wäre beim Strukturtest ein Testziel denkbar, Programmzweige oder Bedingungen mindestens einmal zu durchlaufen. Eine vollständige Testabdeckung wäre z. B. erreicht, wenn das Programm durch die Tests jede Bedingung mindestens einmal durchlaufen hätte. Die Tests müssen nun so gewählt bzw. das zu testende Programm so stimuliert werden, dass dieses Ziel erreicht wird. In der Regel kann dies nicht in nur einem Testlauf geschehen und es sind mehrere Testläufe erforderlich.

Die Entwicklung der Variablenwerte im

Programmablauf steht im Vordergrund.

Bei datenflussorientierten Testverfahren liegen den Testzielen nicht die Strukturelemente des Programms, sondern Zugriffe auf Variablen bzw. deren »Werdegang« im Ablauf eines Programms zugrunde. Doch hierzu später mehr.

Bei der Bewertung des Strukturtests bleibt festzustellen, dass es sich um ein sehr verbreitetes Testverfahren handelt. Die Werkzeugunterstützung ist vielfältig und die Testautomatisierbarkeit sehr hoch. Hat das Testwerkzeug die Quellen erst einmal eingelesen und analysiert, ist es ein Leichtes, die für bestimmte Programmläufe des SUT erforderlichen Stimuli zu berechnen, das SUT entsprechend mit diesen Stimuli aufzurufen, das Ergebnis auszulesen und mit der richtigen Sollantwort zu vergleichen. Alles vollautomatisch!

Anwender erleben die Funktion

von Software, nicht das Durch-

laufen ihrer Strukturelemente.

Man sollte nur nicht vergessen, dass man sich hier auf einer rein formalen Ebene bewegt. Anwender hingegen erleben Funktionen, nicht das Durchlaufen eines Strukturelements. Man kann also mithilfe des Strukturtests nie Aussagen treffen, ob wirklich alle im Lastenheft geforderten Funktionen auch fehlerfrei umgesetzt sind. Man kann noch nicht einmal beurteilen, ob sie überhaupt implementiert sind. Strukturtests können also nicht die ganze Wahrheit, sondern nur Bausteine (wenn auch wichtige Bausteine) in der Absicherungskette sein, die mit anderen Elementen sinnvoll kombiniert werden müssen.

Eine vollständige Abdeckung ist beim

Strukturtest nicht immer möglich.

Aufgrund der individuellen, strukturellen Eigenschaften von Programmcode ist es je nach der gewählten Metrik nicht möglich, eine vollständige Überdeckung zu erreichen. Jeder Test entspricht hierbei einem konkreten, ggf. für die vollständige Abdeckung noch fehlenden, Programmverlauf und muss durch geschickte Wahl der Programmeingangsdaten vom Testsystem herbeigeführt werden. Dies ist allerdings nicht immer möglich, da sich unter Umständen bestimmte Wertekombinationen widersprechen, d. h. von der Spezifikation ausgeschlossen wurden.

Abb 112 Steckbrief Strukturtest 1363 Statistischer Test operationales - фото 22

Abb. 1-12: Steckbrief Strukturtest

1.3.6.3 Statistischer Test

operationales Profil

Beim statistischen Test erfolgt die Testdatengenerierung nicht auf Basis struktureller Eigenschaften des Codes, sondern zufällig gesteuert. Die Testdaten werden oft einem operationalen Profil entsprechend generiert, also einem typischen Anwendungsfall für das spätere Produkt. Bei mehreren Anwendungsfällen werden nach der Häufigkeit der beim späteren Betrieb zu erwartenden Programmabläufe Testdaten generiert. Da operationale Benutzungsprofile durch eine in der Regel einfache Schnittstelle hier leicht zu ermitteln sind, finden statistische Testverfahren oft Anwendung bei der Absicherung von Telekommunikationssystemen, also z. B. der Nutzung von Endprodukten oder Übertragungssystemen.

Die Testdatengenerierung

orientiert sich an häufigen

Nutzungsarten der Software.

Diese Testmethodik stellt sicher, dass sehr schnell Fehler hoher Kundenrelevanz gefunden werden. Situationen, in denen Nutzer bereits nach kurzer Zeit schwerwiegende Fehler in einer neuen Software entdecken, sollten dann sehr unwahrscheinlich sein.

Außergewöhnliche Verwendungen des Produkts werden andererseits entsprechend schlechter abgesichert. Dies ist bei knapper Testzeit sicher die bessere Vorgehensweise, als die häufigen Anwendungsfälle unzureichend abzusichern. Andererseits können auch seltene Nutzungsszenarien von besonderer Bedeutung sein oder zu großen Schäden führen. Aus diesen Gründen kommt dem statistischen Test bei der Entwicklung eingebetteter Systeme nur Nischenbedeutung zu, es wird eine zielgerichtetere Testdatengenerierung bevorzugt. Oft wird das Testverfahren mit Verfahren der systematischen Testfallableitung kombiniert, um die Vorteile beider Verfahren zu vereinen. Durch die einfache Testdatenermittlung und die hohe Automatisierungsmöglichkeit der Testdurchführung ist der zusätzlich entstehende Aufwand vergleichsweise gering. Gezielt bestimmte Testszenarien oder Parameterkombinationen abzusichern ist hingegen nicht darstellbar.

keine Automatisierung möglich

Zudem ist die Ermittlung eines zuverlässigen operationales Profils bei eingebetteten Systemen oftmals schwierig und das Vorgehen ist auch kaum zu automatisieren. Wie sollte das Testsystem ermitteln können, was das richtige Ergebnis einer zufälligen Stimulation des SUT gewesen wäre bzw. ist?

Testorakel ermitteln

richtige Testergebnisse.

Programme, die zu einem bestimmten Stimulus des SUT die korrekte, spezifikationskonforme Antwort ermitteln, existieren aber durchaus. Man nennt sie vielsagend Testorakel.

Abb 113 Steckbrief statistischer Test 1364 Mutationentest ein - фото 23

Abb. 1-13: Steckbrief statistischer Test

1.3.6.4 Mutationentest

ein Testverfahren für Testverfahren

Beim Mutationentest handelt es sich um kein Verfahren zur Gewinnung von Testfällen im eigentlichen Sinne, sondern um eine Beurteilung der Güte von Testmethoden bzw. Testfallableitungsalgorithmen.

Das Testsystem ändert/mutiert geringfügig ein SUT und überprüft, ob diese gezielt eingebrachten Fehler, die ja Abweichungen vom spezifizierten Verhalten darstellen, bei Anwendung der Testfallableitungsmethodik gefunden werden.

Der Automatisierungsgrad ist hoch, in der Praxis hat dieses Verfahren bei der Entwicklung eingebetteter Systeme allerdings keine besondere Relevanz, wohl aber bei der Bewertung der hierfür eingesetzten Testableitungsverfahren.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x