www.wikidata.de-de.nina.az
Software Zuverlassigkeit ist definiert als Wahrscheinlichkeit der fehlerfreien Funktion eines Computerprogramms in einer spezifizierten Umgebung in einer spezifizierten Zeit 1 Damit gehort Software Zuverlassigkeit zu den objektiven messbaren oder schatzbaren Kriterien der Softwarequalitat und gehort somit zu den Software Metriken Die Metriken fur Zuverlassigkeit von Software basieren im Prinzip auf Fehlerhaufigkeiten relativ zur Anzahl der ausgefuhrten Testfalle Grundsatzlich werden statistische Analysen auf der Basis von umfangreichen Tests durchgefuhrt In der Theorie gibt es jedoch auch Techniken die von der statischen Analyse des Computerprogramms oder von dessen Modell ausgehen 2 Inhaltsverzeichnis 1 Testfalle 2 Regression und Wiederholung 3 Testautomatisierung 4 Anmerkungen zum Entwurfsprozess 5 Test als Teil der Integration 6 Siehe auch 7 EinzelnachweiseTestfalle BearbeitenRelevante Testfalle hangen vom Fokus und von der Granularitat der Software Under Test SUT ab Sub Systemtest Black Box Verfahren ermitteln ohne Ansehen des Designs oder der Realisierung aus dem Lastenheft typische Testfalle wobei Randwerte und unplausible Werte eine besondere Bedeutung haben Weiterhin konnen Stresstests unter den Gesichtspunkten der Mengengeruste und der Geschwindigkeit durch Testfalle durchgefuhrt werden Komponenten bzw Integrationstest Die hier ermittelbaren Testfalle zielen auf die Ansteuerung aller Schnittstellen zwischen Komponenten ab Mittels Model based testing konnen hierfur Testfalle fur alle Schnittstellen und Subsysteme systematisch aus dem Modell abgeleitet werden Unittests White Box Verfahren analysieren die Realisierung von Units und leiten Testfalle im Hinblick auf Extremwerte Funktionen und eine hohe Branch oder gar Pfad Abdeckung ab Neben dem Testfall an sich ist dem jeweils zugehorigen Akzeptanzkriterium besondere Aufmerksamkeit zu widmen Die Akzeptanz muss in jedem Fall auf die zugehorige Spezifikation bezogen sein da ansonsten systematische Inkonsistenzen zwischen Testfallen und Software Spezifikation auftreten konnen Regression und Wiederholung BearbeitenUm statistische Aussagen fur eine Metrik zu erhalten ist eine hohe Anzahl verschiedener Testfalle und die wiederholte Durchfuhrung von Regressionstests notwendig Werden die Testfalle wiederholt ausfuhrt ist eine systematische jedoch mit dem Testfall unkorrelierte Variation der Umgebungsbedingungen wichtig denn bei exakt identischen Umgebungsbedingungen wird wegen der Determiniertheit von Software stets das identische Ergebnis auftreten Bei hinreichender System Komplexitat ist die Determiniertheit jedoch schnell blosse Theorie und die Wiederholung mit unabhangig variierender Umgebung bringt signifikante Ergebnisse Testautomatisierung BearbeitenUm die Vielzahl von Tests uberhaupt praktikabel durchfuhren zu konnen benotigt der Tester eine Testautomatisierung auf der Ebene von System und Items bis zur Verfeinerung auf Software Units Zuverlassigkeitstests auf einer System Ebene sind nur dann sinnvoll wenn die Items der nachsten statischen Verfeinerung Subsysteme Komponenten Units schon zuvor auf Zuverlassigkeit getestet wurden Dazu mussen Entwickler den Testern fur jede Ebene separat Testumgebung Testtreiber und Testfalle bereitstellen Insofern ist Zuverlassigkeit ein aufwandigeres Ziel als die reine Gefahrdungsfreiheit Safety Anmerkungen zum Entwurfsprozess BearbeitenDer Entwurfsprozess sollte unbedingt die Moglichkeit vorsehen das Lastenheft und andere Spezifikationen der konstruktiven Seite im Hinblick auf vorhandene Akzeptanzkriterien von Testfallen zu verfeinern da die Praxis zeigt dass sich scheinbare Fehler lediglich aus ungenauen oder inkonsistenten Anforderungen ergeben Aus diesem Grund wird der Prozess der Formulierung von Testfallen und Akzeptanzkriterien regelmassig eine Prazisierung der jeweiligen Spezifikation erforderlich machen Test als Teil der Integration BearbeitenTechnisch konnen automatisierte Tests als Teil der Software Integration sukzessive eingebaut werden Dabei wird in die Integrationsskripten build makefile der Software Integration ein Testprotokoll als target etabliert das aus dem Aufruf des Testgenerators der zu testenden Zwischen Artefakte OBJ lib OCX DLL JAR sowie den Testfallen abgeleitet ist Die Regressionstests auf Systemebene sollten aus Grunden der Rechenzeit allerdings entweder abgespalten oder parallelisiert werden Dabei ware das Produkt System bereits wahrend der noch laufenden Regressionstests technisch verfugbar Siehe auch BearbeitenEntwicklungsstadium Software Einzelnachweise Bearbeiten J D Musa A Iannino K Okumoto Engineering and Managing Software with Reliability Measures McGraw Hill 1987 Doron Peled Software reliability methods Springer Verlag 2001 ISBN 0 387 95106 7 Abgerufen von https de wikipedia org w index php title Software Zuverlassigkeit amp oldid 188085864