Seminararbeit Blackbox-Testverfahren Alexander Maas, Aachen, 15.01.2014.

Slides:



Advertisements
Ähnliche Präsentationen
Temporale Logiken: LTL und CTL
Advertisements

Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Frame-Logik Eine Einführung Andreas Glausch.
Qualitätssicherung von Software (SWQS)
Frozen Development in Graph Coloring
Kapitel 7 State-Machines/Zustandsautomaten
8 Behandlung von Begriffen 8.1 Grundlagen aus Logik und Psychologie
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Objektorientierte Analyse (OOA) Inhaltsübersicht
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Qualitätssicherung von Software
Dynamische Testverfahren
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testfallbestimmung Dynamische Testverfahren wie das Black Box-Testen benötigen konkrete.
Erfahrungen aus Tests komplexer Systeme
Funktionalität Vorhandensein vor Funktionen mit festgelegten Eigenschaften. Diese Funktionen erfüllen die definierten Anforderungen. Richtigkeit - Liefern.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Spielbäume Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Parser für CH3-Sprachen
Formale Sprachen – Mächtigkeit von Maschinenmodellen
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Union-Find-Strukturen
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Agenda Einführung Haskell QuickCheck Zusammenfassung
7.4 State-based Test Design Nils Foken. Steuerungsfehler fehlende / falsche Transition fehlendes / falsches Ereignis fehlende / falsche Aktion zusätzlicher.
Grundlegende Analysen & Zwischendarstellungen
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
Teil I - Erstellen einer Excel-Tabelle zur Deckungsbeitragsrechnung
Jeder will doch Software Ingenieur werden… oder etwa nicht ??!! Adrian Wirz.
Christian Schindelhauer
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Modellierung von Baumstrukturen mit einem einzigen Polygonnetz
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses
Tutorium
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
Bewertung von Streubildern
EXCEL PROFESSIONAL KURS
ReSy4 Das schlanke System für Ihre Rezepturen
Flexible Datenstrukturen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Hartmut Klauck Universität Frankfurt SS
Analyse von Ablaufdiagrammen
Wasserfallmodell und Einzelbegriffe
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Wie Ihre Geschäftsidee Realität wird von Martin Schulte
Blackbox-Testverfahren
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Softwareengineering Endliche Automaten
Analyse der Laufzeit von Algorithmen
Unified Modeling Language UML
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Dr.-Ing. R. Marklein - GET I - WS 06/07 - V Grundlagen der Elektrotechnik I (GET I) Vorlesung am Fr. 08:30-10:00 Uhr; R (Hörsaal)
(Syntax, Strings/Zahlen, Variablen, Arrays)
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Software - Testung ETIS SS05.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Clusteranalyse Wege und Arten Entstanden im Rahmen der Seminararbeit für WS09/10 Betreuer: Prof. Jobst Hoffmann Dr. Tim Hiddemann Aachen, Januar 2010.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Automatentheorie Jendrik und Jeyhannes. Allgemeines Modelle mit Zuständen, die Eingaben annehmen und Ausgaben erstellen Endliche Automaten Auch Zustandsmaschine.
REKURSION + ITERATION.
Wahlteil 2014 – Analysis A 1 Aufgabe A 1.1
 Präsentation transkript:

Seminararbeit Blackbox-Testverfahren Alexander Maas, Aachen,

| Folie 2 1.Einleitung 2.Funktionsorientierte Testverfahren 3.Anwendung funktionsorientierter Testverfahren 4.Zustandsbasierte Testverfahren 5.Anwendung zustandsbasierter Testverfahren 6.Fazit Inhaltsverzeichnis

| Folie 3 1. Einleitung  Ausbildender Betrieb: SOPTIM AG  IT-Lösungen im Bereich der Energiewirtschaft  Individuallösungen & Produkte & Beratung für alle Bereiche  u.a. das Produkt SE:Sales unterstützt den Energievertrieb, wie z.B. das Kalkulieren von Angeboten  ca. 300 Mitarbeiter  Standorte: Aachen, Essen, München, Deisswil (Schweiz)

| Folie 4 1. Einleitung  Ziel: Guide für Tester  Blackboxtests beinhalten funktionsorientierte und zustandsbasierte Testverfahren  Mögliche zusätzliche Eingaben aus der objektorientierten Programmierung  Objektattribute  dynamische Listen  Abgrenzung zu Whiteboxtests  Fokus auf Ein-/Ausgabewerte  Testen gegen die Spezifikation  Struktur des Codes und Interna sind unbekannt

| Folie 5 2. Funktionsorientierte Testverfahren

| Folie 6 2. Funktionsorientierte Testverfahren  Testaufbau nach dem EVA-Prinzip  Hohe Testabdeckung durch unterschiedlichste Eingaben  Spezifikation definiert Gültigkeit der Werte  Ungültige Werte werden separat getestet  Prüfung der Ausgabe durch Soll-Ist-Vergleich  Abhängigkeiten von Werten müssen berücksichtigt werden 2.1 Allgemeines

| Folie 7 2. Funktionsorientierte Testverfahren  Eine Äquivalenzklasse ist eine Gruppierung von Werten  Klassen mit ungültigen Werten heißen Fehlerklassen  Alle Äquivalenzklassen zusammen enthalten alle möglichen Werte für einen Parameter 2.2 Äquivalenzklassenbildung

| Folie 8 2. Funktionsorientierte Testverfahren  Numerische Werte werden durch Intervalle zusammengefasst  Bei Wertevorräten bzw. Aufzählungen ist jeder gültige Wert eine Äquivalenzklasse  Zeichenketten als reguläre Ausdrücke zusammenfassen  Randwerte betrachten Grenzen von Äquivalenzklassen  Grenzwerte bilden eigene Äquivalenzklassen  Stresswerte beinhalten „worst case“ Werte  Zum Testen Wert aus Klasse auswählen 2.2 Äquivalenzklassenbildung

| Folie 9 3. Anwendung funktionsorientierter Testverfahren

| Folie Anwendung funktionsorientierte Testverfahren  Bereich: Kalkulation im SE:Sales  Berechnung von Netzentgelten für Verbraucher  Der Graph einer Sigmoidfunktion beschreibt den Preis für Verbraucher 3.1 Spezifikation Verbrauch / Leistung in kWh Untergrenze Obergrenze Wendepunkt Halbwert Preis durch Sigmoidfunktion Preis in ct/kWh 0

| Folie Anwendung funktionsorientierte Testverfahren 3.2 Analyse  Zahlenbeispiel mit üblichen Werten:  Untergrenze: 0,12 €  Obergrenze: 0,18 €  Exponent: 1,0  Halbwert: 5,5 Mio. kW/h  Menge1: 1,56 Mio. kW/h (Jahresmenge)  Menge2: kW/h

| Folie Anwendung funktionsorientierte Testverfahren 3.2 Analyse  Objektstruktur  Liste ermöglicht dynamische Anzahl an Parametern  Andere Berechnungsverfahren sind möglich

| Folie Anwendung funktionsorientierte Testverfahren  Listengröße und Einheiten der Mengen haben keinen direkten Einfluss auf Funktionsergebnis  Listengröße  kann nur 0 oder größer sein  mindestens 1, maximal 2  0, 3+ ungültig  Einheiten  ist Zeichenkette aus Enumeration  drei gültige Einheiten, sonst ungültig  Bei zwei Mengen müssen die Einheiten gleich sein 3.3 Äquivalenzklassen – indirekte Parameter

| Folie Anwendung funktionsorientierte Testverfahren  für keinen Parameter negative Werte erlaubt  Randwertbetrachtung für Mengen bei 0  Randwertbetrachtung Obergrenze & Exponent bei 0  0 bei Halbwert nicht erlaubt 3.3 Äquivalenzklassen – direkte Parameter

| Folie Anwendung funktionsorientierte Testverfahren 3.3 Äquivalenzklassen – mathematische Sonderfälle

| Folie Anwendung funktionsorientierte Testverfahren 3.4 Testplanung

| Folie Anwendung funktionsorientierte Testverfahren 3.5 Codebeispiel

| Folie Zustandsbasierte Testverfahren

| Folie Zustandsbasierte Testverfahren  Wesentlicher Unterschied: Funktion hat „Gedächtnis“  Relevant sind Kontext und vorherige Ausführungen der Funktion  Bei gleicher Eingabe kann es unterschiedliche Ausgaben geben  Funktion hat unterschiedliche Zustände & Zustandsübergänge  Kein EVA-Prinzip 4.1 Allgemeines

| Folie Zustandsbasierte Testverfahren 4.1 Allgemeines Startzustand Zwischenzustand Endzustand Ereignis Aktion Ereignis Aktion Ereignis

| Folie Zustandsbasierte Testverfahren  Erzeugung von Testfällen durch Darstellung des Zustandsautomaten in einem Baum  Vom Ausgangszustand möglichen Zustandsübergängen folgen bis es keine Übergänge mehr gibt oder man an einem bekannten angekommen ist  Zusätzliches Testen von  explizit in der Spezifikation verbotenen Übergängen  im Zustandsautomaten nicht eingezeichneten Übergängen 4.2 Testvorgehen

| Folie Anwendung zustandsbasierter Testverfahren

| Folie 23  Im SE:Sales lassen sich Netzparameter einer Messstelle pflegen  Commodity der Messstelle ist Strom oder Gas  Über eine Combobox ist das Bilanzierungsverfahren wählbar  Unterschiedliche Bilanzierungsverfahren je nach Commodity  Unterschiedliche zusätzliche Felder je nach Bilanzierungsverfahren  Logik befindet sich im Präsentationsmodell der GUI 5. Anwendung zustandsbasierte Testverfahren 5.1 Spezifikation

| Folie 24  Beispiel-Vergleich der Oberfläche bei unterschiedlichen Bilanzierungsverfahren 5. Anwendung zustandsbasierte Testverfahren 5.1 Spezifikation

| Folie Anwendung zustandsbasierte Testverfahren 5.2 Zustandsautomat

| Folie 26  Vorgehen wie in den Grundlagen beschrieben  Von Ausgangszustand Zustandsübergängen folgen  Durch Möglichkeit die Commodity jederzeit zu ändern, sind sehr viele Testfälle möglich  Erstellung eines Baums zum Ermitteln der Testfälle 5. Anwendung zustandsbasierte Testverfahren 5.3 Testfallerzeugung

| Folie 27 Gas-Messstelle Strom-SLP- Messstelle Strom-Messstelle Gas- SLP- Messstelle Gas- RLMmT- Messstelle Strom-Messstelle Strom- SLP-S- Messstelle Strom- SLP-G- Messstelle Strom- RLM- Messstelle Gas- RLMoT- Messstelle Ansichtprüfung

| Folie 28 Verbesserung: Strom-SLP- Messstelle Strom-Messstelle Ansicht- prüfung Strom- SLP-S- Messstelle Strom- SLP-G- Messstelle Strom-RLM- Messstelle Bilanzierungs- verfahren (z.B. SLP) Gas- Messstelle Ansicht- prüfung

| Folie Anwendung zustandsbasierte Testverfahren 5.3 Codebeispiel

| Folie Fazit

| Folie Fazit  Transfer der Testverfahren von imperativer zu objektorientierter Programmierung  Funktionsorientierte Tests benötigen Äquivalenzklassen  mögliche Kombinationen identifizieren  Zustandsbasierte Tests benötigen Zustandsautomaten und -bäume  Arbeit dient als How-To für Tester  Testimplementierungen als Beispiel  Ausblick:  zustandsbasierte Tests lassen sich noch detaillierter untersuchen (Stichwort: bedingte Zustandsübergänge)

| Folie 32 Vielen Dank für Ihre Aufmerksamkeit!

| Folie 33 Quellen  Ausarbeitung der Seminararbeit    praxis/ praxis/ 