Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete.

Ähnliche Präsentationen


Präsentation zum Thema: "Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete."—  Präsentation transkript:

1 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete Eingabewerte zur Testdurchführung. Die Menge aller für einen einzelnen Test notwendigen Eingabewerte wird üblicherweise als Testfall bezeichnet. Folgende Verfahren zur Eingabewert- bzw. Testfallbestimmung können auf Basis der Produkt-Definition unterschieden werden: funktionale Äquivalenzklassenbildung, Grenzwertanalyse, Tests spezieller Werte, Zufallstests

2 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Äquivalenzklassenbildung Die Definitionsbereiche der Eingabeparameter und die Wertebereiche der Ausgabeparameter werden in Äquivalenzklassen zerlegt. Es wird davon ausgegangen, dass ein Programm bei der Verarbeitung eines Repräsentanten aus einer Äquivalenzklasse so reagiert, wie bei allen anderen Werten aus dieser Äquivalenzklasse. Eigenschaften Basierend auf der Programmspezifikation werden Äquivalenzklasse der Eingabewerte gebildet.Dadurch wird sichergestellt, dass alle spezifizierten Funktionen mit Werten aus der ihnen zugeordneten Äquivalenzklasse getestet werden.Außerdem wird eine Beschränkung der Testfallanzahl erreicht. Aus den Ausgabewertebereichen können ebenfalls Äquivalenzklasse erstellt werden. Für diese Äquivalenzklasse müssen jedoch Eingabengefunden werden, die die gewünschten Ausgabewerte erzeugen. Als Repräsentant für einen Testfall wird irgendein Element aus der Äquivalenzklasse ausgewählt.

3 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Grenzwertanalyse Ziel Erfahrungen haben gezeigt, dass Testfälle, die die Granzwerte der Äquivalenzklassenabdecken oder in der unmittelbaren Umgebung dieser Granzen liegen, besonders effektiv sind, besonders häufig Fehler aufdecken. Bei der Granzwertanalyse wird daher nicht irgendein Element aus der Äquivalenzklasse als Repräsentant ausgewählt, sondern ein oder mehrere Elemente werden ausgesucht, so dass jeder Rand der Äquivalenzklasse getestet wird. Die Annäherung an die Granzen der Äquivalenzklasse kann sowohl vom gültigen als auch vom ungültigen Bereich aus durchgeführt werden. Eigenschaften –Eine Grenzwertanalyse ist nur dann sinnvoll, wenn die Menge der Elemente, die in eine Äquivalenzklasse fallen, auf natürliche Weise geordnet werden kann. –Bei der Bildung von Äquivalenzklasse können wichtige Typen von Testfällen übersehen werden. Durch die Grenzwertanalyse kann dieser Nachteil von Äquivalenzklasse teilweise reduziert werden.

4 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Tests spezieller Werte Unter dem Oberbegriff Test spezieller Werte (special values testing) werden eine Reihe von Testverfahren zusammengefasst, die für die Eingabedaten selbst oder für von den Eingabedaten abhängige Aspekte bestimmte Eigenschaften fordern. Ziel Ziel dieser Testansätze ist es, aus der Erfahrung heraus fehlersensitive Testfälle auszustellen. Die Grundidee ist, eine Liste möglicher Fehler oder Fehlersituationen aufzustellen und daraus Testfälle abzuleiten. Meist werden Spezialfälle zusammengestellt, die unter Umständen auch bei der Spezifikation übersehen wurden. Eigenschaften –Die richtige Auswahl der zu testeten Werte erfordert viel Problemverständnis. Daher vor allem in Kombination mit anderen Verfahren anzuwenden.

5 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Zufallstests Der Zufallstest ist ein Testverfahren, das aus dem Wertebereich der Eingabedaten zufällig Testfälle erzeugt. Damit das Verfahren angewandt werden kann, müssen die Datentypen und die Datenstrukturen der Eingabedaten bekannt sein. Diese Informationen können entweder aus der Spezifikation oder der Implementierung des Prüflings entnommen werden. Ziel Durch Testfälle Überdeckung aller Zustandsübergänge, das mindestens einmalige Durchlaufen aller Zustandsübergänge. Eine minimale Teststrategie ist die mindestens einmalige Abdeckung aller Zustände durch Testfälle. Eigenschaften Die Überdeckung aller Zustandsübergänge garantiert keinen vollständigen Test (analog wie bei der Zweigüberdeckung). Es gibt noch keine gesicherten Aussagen darüber, wann ein Zustandsautomat ausreichend getestet ist, das Testendekriterium ist noch unklar. Zum Nachvollziehen der Testsequenzen ist es erforderlich, das Programm vorher zu instrumentieren.

6 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Kriterien für die Auswahl von Eingabewerten An der Spezifikation (hier in UML) orientierte Äquivalenzklassenbildung, so dass für alle Werte einer Äquivalenzklasse sich das Softwareprodukt gleich verhält: Unterteilung in gültige und ungültige Eingabewerte gesonderte Betrachtung von Grenzwerten (z.B. Anfang und Ende von Intervallen) Auswahl von Repräsentanten so, dass jede Variante jedes Sequenz- und Kollaborationsdiagramms (Aktivitätsdiagramms) einmal durchlaufen wird Auswahl von Repräsentanten so, dass jede Transition jedes Statecharts (des Produktautomaten bei an-Zuständen) mindestens einmal schaltet Achtung: Auswahl von Eingabewerten schwierig für Objekte als Operationsparameter, z.B. Äquivalenzklassenbildung mit: nil-Objekt, Objekt einer falschen Klasse, Objekt in bestimmtem Zustand oder mit bestimmten Attributwertkombinationen,...)

7 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Funktionstest Funktionstests prüfen Implementierung gegen ihre Spezifikation und lassen die interne Programmstruktur unberücksichtigt: Komplementär zu bislang vorgestellten White-Box-Verfahren für Abnahmetest ohne Kenntnis des Quellcodes geeignet setzt (eigentlich) vollständig und widerspruchsfreie Spezifikation voraus repräsentative Eingabewerte/Szenarien müssen ausgewählt werden (man kann i.a. nicht alle Eingabekombinationen testen) –Sequenzdiagramme aus Anwendungsfällen (use cases) beschreiben wichtige Testfälle man braucht Fachwissen oder Orakel für Überprüfung der Korrektheit der Ausgaben –ausführbare Statecharts als Orakel verwenden

8 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Leistungstests Mit Leistungstests wird die Erfüllung der Leistungsanforderungen untersucht. Leistungsanforderungen können sich auf die vom System verarbeitbaren Datenmengen oder gegebene Zeitrestriktionen, wie beispielsweise maximale Antwortzeiten, beziehen. Massentests dienen zur Überprüfung der vom System maximal verarbeitbaren Datenmengen. Die Einhaltung von Zeitrestriktionen wird mit Hilfe von Zeittests festgestellt. Zur Überprüfung des Systemverhaltens im zulässigen Grenzbereich werden Lasttests eingesetzt. Wurden die Massen- und Zeittests bereits im Grenzbereich durchgeführt, so sind die betreffenden Lasttests bereits in den Massen- und Zeittests enthalten. Je nach Anwendungsfall und festgelegten Anforderungen beinhalten Lasttests auch die Überprüfung des Systemverhaltens in Situationen wie dem Ausfall einer Hard- oder Softwarekomponente, dem Erreichen der maximal zulässigen Benutzerzahl oder dem Eintreffen von ungewöhnlichen oder unzulässigen Eingabedaten. Das Systemverhalten bei Überschreiten der festgelegten Leistungsgrenzen wird mit Hilfe von Stresstests untersucht. Mögliche Fragestellungen von Stresstests sind beispielsweise das Systemverhalten bei Überlast und/oder anschließendem Rückgang auf Normallast.

9 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Sicherheitskritische Software Ein wichtiger Aspekt in der sicherheitskritischen Software- Entwicklung ist die Konsistenzprüfung. Jede definierte Anforderung muss in jeder nachfolgenden Phase des Entwicklungsprozesses bis zur Realisierung referenziert werden können. Anforderungen werden im Entwicklungsprozess definiert, referenziert, realisiert, verfeinert und geprüft. In Verbindung mit der jeweiligen Entwicklungsphase wird ein Verfolgungsdiagramm aufgespannt.

10 Universität Stuttgart Institut für Kernenergetik und Energiesysteme Verfolgungsdiagramm Quelle IFE (2002) 17: aktiviereNotbremse phase= Analyse type of reference = Definition safety= hoch aktiviereNotbremse phase = Entwurf type of reference = Referenz safety= hoch aktiviereNotbremse phase = Implementation type of reference = Realisierung safety = hoch aktiviereNotbremse phase = Modultest type of reference = Test safety = hoch aktiviereNotbremse phase = Integrationstest type of reference = Test safety = hoch aktiviereNotbremse phase = Systemtest type of reference = Test safety = hoch


Herunterladen ppt "Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete."

Ähnliche Präsentationen


Google-Anzeigen