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

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

Интервал:

Закладка:

Сделать

Testautomatisierung ist Pflicht.

Damit Testfälle für einen Regressionstest wiederverwendet werden können, müssen sie wiederholbar sein. Der Nutzen einer Testautomatisierung beim Regressionstest ist also ganz erheblich.

nachgelagerte Teststufen: Test nach

Weiterentwicklung und Änderung

Ist die Software einmal fertiggestellt, kann sie viele Jahre im Einsatz sein. In dieser Zeit finden Fehlerkorrekturen, Änderungen und Erweiterungen statt. Im Folgenden wird die Vorgehensweise beim Test in dieser letzten Phase des Lebenszyklus vorgestellt.

Testen nach Software­-

wartung und -pflege

Die in der Nutzungsphase einer Software eingepflegten Erweiterungen und Korrekturen werden im Rahmen einer Softwarewartung und -pflege einem spezifischen Wartungstest unterzogen. Von Softwarewartung wird gesprochen, wenn Fehlerzustände eliminiert werden, die schon immer im Code enthalten waren. Die Softwarepflege hingegen bezeichnet das Anpassen einer Software an geänderte Einsatzbedingungen, z. B. an ein neues Betriebssystem.

Welche Testfälle sind bei Software-

wartung auszuführen?

Bei der Softwarewartung, also dem Test nach Fehlerbehebung, sind in erster Linie alle Testfälle auszuführen, die in der Vorversion im Testergebnis Fail resultiert und die betreffende Fehlerwirkung gezeigt haben. Wurden Fehlerzustände behoben, die nicht durch Testfälle aufgefallen waren, sind entsprechende Testfälle zu ergänzen. Oft lässt es sich aber nicht vermeiden, bei einer Fehlerkorrektur auch das nicht auffällige Verhalten der modifizierten Software zu verändern. Dies kann absichtlich oder unbeabsichtigt erfolgen – zumindest für die bekannten Veränderungen sind entsprechend Testfälle zu ergänzen. Zusätzlich müssen aus den vorhandenen Testfällen diejenigen wiederholt werden, die aufzeigen können, dass die nicht modifizierten Anteile der betroffenen Komponente noch immer spezifikationskonformes Verhalten aufweisen.

Hotfix für dringende Fälle außerhalb

der Wartungsmaßnahmen

Nicht selten treten beim Einsatz einer Software in der Produktivumgebung Fehlerwirkungen auf, die einer sofortigen Beseitigung bedürfen und nicht bis zur nächsten Wartungsmaßnahme warten können. Die erforderliche Notlösung wird als Hotfix bezeichnet und ist in der Kürze der Zeit oft keine ausgereifte Fehlerbeseitigung. Auch die Absicherung wird im Interesse einer schnellstmöglichen Zurverfügungstellung des Hotfix nur reduziert absolviert. Die gründliche Absicherung der Maßnahme muss dann im Nachgang so schnell wie möglich nachgeholt werden.

Wartung darf kein Vorwand sein

für Einsparungen beim Test.

Aus der Tatsache, dass im Rahmen ohnehin erfolgender Wartungsmaßnahmen eine erneute Absicherung vorgesehen ist, darf allerdings nicht abgeleitet werden, dass bei der Erstentwicklung an der Absicherung gespart werden darf. Wer so handelt, ist sich der Kosten und Risiken von Softwarefehlern nicht bewusst.

Softwarepflege

Von Softwarepflege wird gesprochen, wenn die Software an geänderte Einsatzbedingungen, z. B. bedingt durch ein neues Betriebssystem, angepasst werden muss. Neben funktionalen Tests und obligatorischen Akzeptanztests sind dann auch die inneren Qualitätsmerkmale und nichtfunktionalen Eigenschaften wie Performance und Ressourcenbedarf in der neuen Umgebung abzusichern.

Testen nach Weiterent-

wicklung der Software

Außer den oben erwähnten Wartungsmaßnahmen sieht ein Software-Lebenszyklus oft auch eine funktionale Weiterentwicklung vor, um das Produkt wettbewerbsfähig zu halten oder den Kundenkreis zu erweitern. Neue Softwareversionen werden entwickelt. Im Zuge der Aufwandsreduktion werden Weiterentwicklungen oft mit ohnehin geplanten Wartungsmaßnahmen synchronisiert. Bei Auswahl und Design der hierbei vorzusehenden Testfälle ist natürlich besonderes Augenmerk auf die neu ergänzte Funktionalität zu richten. Im Zuge eines Regressionstests ist zu prüfen, ob die vorhandene, unveränderte Funktionalität versehentlich beeinträchtigt wurde. Je strikter die Softwarearchitektur in einem Entwicklungsprojekt von Beginn an eingehalten wurde, desto unproblematischer kann die Software in ihrem Lebenszyklus erweitert werden. In Extremfällen kann eine Neuimplementierung günstiger sein als eine Weiterentwicklung.

3.5 Testprozess und Testaktivitäten

die Tücken des unstruk-

turierten Testens

Ein gut strukturierter Testprozess mit klar aufeinanderfolgenden Testaktivitäten und definierten Schnittstellen ist eine unabdingbare Voraussetzung für effizientes Testen. Nichts ist ineffizienter, als ohne konkreten Plan »einfach mal anzufangen« mit dem operativen Testbetrieb. Die Erfahrung zeigt, dass der unstrukturierte Tester zu Beginn den Eindruck hat, schnellen Fortschritt zu machen, dann aber – auch bei hohen Aufwänden – ein gewisses Reifegrad-Level nie überschreitet. Der Test ist geprägt durch Testlücken sowie hohe ungewollte Redundanz und damit potenziell ineffizient. Das Ergebnis bleibt dann auch weit hinter einem methodischen Vorgehen zurück. Trotz schneller Anfangserfolge erfüllt der unstrukturierte Tester im Endergebnis bei vergleichbaren Aufwänden die Erwartungen nur in den seltensten Fällen. Darüber hinaus ist es häufig so, dass der Reifegradverlauf eines Softwareentwicklungsprojekts einen erratischen Charakter aufweist und in keiner Weise plan- oder prognostizierbar ist. Jederzeit ist mit teilweise dramatischen Rückschlägen in der Qualität zu rechnen – dies ist vor allem in der Endphase des Entwicklungsprojekts nicht hinnehmbar. Es ist daher essenziell, einem Testprozess zu folgen und dabei gewissen Grundregeln der Testableitung, -durchführung und -evaluierung zu folgen. Dieser Testprozess weist in der Regel einen projektspezifischen Charakter auf.

Im Folgenden wird ein generischer Testprozess mit seinen Testaktivitäten aufgezeigt. Auch wenn nicht im Detail immer exakt genauso gearbeitet werden kann, geht aus der Darstellung hervor, worüber man sich im Vorfeld Gedanken machen sollte – noch bevor der erste Test durchgeführt wird. Wie in Abb. 3-16 zu sehen, besteht ein systematischer, gut strukturierter Testprozess aus fünf Hauptaktivitäten: Testplanung, Testspezifikation, Testimplementierung, Testausführung und Testevaluierung. Von besonderer Bedeutung in der Praxis – da oft zu wenig beachtet – sind die beiden ersten Schritte.

Abb 316 Übersicht Testprozess und Testaktivitäten 351 Testplanung Die - фото 77

Abb. 3-16: Übersicht Testprozess und Testaktivitäten

3.5.1 Testplanung

Die Testplanung beginnt bereits während der Systemspezifikationsphase, also während das spätere SUT selbst spezifiziert wird.

Testziele festlegen

In der Testplanung werden die wesentlichen Testziele festgelegt: Welche Qualitätseigenschaften sollen geprüft werden? Diese Testziele können z. B. aus den Qualitätsmerkmalen für Software abgeleitet werden.

Risikoeinschätzung vornehmen

Ferner ist in der Testplanung bereits eine Risikoeinschätzung für das SUT vorzunehmen. Welches Risikolevel weist das System auf? Wie sicherheitskritisch ist es?

Welche Metriken sollen

zum Einsatz kommen?

Wichtig ist auch die Vereinbarung, welche quantitativen Metriken beim Test zum Einsatz kommen sollen: Wie soll die Testüberdeckung gemessen werden, was ist das Testende-Kriterium? Hier könnte man sich z. B. eine verbleibende Fehlerfindungsrate unter einem bestimmten vorgegebenen Wert, die Überdeckung bestimmter Strukturmerkmale im Code oder die Abdeckung eines spezifizierten Anteils der Anforderungen im zugrunde liegenden Lastenheft vorstellen.

Teststrategie festlegen und

Ressourcen sicherstellen

Gegenstand der Testplanung ist aber auch die Festlegung der grundsätzlichen Teststrategie: Welche Testmethoden (von denen wir im weiteren Verlauf dieses Buchs noch viele kennen lernen werden) sollen zum Einsatz kommen? Ganz wesentlich ist auch eine Aufwandsabschätzung für den Testprozess sowie eine Termin- und Ressourcenplanung.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x