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

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

Интервал:

Закладка:

Сделать

Grundsatz 7: Auch fehlerfreie Systeme

können völlig unbrauchbar sein.

Auch die völlige Abwesenheit von Fehlern – und wir sprechen hier nur von Tests gegen existierende Anforderungen – muss nicht zwangsläufig bedeuten, dass das getestete System einsatzfähig ist. Zum einen könnten existierende Anforderungen übersehen und nicht getestet worden sein. Ein Funktionstest prüft nur gegen im Test vorgesehene Anforderungen. Zum anderen wäre es denkbar, dass einige Anforderungen in der Spezifikation nicht berücksichtigt wurden und somit auch nicht bei der Implementierung der Software – folglich auch nicht beim Test. Die frühzeitige Einbeziehung der späteren Nutzer im Entwicklungsprozess und die Nutzung von Prototypen schafft hier Abhilfe!

1.2.6 Testaufwände

weitere Kostenaspekte

Testen ist eine aufwendige und teure Entwicklungsphase. Es lohnt sich also, etwas genauer hinzuschauen und diese Phase effizient und intelligent zu gestalten, um mit dem geringstmöglichen Aufwand den bestmöglichen Reifegrad zu erzielen. Aber wo genau entstehen diese Kosten in der Softwareentwicklung?

Größere Vorhaben mit über zehn Personenjahren Entwicklungsaufwand weisen ca. 50 % Integrations- und Testaufwände über die einzelnen Phasen auf, der Rest entfällt auf die Implementierung. Bei sicherheitskritischen Systemen können Integrations- und Testaufwände auf über 80 % ansteigen.

Abb 16 Verteilung Softwareentwicklungskosten Durch die hohen Aufwände ist - фото 16

Abb. 1-6: Verteilung Softwareentwicklungskosten

Durch die hohen Aufwände ist beim Testen von Software stets auf Effizienz und Wirtschaftlichkeit zu achten. Testing ist das wichtigste und zugleich aufwendigste analytische Qualitätssicherungsverfahren. Ineffizienzen drohen dabei letztlich von zwei Seiten:

Testautomatisierung

Zum einen von hohem personellem Aufwand während der Testdurchführung. Hier ist die Lösung die Einführung einer durchgängigen Testautomatisierung. Tests sollten ohne menschliche Interaktion 24 / 7 automatisiert durchgeführt und ausgewertet werden.

Testmethodik

Zum anderen von geringen Fehleraufdeckungsraten. Hier heißt die Lösung: Einführung einer intelligenten Testmethodik. Weg von stupidem, repetitivem »viel hilft viel« hin zu smarten, ans Problem adaptierten Testabläufen. Das Wie macht die Musik!

Bei größeren Softwareprojekten sind

methodisches und automatisiertes

Testen Pflicht.

Beide Aspekte, Testautomatisierung und Testmethodik, bilden einen wesentlichen Schwerpunkt in diesem Buch. Optimierung an dieser Stelle gleicht oftmals einem Transistoreffekt: Vergleichsweise geringe Eingriffe in den Absicherungsprozess können eine hohe Kostenwirksamkeit aufweisen.

Die Erfahrung zeigt, dass Testautomatisierung und Testmethodik mit geringeren Aufwänden reproduzierbar und prädizierbar bessere Reifegrade in der Softwareentwicklung ermöglichen.

1.3 Analytische Qualitätssicherung

QS-Maßnahmen im Überblick

Die Qualitätssicherung (QS) eines Unternehmens befasst sich mit der Einhaltung und Anwendung von dokumentierten Arbeitsprozessen. Diese haben zum Inhalt, vereinbarte Qualitätsmerkmale, und somit das Qualitätsniveau entwickelter Produkte, sicherzustellen. Grundsätzlich unterscheidet man drei Gruppen von QS-Maßnahmen:

▶Datenmanagement-Methoden: Hierbei geht es um die Einführung von Abläufen wie Softwareentwicklungsprozessen oder Vorgehensmodellen. Auch Dokumenten-/Konfigurationsmanagement und Versionsverwaltung fallen in diese Kategorie wie auch z. B. die Zertifizierung von Entwicklungswerkzeugen.

▶Konstruktive Methoden und Maßnahmen: Hierbei hat man es mit konkreten Maßnahmen für den Entwicklungsvorgang zu tun wie z. B. Anforderungsmanagement (Requirements Engineering und Management). Auch Methoden und Werkzeuge für Spezifikation, Modellierung und Entwurf fallen hierunter, zudem die Etablierung von Richtlinien wie z. B. Codierrichtlinien oder die Verabschiedung von Konventionen und Standards.

▶Analytische Methoden und Maßnahmen: Diese Kategorie umfasst alle Testverfahren, somit auch z. B. statische Analysen, die wir noch kennen lernen werden. Analytische Methoden bilden einen weiteren Schwerpunkt dieses Buchs.

Abb. 1-7 zeigt die in ISO 9126 definierten Qualitätsmerkmale für Software. Neben den offensichtlichen Qualitätsmerkmalen wie Funktionalität haben auch Änderbarkeit/Wartbarkeit und Zuverlässigkeit eine große Bedeutung. Software, die funktional einwandfrei arbeitet, aber beispielsweise (zurecht existierende) Codierrichtlinien missachtet oder unzureichend dokumentiert wurde, ist automatisch von minderer Qualität. Sie kann im weiteren Lebenszyklus kaum weiterentwickelt werden und Fehlersuche und -Behebung sind vergleichsweise aufwendig. Man spricht hier auch von interner und externer Qualität (Verhalten nach außen).

Abb 17 Qualitätsmerkmale von Software nach ISO 9126 Qualitätsmanagement QM - фото 17

Abb. 1-7: Qualitätsmerkmale von Software nach ISO 9126

Qualitätsmanagement (QM)

Die Qualitätssicherung ist eingegliedert in das Qualitätsmanagement (QM) eines Unternehmens. Hierunter sind alle organisatorischen Maßnahmen zur Steuerung und Lenkung eines Unternehmens im Hinblick auf die Qualität seiner Produkte zu verstehen. Dies beinhaltet neben der Festlegung der Qualitätsziele auch die Qualitätsplanung sowie alle Maßnahmen der Qualitätssicherung und Qualitätsverbesserung. In Branchen wie der Automobilindustrie oder Raumfahrt ist die Umsetzung eines QM aufgrund potenzieller Gefährdungen von Menschen und Gütern sogar gesetzlich vorgeschrieben. Sehr verbreitet ist die Normenreihe ISO 9000 Quality Management Standards [4] mit dem Standard ISO / IEC 90003 Software Engineering [5], der die Anwendung der Richtlinien der ISO 9001 [6] auf den Softwarebereich festlegt.

Die analytische Qualitätssicherung umfasst eine ganze Reihe von Techniken zur Analyse der internen und externen Qualität von Software.

statische und dynamische

QS-Maßnahmen

Unterschieden wird zwischen statischen und dynamischen Techniken, wobei statische Techniken im Gegensatz zu den dynamischen für die Analyse keine Ausführung des SUT erfordern. Der klassische Funktionstest ist also eine dynamische Technik, die klassische Codeanalyse ein statischer Vertreter. Darüber hinaus gibt es je nach Ausrichtung, Testziel und Analyseobjekt noch eine Menge weiterer Techniken, die unten dargestellt werden. Im weiteren Verlauf dieses Kapitels werden die wichtigsten Techniken kurz vorgestellt, auf einige davon wird in Kap. 4 »Statischer Test« und Kap. 5 »Dynamischer Test« noch detailliert eingegangen.

Abb 18 Übersicht Analytische Qualitätssicherungsmaßnahmen 131 Reviews Ein - фото 18

Abb. 1-8: Übersicht Analytische Qualitätssicherungsmaßnahmen

1.3.1 Reviews

Ein wichtiger Vertreter statischer Analysetechniken sind Reviews. Hierbei handelt es sich um strukturierte Gruppenprüfungen, d. h., eine Gruppe mit der Analyse beauftragter Personen begutachtet verschiedene Entwicklungsdokumente, allen voran natürlich Quellcode und Spezifikationen, aber auch Vertrag, Testdokumente u. a. können Analysegegenstand sein.

Reviews gehören zu den

effektivsten QS-Maßnahmen.

In der Regel sind Reviews die einzige Möglichkeit, die Semantik von Dokumenten (»ergibt das eigentlich Sinn?«) zu überprüfen. Kein Test- oder Codeanalysewerkzeug wird je eine Antwort auf diese Frage geben können. Aber gerade solche »sinnlosen« Fehler in den frühen Entstehungsphasen von Software sind später nur mit erheblichem Aufwand zu beseitigen.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x