SEMINARVORTRAG Von Jonas Robers METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN.

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Prüfung objektorientierter Programme -1
Integrations- und Funktionstests im Rahmen des V-Modelles
Submodell Softwareentwicklung (SE)
Phasen und ihre Workflows
Von David Keß, Heinrich Wölk, Daniel Hauck
Das „Vorgehensmodell“
Microsoft Dynamics NAV-Themenfolien
Software-Lebenszyklus
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Konzeption und Realisierung eines Software Configuration Management Systems Autor: Alex Rempel Referent: Prof. Dr. Elke Hergenröther Korreferent: Prof.
Dynamische Testverfahren
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
LE LM 10 - LO3 Verfahren zur Qualitätssicherung
Was ist und wie prüft man Qualität
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE 3.2- LM 8 - LO 9 Definitionen zu LM 8.
Erfahrungen aus Tests komplexer Systeme
Was ist Qualität ? Qualität von Produkten oder Dienstleistungen ist das Gesamtergebnis aller Aktivitäten in jeder Phase des gesamten Leistungsprozesses.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme System- und Abnahmetests Inhalt Testen des Systems unter Mitwirkung des Auftraggebers.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Testen, Analysieren und Verifizieren von Software
Rational Unified Process (RUP) - Definitionen
Der Testprozess als Bestandteil des SE Prozesses:
Entwicklung von Benutzerschnittstellen
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
Vortrag 11: Reengineering - Refactoring
eXtreme Programming (XP)
OO Analyse und Entwurf für Anwender
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
UML Begleitdokumentation des Projekts
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering WS 2009
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Das Pflichtenheft Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth
Gegenstand EDV Thema: Informative Webseiten
Das Redaktionssystem der APA
Prototypentwicklung für ein Testmanagementsystem
Agenda 13: Begrüßung & Einführung in das Thema
Strukturierter Entwurf (und Realisierung)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Wilhelm Klein, März 2010 Entwickeln mit Methode Projekt Manager Projektplanung Steuerung und Kontrolle Bereitstellung (Hardware und Software) Qualitätssicherung.
Wasserfallmodell und Einzelbegriffe
HFWI System Development Teil B Der Softwareentwicklungsprozess
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Rational Unified Process
Software Engineering Grundlagen
Testvorbereitungen, Unit Test
Unit Testing Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Planung von Softwareprojekten WS 2014/15 Christoph Stollwerk.
Datenbanken im Web 1.
Test-Driven Development
Software - Testung ETIS SS05.
Performanz- und Lasttests Formale Methoden
Semesterprojekt Präsentation Thema 1 Test-Arten
Formale Methoden Semesterprojekt Präsentation Thema 1 Test-Arten Fernstudium Master WI, MWI 10F Jan te Kock,
Testsysteme für Automatisierte Softwaretests Seminarvortrag von Rica Wedowski.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
© WZL/Fraunhofer IPT Entwicklung einer Profilbörse für Konfigurationen von Smartphones Vortrag der Seminararbeit von Patrick Posor Aachen, den
Vehicle Simulation Kit. CAE Elektronik GmbH Confidential and/or Proprietary Information 2 Gliederung Einleitung Aufbau einer Simulation Legacy-Methode.
Software-Delivery auf Knopfdruck IBM Cloud & DevOps.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
 Präsentation transkript:

SEMINARVORTRAG Von Jonas Robers METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN

CAE Elektronik Proprietary Information and/or Confidential Inhalt Übersicht METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 2 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit

CAE Elektronik Proprietary Information and/or Confidential Motivation Ausgangslage Hauptsächlicher Testaufwand bei GESI sind Tests der Benutzeroberflächen Ablauf: 1.Erstellung eines ATM zur Spezifikation von zu erfüllenden Funktionen 2.Entwicklung eines Features durch den Entwickler 3.Tests durch ein Test-Team anhand des ATM und der Dokumentation des Entwicklers In der Regel mit Python geschriebene Squish-Tests, welche die Oberflächen der Simulation auf korrekte Funktionalität prüfen METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 3

CAE Elektronik Proprietary Information and/or Confidential Motivation Warum testet man? Irren ist menschlich! Fehler kosten Geld! METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 4

CAE Elektronik Proprietary Information and/or Confidential Inhalt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 5 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit Wasserfallmodell Das V-Modell Testverfahren Agile Testverfahren

CAE Elektronik Proprietary Information and/or Confidential Softwareentwicklung Wasserfallmodell 1. Planung2. Definition und Entwurf3. Implementierung4. Testen5. Einsatz und Wartung METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 6

CAE Elektronik Proprietary Information and/or Confidential Softwareentwicklung Das V-Modell METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 7 1. Planung 2. Definition und Entwurf 3. Implementierung 4. Testen 5. Einsatz und Wartung

CAE Elektronik Proprietary Information and/or Confidential Softwareentwicklung Testverfahren Unit-/ KomponententestsIntegrationstestsSystemtests Abnahme- /Regressionstests METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 8 Endprodukt Tests der kleinsten Einheiten bei OOP -> Klassen Jede Einheit für sich und unabhängig von anderen In Iterationen ausgeführt Entwicklungsprozess Tests des Zusammenspiels von Komponenten Korrekte Interaktion und korrekter Austausch von Daten Paralleler Zugriff auf gemeinsam genutzte Speicher und Datenbanken Zusammenspiel mit Komponenten anderer Software Tests des System als Ganzes Unter möglichst realistischen Bedingungen Anforderungen des Kunden gesondertes Testteam Systemtests mit Beteiligung des Kunden Verwendbarkeit Sorgen für die Entscheidung des Kunden Alpha- und Betatests

CAE Elektronik Proprietary Information and/or Confidential Softwareentwicklung Agile Testverfahren METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 9 Manifest für Agiles Softwaretesten Wir, die in agilen Projekten testen, nehmen die Verantwortung an, zur Entstehung fehlerarmer und hochwertiger Software beizutragen. Dabei haben wir diese Werte schätzen gelernt: Konstruktives Verhältnis zwischen allen Teammitgliedern mehr als Test- Prozesse und Test-Werkzeuge Getestete Software mehr als umfassende Test-Dokumentation Zusammenarbeit mit dem Kunden mehr als formale Abnahmetests am Projektende Reagieren auf Veränderung mehr als das Befolgen eines Test-Plans Das heißt: die Prinzipien auf der rechten Seite haben ihren Wert. Dennoch erachten wir die Prinzipien auf der linken Seite als wertvoller.

CAE Elektronik Proprietary Information and/or Confidential Softwareentwicklung Agile Testverfahren METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 10

CAE Elektronik Proprietary Information and/or Confidential Inhalt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 11 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit

CAE Elektronik Proprietary Information and/or Confidential Ausgangslage und Anforderungen Anforderungen Simple Spezifikation der Testfälle, sodass auch Nicht-Entwickler diese verstehen können Der zusätzliche Aufwand soll sich in Grenzen halten Testautomatisierung möglich  wegen Squish-Tests vorzugsweise Python für die Testautomatisierung Schnittstellen für andere Programme (z.B. Subsets der Testfälle in ein ATM exportieren) Verbindung mit der IDE Eclipse METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 12

CAE Elektronik Proprietary Information and/or Confidential Inhalt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 13 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit Zeitpunkt Form Vergleich

CAE Elektronik Proprietary Information and/or Confidential Methoden der Testabwicklung Zeitpunkt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 14 Vom V-Modell bevorzugt Arbeit an der Software selbst kann früh begonnen werden Entwickler kann sich am Source code orientieren und Testfälle entsprechend aufstellen Von Agilen Testverfahren bevorzugt Man will Fehlern vorbeugen Testfälle für gewünschte Funktionen sollen aufgestellt werden Source code entwickeln und anpassen, bis Testfälle abgedeckt sind Vor der Implementierung Nach der Implementierung

CAE Elektronik Proprietary Information and/or Confidential Methoden der Testabwicklung Form METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 15 Kommentare im Source code oder in einem Textdokument Gedächtnisstützen für Entwickler Informationen für einen Tester Erfüllt den Zweck und ist nicht zeitraubend Konventionen für einheitliches Schema bei der Testfall- Erstellung Vorlage für ein Dokument „Stichwort -> Aktion“-Punkte  KDD  BDD Testautomatisierung möglich Schemalos Mit Schema

CAE Elektronik Proprietary Information and/or Confidential BDD (BEHAVIOR DRIVEN DEVELOPMENT)KDD (KEYWORD DRIVEN DEVELOPMENT) Methoden der Testabwicklung BDD u. KDD Verwendet Domain Specific Language Gherkin Verwendet Keywords Meist in Tabellendokumenten festgehalten METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 16 ObjektAktionDaten Textfeld (Benutzername) Text eingeben

CAE Elektronik Proprietary Information and/or Confidential Methoden der Testabwicklung Vergleich METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 17 Vor der Implementierung Schemalos Mit Schema Nach der Implementierung Simpel und geringer Aufwand Große Fehleranfälligkeit Zumeist unverständlich für Nicht- Entwickler Insgesamt ungeeignet für große Softwareprojekte Bessere Strukturierung und somit bessere Verständlichkeit Testautomatisierung möglich Große Fehleranfälligkeit durch Orientierung am Source code Erhöhter Aufwand für den Entwickler relativ geringer Aufwand für die Erstellung der Testfälle Bessere Absprache mit dem Kunden -> verbesserte Verständlichkeit auf Seiten des Kunden u.U. unverständlich und unübersichtlich für die Tester Bei Fehlern hoher Kosten- und Zeitaufwand Durch Keywords/DSL für alle Beteiligten verständlich Auf lange Sicht geringer Aufwand für Reparatur und Wartung Testautomatisierung möglich Geeignet für große Softwareprojekte Erhöhter Aufwand für die Testfallerstellung Durch entsprechende Tools u.U. erhöhter Geldaufwand

CAE Elektronik Proprietary Information and/or Confidential Inhalt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 18 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit Cucumber Behave

CAE Elektronik Proprietary Information and/or Confidential Tools zur Testfallerstellung Cucumber METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 19

CAE Elektronik Proprietary Information and/or Confidential Tools zur Testfallerstellung Behave METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 20 Testfall in Feature definieren Code für die Tests in Steps definieren Für Vorbedingung, Aktion und Ergebnis eine eigene „step implementation“ Alle Features werden mithilfe ihrer Steps getestet

CAE Elektronik Proprietary Information and/or Confidential Inhalt METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 21 MotivationSoftwareentwicklungAnforderungen Methoden der Testabwicklung Tools zur Testfallerstellung Fazit

CAE Elektronik Proprietary Information and/or Confidential Fazit Softwaretests sind wichtig für eine funktionierende Software Agile Verfahren eignen sich besser als die Standardmethoden Bei den agilen Testverfahren erweist sich das Behavior Driven Development als das geeignetste Aufgrund der mit Python entwickelten Squish-Tests, eignet sich Behave am besten METHODEN UND TOOLS ZUR ERFASSUNG VON TESTFÄLLEN 22

CAE Elektronik Proprietary Information and/or Confidential Quellen (Behave Tutorial, Benno Rice) – implementationshttp://pythonhosted.org/behave/tutorial.html#python-step- implementations (Manifest für Agiles Softwaretesten, imbus AG) – (Cucumber Wiki, Lorenzo Polidori) – (Domänenspezifische Sprache, Wikipedia) – (Squish, Wiki) – (Keyword-Driven Testing, Wikipedia) – (V-Modell, Wikipedia) – QUELLEN 23

THANK YOU