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

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

Интервал:

Закладка:

Сделать

13.3.2 Beschreibung

13.3.3 Tipps

13.4 Kombinatorik und Abhängigkeiten

13.4.1 Steckbrief

13.4.2 Beschreibung

13.4.3 Tipps

13.5 Zustandsbasierter Test

13.5.1 Steckbrief

13.5.2 Beschreibung

13.5.3 Tipps

13.6 Schnittstellentest

13.6.1 Steckbrief

13.6.2 Beschreibung

13.6.3 Tipps

13.7 Kontrollflussorientierter Test

13.7.1 Steckbrief

13.7.2 Beschreibung

13.7.3 Tipps

13.8 Anforderungsbasierter Test

13.8.1 Steckbrief

13.8.2 Beschreibung

13.8.3 Tipps

Abkürzungsverzeichnis

Glossar

Literaturverzeichnis

1 Grundlagen des Testens

Bei der Herstellung aller industriellen Güter gibt es konkrete Anforderungen an die Qualität. Das grundsätzliche Vorgehen bei der Sicherstellung dieser Qualität ist oft die Entnahme von Stichproben, an denen dann geprüft wird, ob alle gestellten Anforderungen erfüllt werden oder ob Abweichungen existieren. Versteht man Software als solches industrielles Gut, so entspricht die Sicherstellung dieser Qualitätsmerkmale hier einem Softwaretest.

Software ist immateriell.

Im Gegensatz zu materiellen Gütern ist Software allerdings immateriell, sie kann nicht angefasst und einer materiellen Prüfung unterzogen werden. Lediglich eine Art optische Prüfung ist in eingeschränktem Umfang durch intensives Gegenlesen der Entwicklungsdokumente möglich.

die Folgen fehlerhafter Software

Dabei können die Folgen fehlerhafter Software durchaus erheblich sein, von einer verspäteten Markteinführung bis zu existenzbedrohenden finanziellen Verlusten und Gefahren für Leib und Leben. Auch ein Imageschaden kann eine negative Konsequenz sein. Beispiele hierfür können der Tagespresse entnommen werden wie z. B. eine fehlerhafte teilautonome Fahrfunktion (»Autopilot«).

stichprobenhafter Charakter

Der Test von Software ist in der Regel eine stichprobenhafte Prüfung durch Ausführung der Software anhand von Testfällen. Die Durchführung eines Testfalls bedeutet hierbei die Ausführung des Testobjekts (der zu testenden Software) anhand spezifischer, durch den Testfall definierter Testdaten (Stimuli).

dynamischer und statischer Test

Je nach Ausprägung des Tests unterscheidet man zwischen dynamischem und statischem Test. Während beim dynamischen Test das Testobjekt ausgeführt wird, erfolgt ein statischer Test durch Prüfung der relevanten Dokumente wie der Anforderungsspezifikation (Lastenheft) der Software oder des Quellcodes.

Validierung und Verifikation

Bei der Frage, ob Anforderungen erfüllt werden, ist relevant, von welcher Seite diese erhoben werden. Handelt es sich um die Prüfung der Anforderungen im Lastenheft, spricht man von einer Verifikation. Die Prüfung, ob sich das System in der späteren Zielumgebung entsprechend den Vorstellungen der Nutzer verhält, wird hingegen als Validierung bezeichnet.

Software ist (fast)

immer fehlerhaft.

Viele Jahre praktischer Erfahrung in der Softwareentwicklung führen leider zu der Erkenntnis, dass fast jede nichttriviale Software fehlerhaft ist. Die Gründe hierfür sind vielfältig. Häufig werden während der Entwicklung und beim Testen bestimmte Ausnahmesituationen nicht bedacht oder überprüft. Seien es etwa eine eigentlich nicht vorgesehene Eingabe des Anwenders oder sehr seltene Systemzustände, die dann aber doch im Laufe der Softwarenutzung eingenommen werden. Fehler kommen auch zustande bei großem Zeitdruck oder hoher Komplexität der zu lösenden Entwicklungsaufgabe oder eingesetzten Technologien. Auch Missverständnisse zwischen den Projektbeteiligten z. B. in Bezug auf Schnittstellen sind häufige Fehlerursachen.

Mit Testen kann man keine

fehlerfreie Software erzielen.

Eine weitere bittere Erkenntnis, die offensichtlich aus dem stichprobenhaften Charakter des Softwaretests folgt: Auch wenn alle durchgeführten Tests keine Fehler mehr aufdecken, kann nicht ausgeschlossen werden, dass andere Tests bislang unerkannte Fehler entdecken würden. Durch Testen kann keine Fehlerfreiheit nachgewiesen werden!

Test und Entwicklung

Der Test von Software und eingebetteten Systemen kann, über den Lebenszyklus betrachtet, als der teuerste, aber auch der am meisten unterschätzte Entwicklungsschritt betrachtet werden. Für die ersten 50 % der Entwicklungsarbeit wie Analyse, Spezifikation oder Implementierung steht ein hervorragender Methoden-, Werkzeug- und Technologiebaukasten zur Verfügung. Wir haben z. B. werkzeugunterstützte Anforderungserfassung und modellbasierte Funktionsentwicklung bis hin zum Fehlermanagement mit vollständiger Durchgängigkeit sogar in großen Konzernen.

Fokus auf den linken Ast

im V-Diagramm

Von der anderen Hälfte der Entwicklungsarbeit – dem Testen – kann man das leider nicht behaupten. Die testmethodische Begleitung wird oftmals stiefmütterlich behandelt – Ausnahmen bestätigen natürlich die Regel. Oftmals wird es der persönlichen Intuition des Entwicklers anheim gestellt, welche Tests durchgeführt werden und welcher Testaufwand und Testabdeckungsgrad vorgesehen werden. Anstelle von klaren Testende-Kriterien tritt ein »gutes Bauchgefühl« und auch die Wahl der Testtechnologie scheint in der Praxis oft willkürlich oder zufällig. Diese Aussagen beziehen sich nicht auf spezifische Industriedomänen oder Anwendungen. Sie beziehen sich auch nicht auf die Entwicklung sicherheitskritischer Systeme, für die besondere Regelungen und Absicherungskonzepte sogar gesetzlich vorgeschrieben sind, deren Einhaltung in Form von Audits auch überprüft wird. Dennoch sind die beschriebenen Phänomene immer noch viel zu oft in der Praxis anzutreffen.

Das Schöne am Testen ist: Man

kann jederzeit damit aufhören –

die Rechnung kommt später.

Eine Ursache hierfür könnte sein, dass mit dem Testen keine unmittelbar ersichtliche Wertschöpfung verbunden ist. Man kann letztlich jederzeit einen Testprozess abbrechen, die Funktion scheint vordergründig ja gegeben. Häufig wird dieser Umstand auch genutzt, um die am Ende fehlende Projektlaufzeit an einen schleppenden Gesamtprojektverlauf »anzupassen«. Oder positiv formuliert: Das Schöne am Testen ist, dass man jederzeit damit aufhören kann. Die Rechnung kommt später …

eine Metrik zur Erfassung

des Reifegrads von Software

Um diesem Problem begegnen zu können, müssen Aussagen über den Reifegrad einer Software getroffen werden – idealerweise durch Nutzung einer Metrik, die reproduzierbare Ergebnisse liefert. Nur auf diese Art und Weise kann ein Testende-Kriterium sinnvoll festgelegt werden.

Softwaretest in der Praxis - фото 2 Softwaretest in der Praxis - фото 3 eine Chronik historischer Softwarefehler Ferner brauc - фото 4 eine Chronik historischer Softwarefehler Ferner brauchen Entwickler und - фото 5 eine Chronik historischer Softwarefehler Ferner brauchen Entwickler und - фото 6

eine Chronik historischer Softwarefehler

Ferner brauchen Entwickler und Testingenieure einfach anwendbare Methoden und Werkzeuge, die aufgrund der dann hoffentlich hohen Akzeptanz auch tatsächlich zur Anwendung kommen. Hochkomplexe Expertenwerkzeuge oder Testtechnologien laufen Gefahr, im Entwickleralltag nicht oder nur formal eingesetzt zu werden, um gewisse Anforderungen im Entwicklungsprozess zu erfüllen. Die Erfahrung zeigt: Für viele Testprobleme genügt bereits eine einfache, methodisch untermauerte Vorgehensweise, um mit vergleichsweise niedrigem Testaufwand einen signifikanten Reifegradgewinn zu erzielen.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x