Modellbasiertes manuelles Testen: Techniken und Tücken

Ähnliche Dokumente
Lernen durch Feedback aus Inspektionen Dr. Andrea Herrmann

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Testfallgenerierung aus Statecharts und Interaktionsdiagrammen


Software- und Systementwicklung

modellzentrierter Test

Funktionales Testen. Software-Praktikum Andreas Zeller Universität des Saarlandes

Das umfassende Handbuch

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Kapitel 2 - Die Definitionsphase

Universität Karlsruhe (TH)

UML 2.0 Das umfassende Handbuch

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Unit Testing, SUnit & You

Ein generativer Ansatz für den automatisierten Softwaretest,

ER-Modelle zur klaren Begrifflichkeit bei der Testentwicklung

Herausforderungen beim verteilten RE: Ergebnisse einer Umfrage

Software Engineering in der Praxis Praktische Übungen

Kernprozess zur System- und Softwareentwicklung. Logische Systemarchitektur f 1. f 2 f 3. f 4 Funktion. Technische Systemarchitektur SG 1 SG 2 SG 3

Visual Studio 2010 Neues für Architekten

Testen von SOA-Anwendungen mit dem BPEL Testframework

Testen Prinzipien und Methoden

Zusammenfassung der Testarten

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Use Cases vs. Funktionale Spezifikation

Software-Lebenszyklus

Theorem Proving. Software Engineering in der Praxis. Prädikatenlogik. Software Engineering in der Praxis Wintersemester 2006/2007

T2 Fundamentaler Testprozess

PRÜFUNG - MUSTERLÖSUNG - SS 13

Modellbasierter Test mit. Medizintechnik. Kompetenz. Prozess. rund um MBT. Umsetzung. Ihren. Ausblick. Entwicklungsprozess

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

SysML Die Zukunft des Systems Engineering?

Use Cases. Zi Chen, Nils Burdin. 23. Juli Zi Chen, Nils Burdin () Use Cases 23. Juli / 44

T1 - Fundamentaler Testprozess

Erstellung eines Pflichtenhefts (I)

Geschäftsabläufe und Beziehungen zwischen. (Mitarbeitende / Geschäftsobjekte)

Unified Modeling Language 2

Testdokument (Universität Paderborn, Softwaretechnikpraktikum SS2006)

BABOK Knowledge Area Requirements Analysis Modeling Techniques - Process Models - - State Diagrams - Holger Dexel,

Testen im Software- Entwicklungsprozess

Visual Studio 2010 Jetzt auch für Architekten

Programmiertechnik II

Slides of the presentation held at the Software & Systems Quality Conferences International 2007 in Düsseldorf

Aktivitätsdiagramm (Activity Diagram)

UML (Unified Modelling Language) von Christian Bartl

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

YAKINDU Requirements. Requirements Engineering, Management and Traceability with Eclipse. Lars Martin, itemis AG. itemis AG

Vgl. Oestereich Kap 2.1 Seiten

9 Anforderungsspezifikation mit natürlicher Sprache

Leichtgewichtige Traceability im agilen Entwicklungsprozess am Beispiel von Scrum

Zeitmanagement für Entwickler

4. Übung zu Software Engineering

Modellbasierte Softwareentwicklung

Aufgaben Objektentwurf

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Model-based Requirements Engineering

Analyse und Modellierung von Informationssystemen

Test-Strategien. Grundsätzliches Blackbox-Testen Whitebox-Testen Graybox-Testen Ablauf von Tests Zusammenfassung. HS Mannheim

Tamagotchi-Spezifikation in UML

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

2. Der Software-Entwicklungszyklus

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Continuous Test Server. kontinuierliche Fachtests Konstantin Diener COINOR AG

Tabellarischer Vergleich der. für modellbasiertes Testen aus Managementsicht. Dominik Beulen, Barış Güldalı, Michael Mlynarski

Vortrag von: Ilias Agorakis & Robert Roginer

Software-Praktikum. Überblick und Zeitplan

Functional Safety. Systems Engineering als Schlüsseldisziplin in Projekten mit funktionaler Sicherheit

Objektorientierte Analyse (OOA) Inhaltsübersicht

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen

Wirtschaftsinformatik 2 Modellierung betrieblicher Informationssysteme - MobIS

Software Entwicklungs Praktikum (SWEP) Einführung und Organisatorisches

Model Driven Architecture

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

Software-Refactoring. 29. Mai 2013

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

Vorlesung Datenbank-Entwurf Klausur

Übungen Softwaretechnik I

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Interaktive Aufbereitung von Anforderungen für den modellbasierten Test

Super. Sub1. Sub2 State2. Sub3. Sub4. Super. State2. Sub4

Testfallerzeugung aus Use-Case-Beschreibungen

Detecting Anomaly and Failure in Web Applications

Kurs 1613 Einführung in die imperative Programmierung Musterlösung zur Nachklausur am

Die BPM-Trilogie BPMN, CMMN, DMN mehr als Schlagworte?

Grosse Systeme im Griff

Modellbasierte Testautomatisierung mit Fitnesse

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011

Wie man mit Statistik schlecht informiert: Praktiken der Ergebnisdarstellung bei Experimenten im Software Engineering

Erfahrungen in Bezug auf Usability bei der Analyse nicht-funktionaler Anforderungen mit MOQARE

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

Von UML 1.x nach UML 2.0


Notwendigkeit der Testautomatisierung? Neue Ideen, Konzepte & Werkzeuge

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Specifying Patterns for Dynamic Pattern Instance Recognition with UML 2.0 Sequence Diagrams. Lothar Wendehals. Universität Paderborn

Wann lohnt sich GUI- Testautomatisierung?

State-of-the-Art in Software Product Line Testing and Lessons learned

Inhaltsverzeichnis. Teil I Grundlagen 1

Das Entwicklungsdreieck: Anforderungen Design Test. Dr. Hans-Werner Wiesbrock

Transkript:

Modellbasiertes manuelles Testen: Techniken und Tücken 23.02.2015 Objektforum Dr. Andrea Herrmann Freiberufliche Trainerin für Software Engineering herrmann@herrmann-ehrlich.de

Dr. Privat-Doz. Andrea Herrmann 2 2012 2010 2009 2004 1998 1995 1990 Vertretungsprofessur Forschung+ Habilitation Doktorarbeit Studium Trai nerin Forschung IT-Beratung & Projektleitung

Überblick des Vortrags Ansätze für händisches modellbasiertes Testen Warum eine Automatisierung praktisch schwierig ist Ergebnisse eines Experiments: Fehler beim Testfall- Entwurf 26.02.2015 Modell-basiertes Testen 3

Getränkeautomat 26.02.2015 Modell-basiertes Testen 4

Getränkeautomat Eingabe Ergebnis 26.02.2015 Modell-basiertes Testen 5

Motivation 6

Motivation für modellbasiertes Testen 1) Anforderungen = Grundlage für Entwicklung und Test 2) Modellbasierte Tests finden mehr Fehler 3) Nur testbare Anforderungen sind gute Anforderungen Code

V-Modell: Testen auf verschiedenen Ebenen Kunde RE Anforderungen Grobentwurf Abnahmetest Systemtest Kunde Architekt Feinentwurf Integrationstest Modulspezifikation Modulspezifikation QS Entwicklerin Code V-Modell Entwicklerin 8

Vollständiges Testen: Wie viele Testfälle sind nötig? Anweisungs-Abdeckung Zweig-Abdeckung Pfad-Abdeckung 26.02.2015 Modell-basiertes Testen 9

10 Abstrakter Testfall: Testfälle (System-Testfall = Black Box) Konkreter Testfall:

Überblick des Vortrags Ansätze für händisches modellbasiertes Testen Warum eine Automatisierung praktisch schwierig ist Ergebnisse eines Experiments: Fehler beim Testfall- Entwurf 26.02.2015 Modell-basiertes Testen 11

Automatisierung beim Testen Automatisierte Testfall-Herleitung Automatisierte Testfall-Ausführung 26.02.2015 Modell-basiertes Testen 12

Definition: Testbarkeit Testbarkeit (eines UML-Modells): Es sind alle Informationen enthalten, die für die Ableitung des Testfalls nötig sind. 26.02.2015 Modell-basiertes Testen 13

Testbarkeit: nötige Informationen Inhalte: Vorbedingung, Testschritte, Eingabedaten und erwartetes Ergebnis Detailtiefe: dieselbe Detailtiefe von Modell und Testfälle, z.b. Aktivität = Testschritt Kontrollfluss: u.a. alle Fehler- und Sonderfälle 26.02.2015 Modell-basiertes Testen 14

Aktivitätsdiagramm nicht vollständig testbar! Vervollständigung durch <<useraction>> [context Artikel inv: self.artnr >0] <<systemresponse>> OCL-Ausdrücke für Bedingungen Stereotypen Objektfluss Artikel 26.02.2015 Modell-basiertes Testen 15

Praktische Probleme Testbarkeit der Anforderungen war nicht Ziel, sondern Verständlichkeit -> Details weggelassen Tester / Spezifizierer sind oft Key User, also keine Testexperten Sonder- und Fehlerfälle nicht unbedingt vollständig Vollständigkeit Tests finden 30-60% der Fehler 15% der Fehlern ausgeliefert 26.02.2015 Modell-basiertes Testen 16

Automatisierung beim Testen Automatisierte Testfall-Herleitung Automatisierte Testfall-Ausführung 26.02.2015 Modell-basiertes Testen 17

Überblick des Vortrags Ansätze für händisches modellbasiertes Testen Warum eine Automatisierung praktisch schwierig ist Ergebnisse eines Experiments: Fehler beim Testfall- Entwurf 26.02.2015 Modell-basiertes Testen 18

Studenten-Experiment 84 Teilnehmer/innen in 3 Gruppen an 2 Hochschulen (A. Herrmann, M. Felderer) Vorkenntnisse: Anwenderwissen (Getränkeautomat und Geldautomat) UML aus vorigem Kurs Testen: Einführung, Übungsbeispiel mit Musterlösung Testbarkeit der UML-Modelle: Detailtiefe: wie Systemtests Kontrollfluss: vollständig, alle Sonderfälle Inhalte: Vorbedingungen, Eingabedaten und erwartete Ergebnisse nur teilweise im Modell 26.02.2015 Modell-basiertes Testen 19

Aktivitätsdiagramm Getränkeautomat 26.02.2015 Modell-basiertes Testen 20

Zustandsdiagramm Geldautomat 26.02.2015 Modell-basiertes Testen 22

Gruppen im Experiment Aktivitäts- Diagramm Zustands- Diagramm Getränke-Automat Geld-Automat Gruppe A Gruppe B Gruppe B Gruppe A 26.02.2015 Modell-basiertes Testen 25

Ergebnisse: Welche Fehler? 150 Sätze von Testfällen, ca. 340 Testfälle 1816 Fehler: 800 700 600 500 400 300 290 257 200 100 0 438 438 113 66 89 125 fehlend missing redundant Falsches wrong field Feld ungültig invalid AD ZD 26.02.2015 Modell-basiertes Testen 26

Ergebnisse: fehleranfällige Felder? 700 600 500 400 300 GetränkeZD GeldAD GeldZD GetränkeAD 200 100 0 Vorbedingung Eingabe Ergebnis Aktion Testschritt 26.02.2015 Modell-basiertes Testen 27

Ergebnisse: Vergleich der Diagramme AD als verständlicher empfunden & besser verstanden (=richtigere Antworten auf Verständnisfragen) Aktivitätsdiagramm: mehr Fehler 26.02.2015 Modell-basiertes Testen 28

Schlussfolgerungen UML-Modelle müssen vollständig sein, auf intuitive Ergänzung sollte man sich nicht verlassen Vermutlich hilfreich: konkrete Regeln wie Eine Aktivität entspricht einem Testschritt. Wahl des Diagramms: Aktivitätsdiagramm besser geeignet für Kommunikation über Anforderung (mit Kunden) Zustandsdiagramm für Testfall-Ableitung 26.02.2015 Modell-basiertes Testen 29

Vielen Dank für Ihre Aufmerksamkeit! Fragen?

Quellen Veröffentlichung der Experimentergebnisse: Michael Felderer, Andrea Herrmann: Manual test case derivation from UML activity diagrams and state machines: A controlled experiment. Information and Software Technology, Volume 61, May 2015, Pages 1 15 http://www.sciencedirect.com/science/article/pii/s095058 4914002596 Quelle des Fotos (Getränkeautomat) http://commons.wikimedia.org/wiki/file:soft_drink_ven ding_machine_in_japan_01.jpg