Key Visual - Manage Your Business Integration
 

Jan

13

IBM ODM-Services automatisiert testen

By Marc Arnoldussen on We, Jan/13/2016 : 10:02

Die Relevanz von ausgiebigen Tests ist in der Softwareentwicklung unumstritten. Erst nachdem alle Funktionen der Software auf die korrekte Funktionsweise hin überprüft wurden, kann das Produkt guten Gewissens veröffentlicht werden. Der heutige Blogartikel befasst sich mit einer Möglichkeit, deployte Regelservices des IBM Operational Decision Managers automatisiert zu testen und diese Tests zu dokumentieren.

Entwicklertests

Der IBM Operational Decision Manager (kurz: ODM) bietet komfortable Möglichkeiten, die implementierten Regeln schon während der Entwicklungsphase ausgiebig zu testen. Empfehlenswert ist dabei, auf eine Kombination aus den mitgelieferten Decision Validation Services (DVS) und dem von IBM vorgestellten Ansatz DVS Made Easier zurückzugreifen. Dazu werden sowohl mögliche Eingabewerte als auch die erwarteten Ergebnisse als Inputwerte eines ODM-Services in einer vordefinierten Excel-Datei abgelegt. Der einzige Outputwert gibt im Idealfall – also wenn alle erwarteten Ausgabewerte den berechneten Werten entsprechen – nur einen vordefinierten Text zurück, beispielsweise „Test successful“. Andernfalls enthält der Outputwert die Abweichungen zwischen den berechneten und den erwarteten Werten.

Motivation für weitere Tests

Wenn alle fachlichen Anforderungen erfüllt und durch entsprechende Entwicklertests bestätigt werden können, werden im folgenden Schritt die ODM-Regelwerke auf einen Rule Execution Server deployt, d.h. die Regelwerke sind dann als Webservice erreichbar. Hierbei können allerdings erneut Probleme auftreten, wenn beispielsweise verschiedene Regelwerke ineinander greifen und benötigte Regelprojekte nicht oder fehlerhaft deployt wurden. Um dies auszuschließen, müssen nun also die Webservices getestet werden. Dazu bietet sich an, die bereits für den ersten Schritt erstellte Excel-Datei zu verwenden. Der Webservice selbst kann dabei über Tools wie SoapUI angesteuert werden.

SoapUI-Scripting zur Testunterstützung

Zusätzlich zur Möglichkeit, Soap-Requests mit SoapUI abzuschicken und die Antwort (Soap-Response) zu analysieren, bietet SoapUI die Fähigkeit, Groovy-Scripts auszuführen. Mit Hilfe von SoapUI, Groovy und entsprechenden Bibliotheken kann man automatisiert mehrere Soap-Requests hintereinander absetzen und dabei immer wieder auf die Daten einer Excel-Datei zugreifen.

Genau das nutzen wir, um unsere für die Entwicklertests definierten Szenarien erneut zu testen – nur diesmal nicht lokal, sondern mit dem ODM-Webservice. Dazu werden zunächst sämtliche Eingabewerte des Soap-Requests durch Variablen ersetzt. Diese Variablen können durch sogenannte Properties in Soap-UI automatisch befüllt werden. Um nun diese Properties für jedes Szenario korrekt zu befüllen, nutzt man eine Excel-Bibliothek, die mit Hilfe von Groovy die bestehende Excel-Datei zeilenweise ausliest und jeweils die Werte in die Properties hineinschreibt. Da wir aufgrund unseres DVS Made Easier-Ansatzes immer denselben Outputwert erwarten, und dieser von SoapUI direkt überprüft werden kann, lassen sich unsere Tests nun automatisiert ausführen.

Automatisierter Test aller Szenarien

Nach einer initialen Analyse, welche Variablen benötigt werden, wird nun eine Schleife ausgeführt, bestehend aus den Schritten „nächstes Szenario aus Excel-Datei lesen“, „Properties in SoapUI setzen“, „Soap-Request absetzen“, „Soap-Response analysieren“.


Diese Schleife kann außerdem um weitere Funktionen ergänzt werden. Sinnvoll kann unter anderem sein, alle Requests und Responses in einer externen Datei abzulegen, um im Nachhinein alle durchgeführten Tests noch einmal nachvollziehen zu können. Dies lässt sich ebenfalls mit Hilfe von Groovy realisieren.

Fazit

Durch dieses Verfahren haben wir die Möglichkeit, mit wenigen Schritten ein Testverfahren zu implementieren, das die bereits bestehenden Testszenarien nutzt. So können wir im nächsten Schritt unserer ODM-Entwicklung, der Bereitstellung von Webservices, unsere Szenarien automatisiert testen. Diese Schritte lassen sich dabei so allgemein implementieren, dass neue ODM-Webservices fast ausschließlich durch Copy & Paste um ein solches Testverfahren ergänzt werden können. Die Dokumentation der Tests erfolgt dabei im gleichen Schritt, was eine enorme Aufwandsersparnis ermöglicht.

Haben Sie dazu weitere Fragen? Interessieren Sie sich für eine solche Implementierung für Ihre Regelservices? Wir beraten Sie gerne!


Margin
Blog-Autor
Marc Arnoldussen
Marc Arnoldussen
Optimization & SCM Engineer
+49 221 97343-0
Margin
Informationen
7.0.1  7.0.2  8.0  Absatzmarkt  Active MQ  Active  Administration  Agile Lösungen  Agility  AMS  Analyst  Analytics  Anbindung  Anforderungen  Anwenderkonfernz  Apache  Application Server  API Management  API  AS2  ASP  Automatisierung  b2b  B2B Integration  Basic  Big Data  Blogreihe  Bluemix  Blueworks  BPM  Broker  BRMS  Bus  Business Process Management  Business Rules  Buzzword  Camel  Cast Iron  Cloud API  Cloud Computing  Cloud Integration  Cloud  Commerce  Compliance  Conference  Connect:Direct  CPLEX  CXF  DataPower  Decision Server Insights  Deployer  Deployment  Development  DFDL  Digitalisierte Prozesse  Digitalisierung  Domino  DSI  e-Fachverfahren  ersteinrichtung  Edi  Edition  Einführung  Einsatz  Entscheidung  Entwicklung  ESB  Excel  Fahrplanoptimierung  Features  Federated Connectivity  File Transfer  Filetransfer  Finance  FTE  gentran  gis  Geschäftsprozesse  Go Live  Google  Governance  Hardware ESB  Hosting  Hybrid-Cloud  Hybrid Cloud  Hybrid  IBM Blueworks  IBM BPM  IBM Integration Bus  IBM InterConnect  IBM  ILOG DOC  ILOG LNP  ILOG Transportation Analyst  ILOG  Impact  Infrastruktur  Installation  Integration as a Service  Integration Bus  Integration  Integrator  Interoperabilität  IT-Business-Alignment  Konfiguration  Linear  LNP  Logistik  monitoring  M2M  Manage File Transfer  Management  Marktplatz  Mathematik  Mediation  Message Broker  Messages  Messagesight  Messaging  MFT  Migration  Modellierung  MQ  MQTT  Multicast  Muster  Nachlese  Neuerungen in V7.0.1  Neuerungen  off-premise  on-premise  ODM  ODME  Öffentliche Verwaltung  Open Source  Operational Decision Management  Optimierung  OPL  OSGi  Outsourcing  PaaS  Pattern Integration  Pattern  Patterns  Performance  Portfolio  Praxis  Private  Process Server  Produktionsplanung  Prozessautomatisierung  Prozessintegration  Prozessmodelierung  Prozessoptimierung  PureSystem  Qualität  Real Time  Regelmanagement  Rollen  Routenplanung  Routing  ROI  SaaS API  SaaS Integration  SaaS  Salesforce  Schwerpunktanalyse  Script  SCM  Security  Service Federation Management  Servicemix  SFM  SI  Slotting  SoapUI  SOA Cloud Symposium  SOA  SPSS  Standard  Standardplattform  Standardtool  Standortoptimierung  Sterling Integrator  Sterling  SugarCRM  Symposium  Template  TIP  TM1  TOSCA  Transportation  Transportoptimierung  Übersicht  Umstieg  Unix  Update  vergleich  Vorteile  worklight  workload  wtc  Wartung  Websphere  Websphere: Rollen  WebService Security  WebSphere Enterprise Service Bus  WebSphere ESB  WebSphere MessageBroker  WebSphere Technical Conference  WebSphere  WESB  Workloads  WODM  XAR