Stuttgarter Test-Tage am 21. & 22. März 2013



Ähnliche Dokumente
Stuttgarter Test-Tage am 21. & 22. März 2013

Continuous Integration mit Jenkins

Reporting Services und SharePoint 2010 Teil 1

Build-Pipeline mit Jenkins

Java Entwicklung für Embedded Devices Best & Worst Practices!

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

Grundlagen für den erfolgreichen Einstieg in das Business Process Management SHD Professional Service

Einreichung zum Call for Papers

MetaQuotes Empfehlungen zum Gebrauch von

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Lizenzen auschecken. Was ist zu tun?

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Vom Business Process Model zum Workflow

Installation der SAS Foundation Software auf Windows

Continuous Database Integration mit Flyway

Kurzanleitung zu. von Daniel Jettka

Software Qualität Übung 1

Studieren- Erklärungen und Tipps

Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen. Wir bringen Qualität. Wir beraten Sie. Wir unterstützen Sie. Wir schaffen Lösungen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

PROJEKTVERZEICHNIS EINRICHTEN

Prozessautomatisierung mit BPMN 2.0 und Java.

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

Geld Verdienen im Internet leicht gemacht

Was meinen die Leute eigentlich mit: Grexit?

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Gemeinsam mehr erreichen.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Projektmanagement in der Spieleentwicklung

Consultant & Geschäftsführer, enpit consulting OHG ugb@enpit.de

Automatisiertes Testen von Java EE-Applikationen mit Arquillian

INSTALLATION VON INSTANTRAILS 1.7

! " # $ " % & Nicki Wruck worldwidewruck

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Bilder Schärfen und Rauschen entfernen

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Das Leitbild vom Verein WIR

Anleitung zur Webservice Entwicklung unter Eclipse

Nachricht der Kundenbetreuung

Multichannel Challenge: Integration von Vertriebsorganisation und Contact Center in der Versicherung

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Arbeiten Sie gerne für die Ablage?

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

Anleitung. Update EBV 5.0 EBV Mehrplatz nach Andockprozess

Meine Workflow Engine spricht BPMN ein Erfahrungsbericht

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

rabbinar, 17. Februar 2015 Björn Linde

Executive Information. «Setup and forget it!» So automatisieren Sie Ihr Datacenter mit dem Microsoft System Center Orchestrator 2012.

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Online Newsletter III

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Open Source. Hendrik Ebbers 2015

Speicher in der Cloud

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

Datensicherung EBV für Mehrplatz Installationen

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Einführung von DMS in 5 Schritten

Python SVN-Revision 12

Persönliche Einladung. Zur IT Managers Lounge am 4. November 2009 in Köln, Hotel im Wasserturm.

Agile Software Verteilung

Support-Tipp Mai Release Management in Altium Designer

CONTINUOUS LEARNING. Agile Anforderungsanalyse mit Impact Mapping

Installation von NetBeans inkl. Glassfish Anwendungs-Server

System Center Essentials 2010

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Hilfen zum Twitter-Hashtag-Marketing!

firstbird wird gefördert von Microsoft Ventures firstbird is part of Microsoft Ventures Accelerator Berlin

Step by Step Webserver unter Windows Server von Christian Bartl

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Interview zum Thema Management Reporting &Business Intelligence

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Informationen als Leistung

Java Script für die Nutzung unseres Online-Bestellsystems

IBM SPSS Statistics Version 22. Installationsanweisungen für Mac OS (Lizenz für gleichzeitig angemeldete Benutzer)

MailUtilities: Remote Deployment - Einführung

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Anleitung RÄUME BUCHEN MIT OUTLOOK FÜR VERWALTUNGSANGESTELLTE

Karten-Freischaltung mit dem UNLOCK MANAGER

Alle gehören dazu. Vorwort

BIF/SWE - Übungsbeispiel

Transkript:

Continuous Integration & Testing meets BPM meets Reality Stuttgarter Test-Tage am 21. & 22. März 2013 Jonas Grundler, Managing Consultant, NovaTec GmbH Jonas.Grundler@novatec-gmbh.de

2002-2006: Berater - Business Process Management, IBM 2006-2011: Entwickler und Architekt, WebSphere Process Server seit 2011: Managing Consultant bei der NovaTec GmbH Business Process Management BPM - unabhängige Beratung, Reviews Application Performance Management 2

Agenda Einführung Was ist Continuous Integration (CI) Was ist Geschäftsprozessmanagement (BPM) BPM-Anwendungen Testen CI mit BPM, Jenkins und Sonar Continuous Integration mit... IBM BPM (kommerziell) Activiti (open-source) Zusammenfassung 3

Continuous Integration (Kontinuierliche Integration) was ist das? 4

Continuous Integration (CI) Übersicht, Komponenten, Beteiligte Build-Server Entwickler 1 check-in (täglich) 3 SCM check-out 2 6 4 Über Änderungen informieren benachrichtigen Teamleiter, Tester, Kunde, Manager,... Ergebnisse weiterleiten, veröffentlichen Feedback 6 5 Benachrichtigen Status aktualisieren Jenkins - baut - testet -... 5

Continuous Integration - Zitat Continuous Integration - Martin Fowler [...] each person integrates at least daily [...] Each integration is verified by an automated build (including test) [...] detect integration errors as quickly as possible. [...] http://martinfowler.com/articles/continuousintegration.html 6

Continuous Integration Vorteil: Code-Stabilität und Weniger Risiken Continuous Integration SCM Kontinuierliches Erkennen und Beheben von Integrations-Problemen Früherkennung problematischer Teile der Anwendung Unmittelbares Testen zeigt fehlerhaften Code Entwickler (GIT, SVN, ) Jenkins SCM Client Ständige Verfügbarkeit von ausführbarem Code, bspw. für Demos, weitere Tests, Marketing, etc. Sonar Dem Entwickler wird durch Automatisierung viel Arbeit erspart 7

Continuous Integration alles in allem bekannt und verbreitet! warum nicht einfach auch in Business Process Management Projekten anwenden? 8

Business Process Management (BPM) Einführung Mit BPM lassen sich Abläufe in Unternehmen mit IT-Mitteln abbilden. Daraus ergeben sich enorme Möglichkeiten Graphische Beschreibung von Prozessen mittels standardisierter Sprachen, bspw. BPMN 2.0 Monitoring - funktioniert mein Unternehmen, oder meine Abteilung, so wie ich es mir vorstelle? Monitoring - wie lange dauert es, bis über einen Kreditantrag entschieden ist (KPIs)? Welcher Schritt sollte als erstes effizienter gestaltet werden? Simulationen - was wäre wenn?... Die Einführung von BPM erfordert breite Akzeptanz in Unternehmen: Fachabteilungen und IT müssen miteinander kommunizieren. Weitere an BPM angrenzende Technologien sind bspw. das Case Management (unstrukturierte "Prozesse") und Business Rules Management (BRM Geschäftsregeln). 9

Business Process Management (BPM) Beispielprozess in BPMN 2.0 BPMN 2.0: http://www.omg.org/spec/bpmn/2.0/ 10

Business Process Management (BPM) Beispielstack mit Activiti PrimeFaces JSF Business Services JPA Activiti Atomikos Hibernate Seam Tomcat Alternative GlassFish PostgreSQL 11

Business Process Management (BPM) Beispielproduktpalette - Oracle Siehe http://docs.oracle.com/cd/e21764_01/core.1111/e10106/ha_soa.htm 12

Business Process Management (BPM) Beispielproduktpalette - IBM 13

Continuous Integration warum nicht einfach auch in Business Process Management Projekten anwenden? (...dort wo bspw. Testen eigentlich wichtiger ist denn je...) 14

Continuous Integration Insgesamt wird der Build und das Deployment auch mit BPM hinzubekommen sein. Die meisten Vendoren bieten Skripte für Automatisierung an. 15

Continuous Integration Gedanken aber mache ich mir noch übers Testen meiner Prozesse. Wie kann das angegangen werden? 16

Agenda Einführung Was ist Continuous Integration (CI) Was ist Geschäftsprozessmanagement (BPM) BPM-Anwendungen Testen CI mit BPM, Jenkins und Sonar Continuous Integration mit... IBM BPM (kommerziell) Activiti (open-source) Zusammenfassung 17

Continuous Integration Vergleich BPM und Java Warum CI nicht einfach so auf BPM angewendet werden kann - Oder: Was sind die Unterschiede? Eine BPM-Anwendung braucht typischerweise zusätzliche Tools. Beispielsweise den Prozess-Designer. Die Integration dieser Tools in eine CI-Umgebung ist so oftmals nicht vorgesehen (erfordert also ein wenig Forschung falls die Integration das erste mal stattfindet...) Testfälle von Java-Anwendungen laufen meistens innerhalb weniger Sekunden durch und sind außerdem typischerweise synchron. BPM-Tests nicht. Weder laufen Tests innerhalb weniger Sekunden durch, noch sind Tests synchron Prozesse müssen von verschiedenen Rollen (Manager, Berater, Chef,...) bearbeitet werden Prozesse warten u.u. Tage oder Wochen auf ein bestimmtes Ereignis - bspw. dem Eintreffen von Post 18

Continuous Integration Vergleich BPM und Java Warum CI nicht einfach so auf BPM angewendet werden kann. - Oder: Was sind die Unterschiede? Testfälle in Java können oft sehr einfach als erfolgreich oder nicht erfolgreich bewertet werden. Prozesse sind da komplizierter... Wurde der richtige Pfad im Prozessmodell genommen? Ist der "Rückgabewert" der richtige? > Prozesse haben meistens keinen Rückgabewert Fehlerbehandlung in Java ist meistens eine Exception, die überprüft werden kann > Prozesse können als Fehlerbehandlung einen weiteren Pfad navigieren. Wie wird das gestestet? 19

BPM-Anwendungen testen Herausforderung und Motivation Testen ist aufwendig. Erst recht mit BPM-Anwendungen. Prozesse sind asynchron - das ist immer eine Herausforderung: ein Ergebnis steht nicht unmittelbar zur Verfügung, die Tests brauchen signifikant länger (als Java-Tests) Timer gibt es an verschiedenen Stellen für: Eskalationen, Warten bis eine Nachricht eintrifft,... Prozesse werden von verschiedenen Rollen bedient (Sachbearbeiter, Manager, Kunde,...) Key Performance Indicators - KPIs - wollen auch getestet werden Tests brauchen oft aufwendige Setups und Vorbereitungen. Je später Probleme gefunden werden, desto höher sind die Kosten zur Fehlerbehebung. Versionierung ist komplex und gerade bei Prozessen mit erheblichem Aufwand verbunden. Die umgebende Software (Prozesse arbeiten nie allein) ist häufig eng mit den Prozessen verzahnt. IBM BPM 8.0 - Process Designer 20

In BPM Projekten oft vernachlässigt: White-Box-Tests, Überprüfung des Prozessmodells White-Box-Tests Wurden in den Tests alle Pfade durchlaufen? ("Model"-Coverage) Macht der Prozess was ich möchte? (Wurde die E-Mail ein 2. mal verschickt, nachdem das erste Senden zu einem Fehler geführt hat?) Wurden die Pfade zur Fehlerbehandlung durchlaufen? Prozessmodell Komplexität & Verständlichkeit Gibt es Patterns im Prozessmodell die - nachweislich (?) - ungünstig sind (und durch andere Patterns ersetzt werden können? 21

BPM-Anwendungen testen Komplexität beherrschen mit: Metriken Komplexität - einfach ausgedrückt - ist Teil des Werts eines Prozessmodells. Die Verständlichkeit eines Prozessmodells, und damit auch die Wartbarkeit, hängt auch von dessen Komplexität ab. Metriken helfen, die Komplexität und die Verständlichkeit zu bestimmen. Eine empirische Studie hat untersucht, welche Metriken sich am besten eignen. Zum Beispiel: Anzahl Links Anzahl Aktivitäten Anzahl Verzweigungen... ) Prediction Models for BPMN Usability and Maintainability (2009 IEEE Conference on Commerce and Enterprise Computing) 1 22

BPM-Anwendungen testen Komplexität beherrschen mit: Patterns Es ist noch kein Meister vom Himmel gefallen. Pattern-Analyse findet "ungünstige Patterns" und schlägt eine bessere Modellierung vor. BPMN 2.0 Beispiel (V. Gruhn, R. Laue, Uni Leipzig, Cognitive Informatics, 2009. ICCI '09. 8th IEEE International Conference); Assessment of ~1000 process models including the SAP R/3 reference model Das folgende Pattern wurde 28 mal gefunden redundanter Pfad 23

BPM-Anwendungen testen Komplexität beherrschen mit: Konventionen Die Pattern-Analyse kann mit eigenen Patterns erweitert werden. Beispielsweise um spezielle Anforderungen und Unternehmens-Konventionen einzuhalten. Ähnlich zu Checkstyle. < Alternative 1 < Alternative 2 Source: OMG BPMN 2.0 Specification, Seite 38 Andere Aspekte können ebenfalls teil der Überprüfungen sein - bspw. ob die Prozessmodelle dokumentiert sind. 24

BPM testen: verschiedene Techniken Kosten reduzieren, Qualität erhöhen Automatisiertes Testen ermöglicht... Kontinuierliches Testen und höhere Testabdeckung Einfache Regressionstests Unmittelbares Feedback an Entwickler - Fehler werden nicht auf die nächste Umgebung gepusht (Entwicklung, Test, Integration, Vorproduktion,...) White-Box-Tests erlauben präzise Tests Test-Abdeckung Hat der Prozess den richtigen Weg durchlaufen? (Man sieht einem Prozessmodell nicht an, ob die Bedingung hinter einer Verzweigung richtig ist oder nicht.) Pattern-Analyse überprüft das Prozessmodell auf ungünstige Patterns, Verletzungen von Vorgaben und Konventionen. Metriken geben Auskunft über die zukünftige Wartbarkeit, als auch Verständlichkeit eines Prozessmodells. 25

Gut, verstanden. Aber Moment - was soll ich alles machen? Das bekomme ich doch nie richtig hin... Continuous Integration 26

Agenda Einführung Was ist Continuous Integration (CI) Was ist Geschäftsprozessmanagement (BPM) BPM-Anwendungen Testen CI mit BPM, Jenkins und Sonar Continuous Integration mit... IBM BPM (kommerziell) Activiti (open-source) Zusammenfassung 27

Jenkins & Sonar Jobs & Ergebnisse Jenkins (ehem. Hudson) ist ein webbasiertes Open-Source CI Tool, programmiert in Java Automatisierung von Build, Deployment und Test von Anwendungen Kann alle möglichen Arten von Jobs ausführen - Apache Ant, Maven, Batch, shell scripts Unterstützt SCM Tools wie bspw. Git, SVN, CVS etc.. Erweiterungen Hunderte Plugins für alle möglichen Belange Sonar Eine Plattform für Code-Qualität Über ein Plugin von Jenkins steuerbar NovaTec entwickelt im Zuge von Bachelor/Master/studentischen Arbeiten Plugins zur Prozessmodell-Analyse, Testabdeckung von Prozessmodellen 28

CI mit BPM, Jenkins und Sonar Jenkins : Jobs - Sonar : Ergebnisse 29

CI mit BPM, Jenkins und Sonar Jenkins : Jobs - Sonar : Ergebnisse BPM-Anwendungen und Tests werden mit den entsprechenden Tools entwickelt Die Entwickler testen die Änderungen Sind die Tests erfolgreich, wird integriert. Und nochmals getestet (automatisiert). 30

CI mit BPM, Jenkins und Sonar Jenkins : Jobs - Sonar : Ergebnisse Die Versionsverwaltung hält den Source-code, Prozessmodelle, Konfigurationen, etc. eingecheckt von Entwicklern ausgecheckt von Entwicklern - und Jenkins 31

CI mit BPM, Jenkins und Sonar Jenkins : Jobs - Sonar : Ergebnisse Jenkins Nodes gemanaged von einem Jenkins Master So können verschiedene BuildUmgebungen eingesetzt werden. 32

CI mit BPM, Jenkins und Sonar Jenkins : Jobs - Sonar : Ergebnisse Jenkins Startet die definierten Jobs Checkt den Code aus und transferiert ihn zu den Build-Servern Reicht Resultate weiter an Sonar Sonar visualisiert die Test-Ergebnisse 33

CI mit BPM, Jenkins und Sonar Zusammenfassung Prozessmodelle und Tests werden Jenkins zur Verfügung gestellt Je nach eingesetzter Software, sind die Prozessmodelle im "freien" SCM oder im vom Produkt zur Verfügung gestellten Repository. Jenkins kann mit jeglicher Konfiguration umgehen - zur Not über angepasste Skripte. Jenkins kann den Build anstoßen, als auch das Deployment (auf dem Application Server bspw.). Insgesamt kann an dieser Stelle bereits Komplexität entstehen: Umgebung starten (bspw. Application Server) Auschecken des letzten Code-Standes und Bauen der Anwendung, was bei BPMAnwendungen oft eine "Spezialität" ist Deployen der Anwendung und Ausführen der verschiedenen Tests Sonar Analysiert die Test-Resultate (Code/Model-Coverage) Führt statische Checks auf das Prozessmodell durch (Komplexität,...) Schlussendlich steht dem Entwickler eine Reihe nützlicher Information bereit: Testabdeckung des Prozessmodells, Patternanalyse, Ergebnisse der Tests, Prozessmetriken, usw. 34

Agenda Einführung Was ist Continuous Integration (CI) Was ist Geschäftsprozessmanagement (BPM) BPM-Anwendungen Testen CI mit BPM, Jenkins und Sonar Continuous Integration mit... IBM BPM (kommerziell) Activiti (open-source) Zusammenfassung 35

Continuous Integration mit IBM BPM Zusammenfassung Die Herausforderung, CI auf IBM BPM anzuwenden, ist die entsprechenden Produkt-Interfaces zu kennen bzw. die Umgebung sinnvoll zu skripten "Headless WID", Process Center, Process Server Erstellen der Artefakte die für eine Anwendung benötigt werden (bspw. EAR-Files oder ZIP-Files) Deployment / Undeployment von Anwendungen Insgesamt können IBM BPM Anwendungen mit CI-Methoden entwickelt und getestet werden. Je nach Technologie und Anwendung entsteht dabei mehr oder weniger Aufwand. (BPEL oder BPMN basierte Prozesse) Der Integration Designer bietet bspw. eine Komponente zur Erstellung von Testcases, die dann bei Updates ausgeführt werden können Die NovaTec arbeitet an der Entwicklung von Plugins, welche Patterns und Konventionen in Prozessmodellen überprüfen Testabdeckung von Tests auch in Bezug auf Prozessmodelle ermitteln (für BPEL und für BPMN) 36

Continuous Integration mit Activiti Zusammenfassung Als Open-Source Java Projekt lässt sich Activiti erwartungsgemäß einfach in eine CI-Umgebung integrieren: Eigens für bspw. JUnit vorgesehene Klassen werden von Activiti bereitgestellt, um das Testen so einfach wie möglich zu gestalten. So kann bspw. vor dem Start eines JUnit-Tests der entsprechende Prozess deployed werden. Activiti als Process Engine kann embedded betrieben werden: es muss kein Server gestartet werden, um einen Prozess auszuführen Activiti bietet Unterstützung für Mocks Die NovaTec arbeitet an der Entwicklung von Plugins, welche Patterns und Konventionen in Prozessmodellen überprüfen Testabdeckung von Tests auch in Bezug auf Prozessmodelle ermitteln (für BPEL und für BPMN) 37

Agenda Einführung Was ist Continuous Integration (CI) Was ist Geschäftsprozessmanagement (BPM) BPM-Anwendungen Testen CI mit BPM, Jenkins und Sonar Continuous Integration mit... IBM BPM (kommerziell) Activiti (open-source) Zusammenfassung, Übungen 38

Zusammenfassung Continuous Integration Wird auf breiter Java-Front eingesetzt Jenkins als CI-Server ist weit verbreitet & Testing Gute und regelmäßige Tests sind unerlässlich in der Softwareentwicklung. Sonar ist ein beliebtes Tool zur Qualitätskontrolle und lässt sich auf einfache Weise in Jenkins integrieren. meets BPM Business Process Management (Geschäftsprozessmanagement) Bestandteil von Lösungen in verschiedenen Bereichen. meets Reality Testen von BPM-Anwendungen hat noch nicht den Reifegrad von Java erreicht. Die heutigen Tools rund um BPM erlauben aber mit etwas Arbeit > > > BPM-Anwendungen mit CI-Methodik zu entwickeln BPM-Anwendungen automatisiert zu testen BPM-Anwendungen zu analysieren 39

Übungen Testen Sie Prozesse! mit Activiti, Eclipse, Jenkins, Maven, PostgreSQL, Sonar, Tomcat mit kommentierten Beispielprozessen und Beispieltests in unterschiedlichen Konfigurationen Diskutieren Sie die Herausforderung, Prozesse zu testen! 40

- Wir führen IT-Projekte zum Erfolg Stuttgarter Test-Tage am 21. & 22. März 2013 Vielen Dank für Ihre Aufmerksamkeit! NovaTec Unternehmensgruppe Hauptniederlassung Dieselstr. 18/1 D-70771 Leinfelden-Echterdingen Telefon: +49 711 22040-700 Fax: +49 711 22040-899 E-Mail: info@novatec-gmbh.de Internet: www.novatec-gmbh.de

Wrap-Up: Tips when using IBM Integration Designer Use the test component framework which is built into IID instead of writing your own testing framework test cases can be saved an executed by Jenkins later supports testing long-running BPEL processes with human tasks (!) Use headless IID functionality or custom scripts to start/shutdown servers, deploy/undeploy applications Restart the server used to run the test cases from time to time - but not with each "check-in" Configure IBM BPM to emit default BPEL CEI events without any prior event definition configuration (!) trace string: WBILocationMonitor.CEI.bpc.*=all: WBILocationMonitor.CEI.task.*=all analyze CEI events to assess any test cases 42

Wrap-Up: Tips when using IBM Process Designer Use the installation service to notify Jenkins about new deployments of a changed BPD CEI Events can be used to verify that all paths have been taken by the defined test cases (e.g. using the NovaTec Model Coverage Plugin1 which consumes CEI Events) For configuration of BPDs emitting CEI events see http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0mx/topic/com.ibm.wbpm.main.doc/topics/cmon_ev Write test cases using the REST API The REST API Tester is your friend: http://<server>:<port>/bpmrest-ui/ Note that that there might be "wait times" between different steps of the process model 43

44

References Using Headless Build ANT Script to Generate Deployable EAR File for Server Deployment http://www.ibm.com/support/docview.wss?uid=swg27023323 Using ANT scripts for testing in headless WebSphere Process Server http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=%2fcom.ibm.wbit.help. Building SOA composite business services, Part 6: Automate build and deployment steps https://www.ibm.com/developerworks/library/ws-soa-composite6/ Automating End-to-End Testing using Headless WebSphere Integration Developer http://www.ibm.com/support/docview.wss?uid=swg27017772 Jenkins http://jenkins-ci.org/ Sonar http://docs.codehaus.org/display/sonar/hudson+and+jenkins+plugin 45