Automated Integration Testing & Continuous Integration for webmethods



Similar documents
INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

webmunit for WebMethods Integration Server

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS Software AG. All rights reserved. For internal use only

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager

T320 E-business technologies: foundations and practice

tools that make every developer a quality expert

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

Test Automation Integration with Test Management QAComplete

Software Development Kit

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

SOFTWARE TESTING TRAINING COURSES CONTENTS

soapui Product Comparison

SDK Code Examples Version 2.4.2

Creating XML Report Web Services

Customer Tips. Xerox Network Scanning HTTP/HTTPS Configuration using Microsoft IIS. for the user. Purpose. Background

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Metalogix Replicator. Quick Start Guide. Publication Date: May 14, 2015

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

CA APM Cloud Monitor. Scripting Guide. Release 8.2

Building and Using Web Services With JDeveloper 11g

NetBeans IDE Field Guide

Desktop, Web and Mobile Testing Tutorials

Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)

Load testing with. WAPT Cloud. Quick Start Guide

Perceptive Intelligent Capture Solution Configration Manager

WA2087 Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0. Student Labs. Web Age Solutions Inc.

Integrating with BarTender Integration Builder

Jenkins on Windows with StreamBase

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Load and Performance Load Testing. RadView Software October

Listeners. Formats. Free Form. Formatted

Novell ZENworks 10 Configuration Management SP3

Sonatype CLM for Maven. Sonatype CLM for Maven

Introduction to Testing Webservices

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

Using the vcenter Orchestrator Plug-In for vsphere Auto Deploy 1.0

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

JBoss SOAP Web Services User Guide. Version: M5

How To Write Unit Tests In A Continuous Integration

1 What Are Web Services?

Apache JMeter HTTP(S) Test Script Recorder

IBM Business Monitor V8.0 Global monitoring context lab

RTI v3.3 Lightweight Deep Diagnostics for LoadRunner

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

EMC Documentum Composer

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

The Process Guidelines should be used in conjunction with the standard OUM process guidelines when using Testing and Quality Management Tools.

Chapter 1: Web Services Testing and soapui

1 What Are Web Services?

Last edited on 7/30/07. Copyright Syncfusion., Inc

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

How To Retire A Legacy System From Healthcare With A Flatirons Eas Application Retirement Solution

Veritas Cluster Server Database Agent for Microsoft SQL Configuration Guide

2.0. Quick Start Guide

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

SafeGuard Enterprise upgrade guide. Product version: 7

Technical Support Set-up Procedure

Accessing Data with ADOBE FLEX 4.6

Performance Testing and Optimization in Web-Service Based Applications

Event Manager. LANDesk Service Desk

Software Distribution Reference

Troubleshooting File and Printer Sharing in Microsoft Windows XP

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

ESB Features Comparison

Sabre Red Apps. Developer Toolkit Overview. October 2014

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

Mixed Authentication Setup

Enterprise Service Bus

Automating Testing and Configuration Data Migration in OTM/GTM Projects using Open Source Tools By Rakesh Raveendran Oracle Consulting

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

Chapter 4: Website Basics

Sophos Mobile Control Installation guide. Product version: 3

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

Sophos Mobile Control Installation guide. Product version: 3.5

Using InstallAware 7. To Patch Software Products. August 2007

Oracle Service Bus Examples and Tutorials

How To Test On An Hp Mobile Device

Integrating Siebel CRM with Microsoft SharePoint Server

CA Nimsoft Service Desk

Host Access Management and Security Server

Policy Guide Access Manager 3.1 SP5 January 2013

LabVIEW Internet Toolkit User Guide

ZeroTurnaround License Server User Manual 1.4.0

Specops Command. Installation Guide

Tutorial: Android Object API Application Development. SAP Mobile Platform 2.3 SP02

Cloud Tools Reference Guide. Version: GA

Creating Web Services Applications with IntelliJ IDEA

Oracle Application Development Framework Overview

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

SafeGuard Enterprise upgrade guide. Product version: 6.1

Zanibal Plug-in For Microsoft Outlook Installation & User Guide Version 1.1

Remote Console Installation & Setup Guide. November 2009

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

ORACLE MOBILE SUITE. Complete Mobile Development Solution. Cross Device Solution. Shared Services Infrastructure for Mobility

Transcription:

WHITE PAPER Automated Integration Testing & Continuous Integration for webmethods Increase your webmethods ROI with CloudGen Automated Test Engine (CATE) Shiva Kolli CTO CLOUDGEN, LLC NOVEMBER, 2015

EXECUTIVE SUMMARY Enterprises today are required to deliver high quality software services that drive operations, customer service, and finance essentially all aspects of business. Software services must be delivered in a short period of time with minimal effort. Test automation is the primary means to increase your development velocity, test efficiency and enable faster, quality delivery. The CloudGen way of agile practice relies on faster feedback, which is achieved by incremental, patterns based and scenariodriven testing. We believe robust testing automation solutions can relieve you of many challenges in software and service development in integration space. Testing Automation, however, is a complex activity in itself. That s why CloudGen has dedicated time and energy into making this aspect of development turn-key and driving business value by delivering reliable & successful integration solution testing product suite that supports: Implementing Test Driven Development (TDD) methodology Planned and structured testing to provide control and predictability Testing automation to perform testing repeatedly with shortened cycles Extensive test case & code coverage Platform wide test execution support Test reports and coverage report generation Third party test tooling integration support CloudGen Automated Test Engine (CATE) is an automated testing framework; purpose built for webmethods Platform that targets execution of service level unit testing and end-to-end test scenarios. CATE promotes implementing Test Driven Development (TDD) and Continuous Integration (CI). EDITIONS: CATE ENTERPRISE EDITION (CATE EE), CATE DEVELOPER EDITION (CATE DE) APPROACH Test cases used to certify builds and deployments Test cases integrated with code development and quality assurance lifecycle Promote TDD by specifying test cases before writing code Promote CI to test consistently with patterns based test case scenarios Supports all standard protocols KEY BENEFITS Enhance code quality and unit testing Enable continuous integration Eliminate project delays Provides control and predictability to the testing process Simplify upgrades & migrations Significant cost reduction of webmethods ownership 1 Copyright CloudGen, LLC www.cloudgensys.com

KEY FEATURES Simple automation services to retrieve test automation configurations easily Continuous Integration (CI) Jenkins, ABE, VCS (SVN, GIT etc.) Code Coverage For a given set of tests, track which lines of a FLOW service have been executed/tested Service Mocking Emulate responses from databases, ERPs, SaaS providers, etc. Positive and Negative testing with Expected Results and/or Exceptions Service unit testing with service in/out introspection Service execution with Invoke Interception Pipeline Capture and Use (Import & Save testing data) Reports Chaining of test cases Process steps mocking Load testing Supports multiple Platforms FAST FACT CloudGen Automated Test Engine (CATE) testing framework helps improve unit test case development by 80% and reduce manual testing by 60% on webmethods upgrade/migration projects. 2 Copyright CloudGen, LLC www.cloudgensys.com

INTRODUCTION This article introduces a comprehensive testing framework developed from scratch for webmethods platform that targets execution of service level unit testing, end-to-end test scenarios and promotes implementing Test Driven Development (TDD) and Continuous Integration (CI). Implementing thorough quality assurance (QA) cycle in integration project is not a trivial task. The complexity of testing grows exponentially in service development and integration space with number of integration points involved in process integration and process orchestration. In a typical integration project, the complete QA lifecycle consists of functional & non-functional testing. Implementing unit, system, regression, integration and acceptance testing on webmethods is highly tedious and cumbersome to manage. Typically testing in integration projects is: Typically testing is: Manual and labor intensive Ignored due to an insufficient understanding of testing required for all of the components of the integration solution Leads to: Poor quality due to insufficient test case coverage Customer Dissatisfaction caused by frustration with delays and missing requirements in the solution Successful Integration Solution testing must be: Performed early and consistently across the phases of your development lifecycle to ensure quality solution delivery Enforced and supported by a testing framework FAST FACT As of today, 50 60% of testing on webmethods based integration projects is done manually and less than 20% of code is unit tested. 3 Copyright CloudGen, LLC www.cloudgensys.com

TEST DRIVEN DEVELOPMENT Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence. To improve the code quality of integration services, it is imperative to develop service unit level test suites that can be run many times a day. Code coverage reports generated by a comprehensive test suite can be reviewed to ensure that unit tests cover a high percentage of code thereby improving code & product quality. Figure 1: TDD Implementation FAST FACT Integration projects that implement test driven development improve code quality by at least 40% and reduce QA lifecycle time by 60% 4 Copyright CloudGen, LLC www.cloudgensys.com

CATE DEVELOPER EDITION (CATE DE) CloudGen Automated Test Engine Developer Edition (CATE DE) is a service unit testing framework; purpose built for webmethods that plays a part in all stages of the development lifecycle. CATE DE promotes implementing test driven development (TDD) methodology and continuous integration (CI). KEY BENEFITS Built into Designer / Eclipse Code Coverage For a given set of tests, track which lines of a FLOW service have been executed/tested. Service Mocking Emulate responses from databases, ERPs, SaaS providers, etc. Positive and Negative testing with Expected Results and/or Exceptions Service unit testing with service in/out introspection Service execution with Invoke Interception Pipeline Capture and Use (Import & Save testing data) Reports Supports multiple platforms KEY FEATURES FEATURE Visual test creation DESCRIPTION Tests are created entirely using a visual interface in Eclipse. The developer does not have to edit XML files or write Java code to manipulate complex IData objects. It offers increased productivity and a work mode similar with Flow development. Code coverage report Generate code coverage reports on package, folder and service level. Check that all paths are covered by the tests. It allows writing unit test that cover all important scenarios. It is easy to check which parts of the code need more unit testing. Assert expected output A service can run with success or it can throw an exception. For success, the output of the service will be compared with the expected pipeline. For failure, the exception class and the exception message are compared. Basic mocking Mocking is a key concept in Unit Testing, especially when the services interact with external systems (DBs, WebServices, JMS, SAP, etc.) that should not be called during tests. Basic mocking means that a certain service invocation can be replaced with exactly one predefined pipeline output, exception, or invocation of a different service. Advanced mocking It is often the case for a mocked service to be invoked several times with different inputs inside the same test. Advanced mocking allows mocked services to return different outputs based on the input 5 Copyright CloudGen, LLC www.cloudgensys.com

values. This avoids writing helper services just for testing purposes and leads to cleaner code and more robust tests. Basic pipeline matching Checks if two pipelines have the same values. If at least on value in the pipeline varies then the two pipelines are consider not to match. Set-up test context Offers the possibility to run a number of services on the Integration Server before the actual tests are ran. The set-up services can include populating a DB table, clearing the cache on the Integration Server or any other service. Tear-down test context Offers the possibility to run a number of services on the Integration Server after the actual tests are ran. The tear-down services can, for example, clean generated test data. Verify the number of invocations Verify that during the test, a (child) service has been invoked a certain number of times with the defined input. The quantifier for times can be: exactly, at least or at most. Ignore certain tests If some tests are not relevant anymore and need updating, then they can be marked to be ignored so that the suite will not fail. Run tests from Designer Similar with JUnit tests, the developer can right-click on a test file(s) and run the tests. The results of the tests are displayed in the JUnit View. Run from Ant and other build tools Automatize tests runs. Tests can be run as part of the continuous integration process. Search services on IS When selecting the service to be tested, the ones to be mocked or to be verified the developer does not have to type the service name by hand. A wizard for searching the Integration Server is provided. Test Reports Generate test reports as XML or HTML. Allows developers to see in a browser the results of the tests ran by automatic build tools. 6 Copyright CloudGen, LLC www.cloudgensys.com

CATE DE ARCHITECTURE Figure 2: CATE DE Architecture On the left hand-side the client is depicted and on the right side the server. The communication between the client and the server is done via HTTP. The service unit tests are saved as XML files with the.sut extension and can be created and edited in the IDE. Tests can be run from IDE or from the command line, or from an Ant script. CATE DE IN ACTION Now let s get through the steps for building service unit level tests. SERVICE UNDER TEST For a start we are going to pick a very simple service and write several tests against it. The service name is: AgentBenefit.util:parseDate The responsibility of the service is to transform a date string into an object of type date. The signature of the service is: 7 Copyright CloudGen, LLC www.cloudgensys.com

Figure 3: ParseDate Service Input-Output Input: datestring the value of the date as string (e.g. 07.11.2015) dateformat the format of the date (e.g. dd.mm.yyyy) Output: datevalue an object of type java.util.date representing the parsed string If the date string cannot be parsed using the specified date format then a java.text.parseexception is thrown. The output of a successful run: Figure 4: ParseDate Test Output GETTING STARTED For the purpose of presenting the CATE DE features, the AgentBenefit IS package is going to be used trough out this document. IMPORT JAVA PROJECT In order to easily work with the IDE we first have to import the IS package as a Java project in our workspace. 8 Copyright CloudGen, LLC www.cloudgensys.com

Figure 5: Creating New Java Project CREATE TEST FILE Before actually creating the first Service Unit Test we will create a test folder under which all the tests will be bundled. Right-click on the AgentBenefit Project > New > Folder For the name of the new folder write test. Right-click on the freshly create test folder > New > Other On the Wizard selection dialog browse for Service Unit Test Suite 9 Copyright CloudGen, LLC www.cloudgensys.com

Figure 6: CATE DE Service Unit Test Wizard On the first page of the Wizard we can browse for the service to be tested and provide a name for the test Figure 7: CATE DE New Service Unit Test A new file called parsedate.sut is created under the test folder 10 Copyright CloudGen, LLC www.cloudgensys.com

Figure 8: ParseDate Test File Created WRITE THE FIRST TEST The test editor can be opened by double clicking on the parsedate.sut test file. Switch to the Test Details tab. A fresh test will look like this: Figure 9: CATE DE Test Details 11 Copyright CloudGen, LLC www.cloudgensys.com

DEFINE THE SERVICE INPUT On Test Details screen, by clicking on the Edit Input button input values for the service (AgentBenefit.util:parseDate) can be provided. Figure 10: CATE DE Define Service Input DEFINE THE EXPECTED OUTPUT Click on the Edit Output button to define the expected output: The Test Details page will now look like this: Figure 11: CATE DE Test Details page after input & expected output are defined 12 Copyright CloudGen, LLC www.cloudgensys.com

RUN THE FIRST TEST The easiest way to run a test is by clicking on the Run This Test Only link. An alternative is to run it from the Navigation view, similar to a JUnit test. Right-click on the test file > Run As > Service Unit Test (SUT) Figure 12: Run Service Unit Test The result is displayed in a similar manner to plain old JUnit test. It is very easy for Java developers to understand this format. Figure 13: Service Unit Test Result 13 Copyright CloudGen, LLC www.cloudgensys.com

CATE DE REPORTS TEST REPORTS The test reports are saved under %ProjectName%/testreport/html/all-tests.html. Below are the test reports open (in the browser) from the file system: COVERAGE REPORTS The coverage reports can be accessed from the Integration Server page. When the tests have been ran from an Ant target then the coverage reports can be visualized in a similar manner with the test reports. The location of the coverage reports is ${PackageName}/testreport/coverage/ ${PackageName.html}. From the coverage folder, the package overview can be visualized and also each service level code coverage can be seen individually. Figure 14: Code Coverage Report - Package Level Overview 14 Copyright CloudGen, LLC www.cloudgensys.com

Figure 15: Code Coverage Report - Service Level Overview 15 Copyright CloudGen, LLC www.cloudgensys.com

CATE ENTERPRISE EDITION (CATE EE) CloudGen Automated Test Engine Enterprise Edition (CATE EE) executes end-to-end test scenarios, documents test scenarios, calls services via standard protocols and captures & validates the response. CATE EE promotes implementing robust black box testing and continuous integration. KEY BENEFITS Simple automation services to retrieve test automation configurations easily 3rd party test tooling integration support Provides CloudgenMeter and SoapUI test script runner Lightweight automation engine Few dependencies and custom functionality via pluggable execution Continuous Integration (CI) Jenkins, ABE, SCM (SVN, GIT etc.) Chaining of test cases Process steps mocking Reports Load testing KEY FEATURES FEATURE DESCRIPTION Platform wide test execution support The same test cases can be run seamlessly on a standalone product or product platform. Support for SAG product stack automation. Ability to execute tests on cross platforms. Simple automation services Provides services to retrieve test automation configurations easily. Any configuration can be retrieved directly via built-in services. Test cases created by Business Analyst and Developer using configurable recording. Ability to enable/disable recording on a per service basis. Third party test tooling integration support Test Framework provides JMeter, SOAP UI test script runner. JMeter, SOAP UI scripts can be easily executed. Framework will validate the result of the test execution and return a pass or fail status. Lightweight automation engine Automation engine itself uses only a few dependencies. All other custom functionalities which need to be introduced at different phases can be done using pluggable execution. Set of common utilities to facilitate better test writing experience Automation Utility module is introduced to provide common set of utility methods for better test writing experience. Improve reusability of utility methods while writing platform tests. 16 Copyright CloudGen, LLC www.cloudgensys.com

CATE EE ARCHITECTURE CATE EE Test Transform Listener Test Listener Manager PLUGGABLE MODULES SERVICE CATCHER Reg Service List Services UnReg Service Stop Catcher CATEMeter Soap UI CATE EE UTILS Utility Services wm Integration Server Figure 16: CATE EE Architecture CATE EE Architecture consists of following modules: Automation Test Engine The core module of CATE EE. It uses Test Transform listeners to perform the tasks in the test execution flow. Test listener manager classes use the listener interfaces to perform tasks in the test execution flow. Service Catcher This module contains all the key services used internally by CATE EE to capture pipeline data for inputs and outputs which are an internal format specific to webmethods. Utilities Utility and wrapper services provide out-of-box to expedite end-to-end test case development. 17 Copyright CloudGen, LLC www.cloudgensys.com

CATE EE IN ACTION CATE EE is implemented using custom webmethods Integration Server services. Specifically, we are using a special wrapper service that handles things like extracting the back-end service that should be called (servicename), using an XML String for small documents (xmldocument) and parsing HTTP requests to get the input XML file (MIME). There are three (3) different ways to use CATE EE: 1. By using a parameter entitled xmldocument : this allows the test case to send an XML string which will correspond to the input used by the IS service. 2. By using a xmlfilename : this allows the test case to specify a Server-Side filename in which there is an XML document that will correspond to the input used by the IS service. 3. By attaching an XML Pipeline document which was saved using our custom generating input and output Pipeline documents. USING XMLDOCUMENT The easiest way to generate and use CATE EE is by specifying an xmldocument String which is the input data that is to be used with our HTTP wrapper. Here is a sample PurchaseOrder: <?xml version="1.0" encoding="utf-8"?> <PurchaseOrder> <PONumber>1000</PONumber> <CustomerNo>1</CustomerNo> <TotalAmount>125.00</TotalAmount> <LineItemDetails> <ItemNo>1</ItemNo> <ManufacturerCode>1000-001</ManufacturerCode> <Quantity>1</Quantity> <UnitPrice>25.00</UnitPrice> </LineItemDetails> <LineItemDetails> <ItemNo>2</ItemNo> <ManufacturerCode>0002</ManufacturerCode> <Quantity>2</Quantity> <UnitPrice>50.00</UnitPrice> </LineItemDetails> </PurchaseOrder> By adding a parameter entitled xmldocument we can encode the URL with this parameter: 18 Copyright CloudGen, LLC www.cloudgensys.com

To view your input String, click on Detail and this should open a new window with the XML String: 19 Copyright CloudGen, LLC www.cloudgensys.com

TEST CONFIGURATION To demonstrate how easy test configuration can be we will run through the configuration of one single step based on an existing test case configuration file. Figure 17: CATE EE Purchase Order Test Case Configuration This test case configuration has two (2) steps. The first test case has two (2) items and returns an OK. The second test case also has two (2) items but one of them is on Backorder. Our third test case will also have two (2) items and is supposed to return a Total Amount error. Here are the steps required for creating the third (3rd) test case. Here is what the final HTTP Request configuration will look like: 20 Copyright CloudGen, LLC www.cloudgensys.com

Figure 18: CATE EE HTTP Request to run Purchase Order Test Cases ASSERTION AND VALIDATION This sample transaction currently uses two forms of assertion and validation to check & determine the Response Code is from the webmethods Integration Server. The normal code expected is 200 for a successful HTTP conversation. This means that the IS has successfully parsed and handle the test case data/payload. Typically an error code would be 500. 21 Copyright CloudGen, LLC www.cloudgensys.com

CREATING THE RESPONSE ASSERTION Here is the standard Assertion used for the sample transaction: Figure 19: CATE EE Response Assertion 22 Copyright CloudGen, LLC www.cloudgensys.com

CREATING XPATH VALIDATION In addition to the assertions performed on the Return Code, we have added validation to verify if there were no procedural errors during the processing of the transaction. The validation is rather simple to see if the errormessage variable returns an OK. If this message variable is NULL, blank or something other, the validation will signal this test case as being in error. Here is the default XPath Validation used for the sample transaction: Figure 20: CATE EE XPath Validation 23 Copyright CloudGen, LLC www.cloudgensys.com

RESULTS AND XML OUPUT After each test case is executed, the results of the transaction will result in an XML Response if there are no Assertion or Validation errors. In addition, test cases can be configured to parse the response using XPath or Regular Expression syntax to create business specific tests. Figure 21: CATE EE Test Results 24 Copyright CloudGen, LLC www.cloudgensys.com

CATE EE REPORTS Test Execution Reports: Figure 22: CATE EE Test Execution Reports 25 Copyright CloudGen, LLC www.cloudgensys.com

CONCLUSION Implementing robust testing practices using a comprehensive testing framework and product suite is crucial to deliver reliable software services in the integration space. CATE Developer Edition and Enterprise Edition testing framework presented in this paper are simple to setup and maintain. This product suite is purpose built for webmethods and provides key benefits to delivering high quality code, reduce time to market and increase your webmethods ROI. CATE raises the bar for service unit level testing (TDD implementation), end-to-end testing (with Service Mocking) and continuous integration (test, build, deploy automation) in the integration space. 26 Copyright CloudGen, LLC www.cloudgensys.com

For more information send us an email to support@cloudgensys.com TM We would love to hear from you! Your Ultimate Partner TM for integration everywhere, ieverywhere CloudGen is an esteemed provider of information technology, business consulting, enterprise applications, business process and cloud services. We help our customers innovate where they differentiate and innovate at a pace faster than the pace of change inside & outside their organization. Our approach is always customer centric, and our goal is to enable your success. All content / information presented here is the exclusive property of CloudGen, LLC. The content / information contained here is correct at the time of publishing. No material from here may be copied, modified, reproduced, republished, uploaded, transmitted, posted or distributed in any form without prior written permission from CloudGen. Unauthorized use of the content / information appearing here may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties Copyright 2015 CloudGen, LLC 27 Copyright CloudGen, LLC www.cloudgensys.com