Post on 25-Jan-2015
description
transcript
www.ibsolution.de © IBsolution GmbH
// 28. Oktober 2014
// 14.00 – 15.00 Uhr
// Moderator: Benjamin Dietz
WebinarSAP BPM: Testautomatisierung für SAP BPM
www.ibsolution.de © IBsolution GmbHSeite 2
IBsolution GmbH - Webinar
Willkommen zum Webinar„SAP BPM: Testautomatisierung für SAP BPM“
Die Unterlagen finden Sie nach dem Webinar unter: http://www.slideshare.net/IBSolutionGmbH http://www.youtube.com/IBSolution
Weitere Webinar-Termine: 30.10.2014 // SAP IdM: HR-basierte Identity-Lifecycle Prozesse 11.11.2014 // Best-Practices für Ihre SAP Migration 02.12.2014 // Best Practices für das Stammdatenmanagement im Bereich Accounting
Infos und Anmeldung sowie aktuelle Termine auf www.ibsolution.de/veranstaltungen
www.ibsolution.de © IBsolution GmbHSeite 3
Chat-Funktion für Fragen / Einstellungen
Teilnehmer sind während der Präsentation stumm geschaltet
Bitte nutzen Sie für Fragen die Chat-Funktion
Zum Ende des Webinars wird gesammelt auf die Fragen eingegangen
www.ibsolution.de © IBsolution GmbHSeite 4
Unsere Beratungsschwerpunkte
BusinessIntelligence
Prozess-optimierung
TechnologieBeratung
www.ibsolution.de © IBsolution GmbHSeite 5
Unser SpezialwissenB
usin
ess
In
tellig
en
ce
Pro
zess-
op
tim
ieru
ng
Tech
no
log
ieB
eratu
ng
SAP IdM
SAP GRC Access Control
Secude Single Sign On
SAP MDM
SAP MDGx
SAP BPM
SAP BO Data Services
SAP BO Information Stuart
SAP Composition Environment
Web Dynpro Java
Web Dynpro ABAP
SAP Portal
AGIMENDO
Sybase Unwired Plattform
Sybase Afaria
SAP BW
SAP Crystal Reports
SAP BO Web Intelligence
SAP BO Dashboards
SAP BO Analysis for Office
SAP BO Explorer
SAP BO-PC
Identity und Access Management
Compliant Identity Management
Materialstammprozesse
Lieferantenstammprozesse
Kundenstammprozesse
Produktkatalog
Mobile Lösungen
Cloud Computing
Custom Development
BI-Strategie
Reporting und Analyse
Dashboards und Visualisierung
Konzernberichtswesen/ Group Reporting
Integrierte Unternehmensplanung
Unternehmenssteuerung
Data Warehousing
www.ibsolution.de © IBsolution GmbHSeite 6
Unsere Standorte
Nordrhein-Westfalen
Neuss
Baden-Württemberg
Heilbronn
Bayern
München
Schweiz
ZürichBulgarien
Sofia
www.ibsolution.de © IBsolution GmbH
Agenda
1. Testmanagement / Testautomatisierung: Übersicht
2. SAP BPM Testautomatisierung: Motivation und Möglichkeiten
3. BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
4. Live-Demo
5. Q & A
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 8
Testmanagement / Testautomatisierung
Regressionstest
If something
hurts,do itmoreoften!
(frequency reduces difficulty)
Test-
auto-matisierung
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 9
Testmanagement / Testautomatisierung
Softwareentwicklungsprozess
Anforderungs-Definition
SystemSpezifikation
SystemDesign
Code
Unit Test
Systemtest
Abnahmetest
Integrationstest
KomponentenDesign
Testmanagement im V-Modell
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 10
Testmanagement / Testautomatisierung
Warum Testautomatisierung?
Umfang der Testaktivitäten Etwa 40% bis >50% des gesamten Entwicklungsaufwands Testen ist eine komplexe Tätigkeit
Wann beginnt das Testen? So früh wie möglich Je früher Fehler identifiziert werden, desto weniger Aufwand
verursacht die Beseitigung
Testen ist eine umfangreiche, sich wiederholende Tätigkeit
http://www.dilbert.com/
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 11
Testmanagement / Testautomatisierung
Testautomatisierungspyramide
Nach Mike Cohn
Was lässt sich automatisiert testen
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 12
Testmanagement / Testautomatisierung
Nach Brian Marick
Was lässt sich automatisiert testen
Unit TestsPerformance, Skalierbarkeit, Sicherheit, …
Funktionale TestsUser Stories
Usecases
Explorative TestsUsability
User Acceptance
Technische Sicht
Anwendersicht
Krit
ik a
m P
ro
du
kt
Defi
nit
ion
des P
ro
du
kte
s
ManuellesTests
Automatisierte & Manuelle
Tests
Automatisierte Tests
Spezial ToolsAutomatisierte
Tests
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 13
Testmanagement / Testautomatisierung
TestszenarienTestautomatisierung
Manuelles Testen
Komponenten Tests
Regressionstests
Last / Stresstests
Integrationstests
Effiziente und kostensparende Test-Durchführung:
möglichst viele Test-Aktivitäten durch Werkzeuge unterstützen
Test-Aktivitäten automatisiert ablaufen lassen
www.ibsolution.de © IBsolution GmbH
Agenda
1. Testmanagement / Testautomatisierung: Übersicht
2. SAP BPM Testautomatisierung: Motivation und Möglichkeiten
3. BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
4. Live-Demo
5. Q & A
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 15
SAP BPM Testautomatisierung: Motivation und Möglichkeiten
Unit Tests lassen sich einfach automatisieren
Integration Tests / funktionale Tests sind komplexer
UI-Tests sind komplex – Simulation von Benutzereingaben
BPM Tests: Sowohl funktionale Systemtests als auch UI-Tests
Abhängige Features, langer Testpfad, änderungsanfällig
Ursache/Wirkung sind schwer zu korrelieren
Werden daher oft manuell ausgeführt
Probleme von manuellen Tests:
Zeitfaktor: Aufwändige Tätigkeit -> seltene Durchführung
Wiederholbare Testergebnisse -> reproduzierbarer Teststatus
Testwiederholungen verursachen gleichbleibende Aufwände
Manuelle Testausführung verursacht hohe Aufwände bei zu hinterfragender Qualität.
Motivation Testautomatisierung
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 16
SAP BPM Testautomatisierung: Motivation und Möglichkeiten
Effiziente Testdurchführung: Zeit für einen Testzyklus
Testaktivitäten automatisiert ablaufen lassen
Beschleunigte Durchführung – kürzere Testzyklen
Reproduzierbare Testergebnisse: exakt gleiche Testläufe
Beliebige Wiederholbarkeit von Testläufen ohne Mehraufwand
Erhöhung der Software-Qualität: Regressionstests / Continuous Integration
Reaktionsfähigkeit und Qualitätssteigerung bei sich ändernden Anforderungen
Fehler können früher im Entwicklungsprozess erkannt werden.
Ziele der Testautomatisierung
AufwandQualität
Entwicklungsprozess
Test
www.ibsolution.de © IBsolution GmbH
Agenda
1. Testmanagement / Testautomatisierung: Übersicht
2. SAP BPM Testautomatisierung: Motivation und Möglichkeiten
3. BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
4. Live-Demo
5. Q & A
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 18
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
Anforderungen / Funktionalitäten um Prozesse und Tasks automatisiert zu testen
Framework Anforderungen:
Einen Prozess starten. -> Rückgabe der Prozessinstanz
Tasks zu einer Prozessinstanz ermitteln.
Auf Input / Output Daten von Tasks zugreifen.
Tasks zur Bearbeitung aufnehmen
Tasks abschließen
Task-Detaildaten wie z.B. Status lesen.
UI Tests: Ausfüllen von Benutzeroberflächen
Testplan/Szenario zusammenfassen und Ausführung ermöglichen.
Lösung:
- Schnittstelle zum Prozess: SAP BPM OData Services bzw. Java BPM API
- Selenium (OpenSource) zum Aufzeichnen und Ausführen von UI Tests
Schnittstellen zur Prozessausführung
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 19
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
Schnittstellen zur Prozessausführung
SAP NetWeaver 7.3 EHP1
SAP NetWeaver Development Studio NWDS
Junit Test Framework / Runtime
OData Client Rest Client WebDriver
Testsuite
Unit Test
SAP NetWeaver BPM Process Engine
BPM API / EJB
OData Services Rest Webservice Facade
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 20
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
Elegante Lösung: BPM OData Services
- Verwendung von odata4j als Client
- Aufruf aus JUnit Test heraus.
Versionsübersicht SAP BPM OData Services
Schnittstellen zur Prozessausführung
•Access to the Metadata of a BPM Task
•Access to the Input and Output Data of a BPM Task
•Claim a BPM Task
•Complete a BPM Task
SAP NetWeaver 7.3 EHP1 SP 09 and higher
•Support of complex types and collections
•Complete a BPM Task with a faultSAP NetWeaver 7.3 EHP1 SP 10 and higher
•Start a BPM process
•Advanced Error HandlingSAP NetWeaver 7.3 EHP1 SP 11 and higher
•Access to a collection of available BPM Tasks
•Access to a specific BPM Task
•Claim a BPM Task
•Release a BPM Task
•Forward a BPM Task
•Search for BPM end-users
•Access to BPM Task Definitions
•Access to custom attributes of a BPM Task
•Access to custom actions of a BPM Task
•Execute a custom action of a BPM Task
SAP NetWeaver 7.3 EHP1 SP 12 and higher
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 21
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
Prozess starten -> Rückgabe der Prozessinstanz (7.3 EHP1 SP 11 )
Tasks zu Prozessinstanz ermitteln (7.3 EHP1 SP 12)
Auf Input / Output Daten von Tasks zugreifen (7.3 EHP1 SP 9 / > 7.3 EHP1 SP 10 )
Tasks zur Bearbeitung aufnehmen (7.3 EHP1 SP 9 )
Tasks abschließen mit Übergabe des Outputs (7.3 EHP1 SP 9 / >7.3 EHP1 SP 10 )
Task-Detaildaten z.B. Status lesen (7.3 EHP1 SP 9 )
UI Tests: Ausfüllen von Benutzeroberflächen
Eine aktuelle NetWeaver Version wird benötigt um über OData Services zu testen!
Workaround für ältere Versionen nötig!
Selbst implementierte Rest Services für:
Prozess starten
Zugehörige Aufgaben finden
Aufgaben abschließen
usw.
Schnittstellen zur Prozessausführung
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 22
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
JUnit – Einfaches Framework für ModultestsJUnit zum ausführen von Tests innerhalb des NWDS geeignet.
Eclipse/ NWDS integriert
Modulare Tests
Tests sind unabhängig
Mehrere Test in TestSuiteszusammengefasst
Unit Tests
Validierung der Korrektheitvon Software Modulenz.B. von einzelnen Klassen
Für Integrationstest bzw. BPM Tests feste Testreihenfolge nötig:
(startProcess, claimTask, completeTask usw.)
Feste Testreihenfolge über die Funkionalität @FixMethodOrder
JUnit als Testframework
www.ibsolution.de © IBsolution GmbH
Testwerkzeug für GUI Tests: Selenium
Selenium ist eine Testumgebung für Webanwendungen
Als freie Software unter der Apache-2.0-Lizenz veröffentlicht.
Es ist ein weit verbreitetes Tool für automatisierte Tests von Webanwendungen
Zählt zu den bekanntesten quelloffenen UI-Testwerkzeugen.
28.10.2014Seite 23
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
GUI Tests
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 24
BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
Mit Selenium IDE
Aufzeichnen von GUI Test im Browser
Add-On für den Firefox Browser
Weiterverwenden der Aufzeichnungsdaten in Tests
Und Selenium WebDriver für automatisierte Tests
Automatisiertes Ausführung von Tests
In JUnit Tests integrierbar
Ausführung erfolgt über Fernsteuerung des Browsers
Webdriver ermöglicht Java basierten Zugriff auf den Browser
GUI Tests
…WebDriver driver = new FirefoxDriver();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(host+„/ irj/portal ");driver.findElement(By.id("logonuidfield")).clear();driver.findElement(By.id("logonuidfield")).sendKeys(properties.getProperty("username"));driver.findElement(By.id("logonpassfield")).clear();driver.findElement(By.id("logonpassfield")).sendKeys(properties.getProperty("password"));driver.findElement(By.name("logonForm")).submit();…
www.ibsolution.de © IBsolution GmbH
Agenda
1. Testmanagement / Testautomatisierung: Übersicht
2. SAP BPM Testautomatisierung: Motivation und Möglichkeiten
3. BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
4. Live-Demo
5. Q & A
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 26
Demo
BPM Testautomatisierung
Eclipse Junit zur Testausführung BPM Odata Services / Rest Services GUI Tests Selenium IDE Selenium Webdriver
Bsp.: Starten eines Prozesses Task aufnehmen und beenden Simulation von Benutzerinteraktionen Prozess abschließen und Ergebnisprüfung
http://help.sap.com/javadocshttp://help.sap.com/javadocs/NW73EHP1/SPS09/CE/bpem/com.sap.bpem/index.htmlhttp://scn.sap.com/community/bpm/blog/2013/05/03/building-eclipse-based-junit-tests-to-autoamte-process-model-testinghttp://scn.sap.com/community/gateway/blog/2012/10/12/how-to-handle-csrf-while-consuming-gateway-services-using-odata4jhttp://scn.sap.com/community/bpm/blog/2013/10/10/custom-uis-with-the-bpm-odata-service
www.ibsolution.de © IBsolution GmbH
Agenda
1. Testmanagement / Testautomatisierung: Übersicht
2. SAP BPM Testautomatisierung: Motivation und Möglichkeiten
3. BPM Testautomatisierung über den Standard unter Einsatz weiterer Tools
4. Live-Demo
5. Q & A
www.ibsolution.de © IBsolution GmbH 28.10.2014Seite 28
Haben Sie Fragen?
Fragen und Feedback
www.ibsolution.de © IBsolution GmbH
IBsolution GmbH
Im Zukunftspark 8
D - 74076 Heilbronn
www.ibsolution.de
KONTAKT
T +49 7131 / 27 11 – 3000
info@ibsolution.de