.mzt@bpmn: modellbasiertes Testen für die Enterprise-IT OOP 2011 Florian Prester
Agenda Einführung BPMN/ Innovator MBT/.mzT/.getmore TFS.mzT@BPMN Vergleichsstudie Zusammenfassung 2
sepp.med gmbh IT Service Provider 30 Jahre Industrieerfahrung Unsere Services Entwicklung QS & Test Beratung Schulungsanbieter Expertise: komplexe und sicherheitskritische Domänen 18.04.2011 OOP 2011 (c) sepp.med gmbh 3
Einführung Enterprise-IT: Komplexe Verantwortlichkeiten Komplexe Architekturen Komplexe Prozesse Komplexe Workflows Komplexe Anwendungen 4
Einführung Testen von Enterprise-IT-Systemen: Die wichtigen Workflows! Die wichtigen Szenarien! Die wichtigen Prozesse! Beherrschen von Komplexität durch Reduktion Abstraktion Modellierung! 5
BPMN Was ist das? Die BPMN versucht einen definierten Standard für die Prozessmodellierung zu schaffen. Modellierung aus Sicht der Fachabteilungen: Planung Dokumentation Analyse Kein technischer Overhead Kommunikationsgrundlage zwischen Entwicklern und Fachabteilungen 6
Innovator for Business Analysts ist speziell für die Rolle von Business Analysten, Anforderungsanalysten, Prozessmodellierern und auch IT- Architekten und Systemtestern entworfen wurde. implementiert die BPMN in vollem Umfang und bietet gleichzeitig viele weitere Elemente aus der UML wie Zustandsdiagramme und textbasierte Funktionen zum Beispiel zur Verwaltung von Anforderungen. nicht daran, die OMG Standards in vollem Umfang zu realisieren, sondern dem jeweiligen Anwender die für seine Rolle notwendige Spezifikationsmethodik zur Verfügung zu stellen. 7
Was ist MBT? Man benutzt ein Modell für den Test Das Modell beschreibt das SUT Was ist ein Testfall? Jeder gültige Weg durch den Graphen! Woher kommen die Wege? Mit Hilfe div. Generierungsstrategien! 18.04.2011 OOP 2011 (c) sepp.med gmbh 8
Eine Best-Practice-Methode für MBT.mzT Das modellzentrierte Testen Verwendung von verschiedensten Modelltypen zur SUT- und Verwendungsspezifikation Testmanagement im Modell Kommunikation und Abstimmung Strukturieren und Priorisieren Visualisieren von Test-Ergebnissen im Modell Integration in den Entwicklungsprozess 9
Modellierung Eine Kunst Wer würde ein Auto als Ganzes modellieren, wenn er auf Signalebene verschiedene Bremsszenarien analysieren will? Wer modelliert die gesamten Prozesse eines Unternehmens, wenn er den Wareneingang analysieren will? Modularisierung, Segmentierung & Komposition 10
Modellierung Modularisierung Hierarchische Strukturen (unterschiedliche Strategien) Erste Ebene lenken Pfade FP FP 28 FP FT 10 FT FP 18 FT FT 6 NP -- 1 FP NP 7 FT NP 3 11
Modellierung Segmentierung Funktionstest: sec = date(yyyy, mm, dd, hh, mi, sec) 12
Modellierung - Komposition Date Year Month RangeTest Hour Day 18.04.2011 OOP 2011 (c) sepp.med gmbh 13
Modellierung Testdaten (1/2) Unterscheidung Testdaten Daten welche elementarer Bestandteil des Testsystems sind. u.a. Live-Daten Testfalldaten Daten, welche für einen dedizierten Testfall benötigt werden. z.b.: soll eine Familie mit 4 Kindern einen bestimmten Prozess durchlaufen. Zum Test gehört aber auch das nicht existierende 5te Kind! 14
Modellierung Testdaten (2/2) Unterscheidung Test-Steuerungs-Daten Steuern den Ablauf eines Tests und sind nicht Bestandteil des Testsets Bei einem 5-Gang Motor kann man nicht in den 6ten Gang schalten Unterscheidung zwischen manueller Schaltung und Automatik Getriebe 15
Modellierung Testdatenanbindung Dedizierte Modellierung von Testdaten 16
Modellierung Testdatenanbindung Externe Verwaltung von Testdaten: Jython: File-System Datenbankanbindung UML: Klassendiagramm XML 17
.getmore Der Testfallgenerator.getmore Div. Modellierungswerkzeuge Div. Generierungsstrategien Reduktion von Testfällen Visualisierung der Testfälle im Modell Metriken Priorisieren und aktive Testfall-Generierung Div. Tool-Anbindungen Eclipse-PlugIn oder RCP 18
.getmore: Werkzeugketten MID Innovator ARTiSAN Studio Borland Together IBM Rational Rose Sparx Systems Enterprise Architect Modeling Guidelines.getmore Test coverage metrics HP TestDirector/ QualityCenter IBM Rational TestManager Borland Segue SilkTest MS Excel/ Word ARTiSAN Studio MS - TFS Polarion C/C++/C# Java TTCN-3 19
.getmore: Strategien Full Path Coverage Full Function Coverage Full Test Step / Verification Point Coverage Full Transition Coverage Full Node Coverage Feature / Requirements Coverage Named Path / Guided Path Random Best-N Test Cases (Filter) Delta-Generation 18.04.2011 OOP 2011 (c) sepp.med gmbh 20
.getmore: Visualisierung 18.04.2011 OOP 2011 (c) sepp.med gmbh 21
Team Foundation Server 22
Team Foundation Server Projektarbeiten im gesamten Software- Entwicklungsteam Von den Anforderungen an ein System, über die Entwicklung bis zur Verwaltung der Tests Funktionalitäten zur Versionierung von Quellcode automatische Builds, Testautomatisierung u.v.m. Kommunikation zwischen allen Teammitgliedern Workflow-Management-System 23
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 24
Die Werkzeugkette im Überblick 25
Das Anforderungsmodell 26
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 27
Das Testmodell Ein eigenes Testingprofil konfigurierbar! 28
Innovator 4 Test Architect Bedingungen TestStep Requirements Validation Point Hierarchien 29
Das Testmodell 30
Der Test Step 31
Der Validation/Verification Point 32
Die Eigenschaften 33
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 34
.getmore-import 35
.getmore Full Path Coverage 36
.getmore - Filter 37
.getmore Filter Result 38
.getmore Delta-Generierung Der Umgang mit Modellen steht im Mittelpunkt Das Prozessmodell ändert sich Alles neu machen? Was sind ungültige Testfälle? Was sind neue Testfälle? Was sind gleiche Testfälle? 39
.getmore Delta-Generierung 40
.getmore Delta-Generierung 41
.getmore Delta-Generierung 42
.getmore Delta-Generierung 43
.getmore Delta-Generierung 44
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 45
Export 46
TFS Migrator - Success 47
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 48
TFS: TCs 49
TFS: Req. TCs Selection 50
TFS: TC Detail 51
Die Werkzeugkette im Überblick Req.-Modell im I4BA Testmodelle im I4BA.getmore Testfälle aus.getmore TFS Verknüpfen von TCs & Req. Execution 52
TFS: TestExec 53
TFS: TestExec 54
TFS: TestExec 55
Zusammenfassung Elegante Möglichkeit der Modellierung I4BA durchgängige und einheitliche Spezifikationssprache BPMN Methodik für die Spezifikation von Tests -.mzt Berücksichtigung spezifischer Testziele -.getmore Intuitives Testmanagement auf Basis von Requirements TFS Das Modell steht im Mittelpunkt aller Aktivitäten! 56
Treffen Sie die Experten im Internet www.modellzentriertestesten.de 57
Treffen Sie die Experten live www.expertensymposium.de 58
Treffen Sie die Community www.mbtconf.de 59
Haben Sie Fragen? Vielen Dank für Ihre Aufmerksamkeit Florian Prester Tel.: +49 (0) 91 95-9 31-0 Fax: +49 (0) 91 95-9 31-300 E-Mail: Web: www.seppmed.de