Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

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

Automated Integration Testing & Continuous Integration for webmethods

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

Introduction to Automated Testing

Microsoft Windows PowerShell v2 For Administrators

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

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

SOFTWARE TESTING TRAINING COURSES CONTENTS

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Testing Tools Content (Manual with Selenium) Levels of Testing

Software Construction

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

SOA-14: Continuous Integration in SOA Projects Andreas Gies

webmunit for WebMethods Integration Server

Tutorial: Packaging your server build

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.

MarathonITE. GUI Testing for Java/Swing Applications

1 What Are Web Services?

1 What Are Web Services?

Chapter 5. Regression Testing of Web-Components

SOFTWARE DEVELOPMENT BASICS SED

Fail early, fail often, succeed sooner!

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

the first thing that comes to mind when you think about unit testing? If you re a Java developer, it s probably JUnit, since the

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Continuous Integration: Aspects in Automation and Configuration Management

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

ESB Features Comparison

D83167 Oracle Data Integrator 12c: Integration and Administration

Instrumentation Software Profiling

AUTOMATING THE WEB APPLICATIONS USING THE SELENIUM RC

Test-Driven Development and Unit Testing with Parasoft Concerto

Snow Inventory. Installing and Evaluating

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

JDemo - Lightweight Exploratory Developer Testing

Continuous Delivery. Alejandro Ruiz

Hadoop Setup. 1 Cluster

E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote SSA-U Appendix 5 Testing and Approval Project: E-vote 2011

Case Study: Using Jenkins to Build WebSphere Portal Applications for the Enterprise. #jenkinsconf. Jenkins User Conference Boston #jenkinsconf

Effective feedback from quality tools during development

Chapter 8 Software Testing

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

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

Enhanced System Integration Test Automation Tool (E-SITAT) Author: Akshat Sharma

GUI Test Automation How-To Tips

Windows PowerShell Cookbook

Continuous Integration for XML and RDF Data

Chapter 4: Implementing and Managing Group and Computer Accounts. Objectives

IMF Tune v7.0 Backup, Restore, Replication

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

Apache OpenOffice Automated Testing. by Liu Zhe (presented by Herbert Dürr)

Software Development Tools

CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures Alan Fitch, Ericsson TV Ltd

A standards-based approach to application integration

soapui Product Comparison

Automation using Selenium

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Keyword-Driven Testing Framework For Android Applications

Settlers of Catan Phase 1

This module explains the Microsoft Dynamics NAV architecture and its core components.

Tutorial 7 Unit Test and Web service deployment

Patterns to Introduce Continuous Integration to Organizations

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Oracle Data Integrator 12c: Integration and Administration

ILMT Central Team. Performance tuning. IBM License Metric Tool 9.0 Questions & Answers IBM Corporation

Oracle Data Integrator 11g: Integration and Administration

Choosing A Load Testing Strategy Why and How to Optimize Application Performance

Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems by Sparx Systems

Unified Data Integration Across Big Data Platforms

White Paper. Unified Data Integration Across Big Data Platforms

Continuous Integration For Fusion Middleware

Apache Jakarta Tomcat

Enterprise Service Bus

Business Application Services Testing

Solution White Paper Connect Hadoop to the Enterprise

Test Driven Development with Continuous Integration: A Literature Review

A-Team Tech Talk Series. SOA Unit Testing. Olivier LeDiouris, Oracle A-Team

Educational Collaborative Develops Big Data Solution with MongoDB

Aspire's Approach to Test Automation

Software Continuous Integration & Delivery

Chapter 1: Web Services Testing and soapui

Manage Software Development in LabVIEW with Professional Tools

WebSphere Business Monitor

CSTE Mock Test - Part I - Questions Along with Answers

App-V Deploy and Publish

Building, testing and deploying mobile apps with Jenkins & friends

Continuous Integration (CI) and Testing - Configuring Bamboo, Hudson, and TestMaker

MD Link Integration MDI Solutions Limited

Certified Selenium Professional VS-1083

Transcription:

TORRY HARRIS BUSINESS SOLUTIONS Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions. All rights reserved Page 1

Table of Contents 1. Abstract... 3 2. Introduction... 3 3. JUnit wrapper for webmethods... 3 4. JUnit test suite for webmethods Services... 5 5. Limitations of the JUnit wrapper... 6 6. Conclusion... 6 2010 Torry Harris Business Solutions. All rights reserved Page 2

1. Abstract In a very short time, Test Driven Development (TDD) has branched off from Extreme Programming (XP) and gained a significant prominence among non-xp projects. It is now seen as a practice by itself and applied to various programming methodologies including RUP and AUP. In addition to the quality benefits offered by practicing TDD, the unit tests provide a working specification of the functional code, and a fully functional test suite that can be reused many times over. This white paper presents a solution to unit test webmethods Flow/Java services using the popular JUnit test framework, and helps put TDD into practice for Enterprise Application Integration projects. 2. Introduction JUnit is a unit testing framework for the Java programming language and has played a significant role in the practice of TDD in Java projects. It provides reusable components to organize and execute test cases and verify the results. webmethods Developer is the stand-alone graphical development tool used to build, edit and test integration logic implemented in the webmethods flow language. While the webmethods Developer provides various tools for testing and debugging the integration solutions, it does not provide support for using JUnit from within the Developer. This white paper details how JUnit can be used for testing services implemented in the webmethods flow/java language. 3. JUnit wrapper for webmethods As part of the ongoing efforts at the EAI Centre of Excellence at Torry Harris, a JUnit wrapper for webmethods was developed to test and verify the flow services implemented in the webmethods flow language. The JUnit Wrapper consists of a single java class named WMTestClient and provides methods to invoke any flow/java service deployed on the webmethods Integration Server (IS). The wrapper method accepts the input filename for the service under test and converts the file into a format that webmethods IS understands. The screen shot of a test method is shown below: 2010 Torry Harris Business Solutions. All rights reserved Page 3

A sample JUnit test method for testing the getconnectionstatistics service. The wrapper provides all the result variables of the service in a java Map and any variable can be used for asserting the test results. In the above test case, the output variable TotalConnections is used for asserting the test case. The wrapper is generic enough to allow assertion of multiple output cases, as may be required for services that return multiple values. The generic wrapper method to test any webmethods flow/java service. The wrapper accepts input XML file, package and service names as input apart from the optional output file and location to save the output file. The input files and the test cases are generated by the developer for the services developed/modified. Input files can be generated from the webmethods Developer console by selecting the Save Pipeline option for the service under test. The output file can be used for closer inspection of the results and/or for comparing the results with a previous test run. The input and output file locations configured in the properties file. 2010 Torry Harris Business Solutions. All rights reserved Page 4

The properties for the service under test and the server details are stored in a configuration file to allow changes to the inputs and server to test on without having to recompile the source. It also allows for easy customizations, for example, the variable to assert and the assertion value can also be made configurable for each service under test. 4. JUnit test suite for webmethods Services A JUnit test suite was developed to test a few webmethods in-built services using the wrapper, the results as shown below: The result of a JUnit test suite execution that tests various webmethods built-in services. With JUnit 4, creating a test suite is as easy as adding test methods to a source file. To create a new test method, any existing test method (like the one shown in the previous section) can be copied and renamed to reflect the new service under test. The input/output parameters are defined in the configuration file and the assert variable and value are updated to match the new service. The unit test suites created as part of different projects can be invoked using ant (http://ant.apache.org/) scripts from the command line as and when necessary (this will be mostly done when there are changes to dependant modules). Various JUnit ant tasks are available to generate reports on the tests executed. These reports can be used for verification of services tested and the coverage. 2010 Torry Harris Business Solutions. All rights reserved Page 5

5. Limitations of the JUnit wrapper The JUnit Wrapper for webmethods has the following limitations that JUnit has, it cannot: Automatically generate tests for a service under test Automatically generate test data for a service under test Provide coverage metrics for a webmethods flow/java service 6. Conclusion Test-driven development is an important practice to delivering high quality code and to enable a flexible and result-oriented way of development. Apart from verification of code, it provides an automatic catalog of unit tests that can be regressed. A test framework for webmethods integrations is even more crucial to simplify and automate unit tests as integrations work on heterogeneous environment. The framework presented in this paper is simple to setup and maintain, and enables TDD to be practiced for EAI projects. It uses the features made available by one of the most popular open-source testing solution and eliminates the need for developing a custom unit-testing solution for webmethods. 2010 Torry Harris Business Solutions. All rights reserved Page 6