Agile Web Service and REST Service Testing with soapui



Similar documents
soapui Product Comparison

SoapUI NG Pro and Ready! API Platform Two-Day Training Course Syllabus

Chapter 1: Web Services Testing and soapui

Automate APIs with Groovy Script

Module 4: File Reading. Module 5: Database connection

Web Service Testing. SOAP-based Web Services. Software Quality Assurance Telerik Software Academy

Performance Testing and Optimization in Web-Service Based Applications

SmartBear SoapUI 5.1

WEB SERVICES TEST AUTOMATION

QA Tools (QTP, QC/ALM), Selenium with Java, Mobile with Automation, Unix, SQL, SOAP UI

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

IBM Rational Web Developer for WebSphere Software Version 6.0

Automated Integration Testing & Continuous Integration for webmethods

WebSphere ESB Best Practices

Cross-domain Identity Management System for Cloud Environment

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

Objectif. Participant. Prérequis. Pédagogie. Oracle SOA Suite 11g - Build Composite Applications. 5 Jours [35 Heures]

SmartBear SoapUI 5.1

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Web Application Testing. Web Performance Testing

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Service Governance and Virtualization For SOA

T320 E-business technologies: foundations and practice

SOFTWARE TESTING TRAINING COURSES CONTENTS

Talend Open Studio for ESB. Release Notes 5.2.1

Open Source SCA The Apache Tuscany Project

Getting started with API testing

The presentation explains how to create and access the web services using the user interface. WebServices.ppt. Page 1 of 14

ActiveVOS Server Architecture. March 2009

Author: Gennaro Frazzingaro Universidad Rey Juan Carlos campus de Mostòles (Madrid) GIA Grupo de Inteligencia Artificial

OXAGILE RESUMES SUMMARY OF QUALIFICATIONS TECHNICAL SKILLS SENIOR JAVA SOFTWARE ENGINEER

Assessing the usefulness of the WS-I tools for interoperability testing

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

Introduction to Automated Testing

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

How To Create A C++ Web Service

Test Automation Tool comparison HP UFT/QTP vs. Selenium - Prashant Malhotra

ebay : How is it a hit

Building a Service Oriented Architecture with ServiceMix. Jeff Genender CTO Savoir Technologies, Inc

Service-Oriented Architectures

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Business Process Execution Language for Web Services

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

DESIGN OF AUTOMATION SCRIPTS EXECUTION APPLICATION FOR SELENIUM WEBDRIVER AND TestNG FRAMEWORK

Open Source SOA with Service Component Architecture and Apache Tuscany. Jean-Sebastien Delfino Mario Antollini Raymond Feng

Integration eines SOA Repositories mit Subversion zur Anbindung an den ESB

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

T320 E-business technologies: foundations and practice

Acknowledgments. p. 55

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

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

PEtALS Quick Start. PEtALS Team Roland NAUDIN - February

Apache CXF Web Services

1 What Are Web Services?

A standards-based approach to application integration

TIBCO ActiveMatrix BPM Mediation Component Development

Tools to support Requirements-Based Testing

Testhouse Training Portfolio

Seeking Nirvana. Jason Collins Director Solution Sales ITKO, a CA Technologies company

Sop U. SOAP over JMS with. Configuring soapui to test TIBCO SOAP over JMS. - Seshasai Kotipalli

Oracle SOA Suite 11g: Essential Concepts Student Guide

Improving Agility at PHMSA through Service-Oriented Architecture (SOA)

Continuous Integration For Fusion Middleware

Security Testing For RESTful Applications

Performance Testing Process

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

Java Web Services Training

Various Load Testing Tools

APAC WebLogic Suite Workshop Oracle Parcel Service Overview. Jeffrey West Application Grid Product Management

Getting Started with Service- Oriented Architecture (SOA) Terminology

Building Web Applications, Servlets, JSP and JDBC

Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus

1. Tutorial Overview

Enhancing A Software Testing Tool to Validate the Web Services

Software infrastructure for Java development projects

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Alternatives to SNMP and Challenges in Management Protocols. Communication Systems Seminar Talk 10 Francesco Luminati

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Property & Casualty Insurance Solutions from CCS Technology Solutions

David Pilling Director of Applications and Development

Pervasive Software + NetSuite = Seamless Cloud Business Processes

JBI and OpenESB. Introduction to Technology. Michael Czapski Advanced Solutions Architect, SOA/BI/Java CAPS Sun Microsystems, ANZ

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

PowerCenter Real-Time Development

How To Test A Factorial Service On A Soa Project

soapui Client Testing ecrv Web Services with soapui 1 9/20/2012 First edition soapui-x ecrv Development Team

INTEGRATING ESB / BPM / SOA / AJAX TECHNOLOGIES

Transcription:

Agile Web Service and REST Service Testing with soapui Robert D. Schneider Principal Think88 Ventures, LLC robert.schneider@think88.com www.think88.com/soapui

Agenda Introduction Challenges of Agile Development and Web/REST Service Testing Using soapui to Address these Challenges Service Virtualization Scenarios

About Think88 SOA-focused consultancy Silicon Valley-based Global alliances Key practices Architecture, design, testing Training Hands-on soapui Pro Bootcamp (3 days) Offered in US, UK, Norway, Sweden, France, Poland, Denmark Coming in Q4 2009: Advanced soapui Pro SOA workshops & certifications Governance SOA governance assessment Independent governance vendor selection

About Eviware soapui released open-source in 2005 eviware software ab (Stockholm, Sweden) founded 2006 Ole Matzura, CTO > 10 years experience Niclas Reimertz, CSO > 10 years experience Commercial soapui Pro release 2007 More than 400,000 downloads Plugins for Eclipse, NetBeans, Intellij IDEA, maven soapui Pro > 1,000 licensees All sectors, Telecom predominant

Challenges of Agile Development and Web/REST Service Testing

Agile Development & Web/REST Service Testing Test first, early and often is a key principle in agile development Contract-first design is a key underpinning of good SOA practices Unfortunately, there are several major problems in testing these kinds of services WSDL complex to understand WADL not widely adopted Development delays QA not equipped to write code for tests Determining coverage Governance & refactoring

Functional Testing soapui is designed to automate functional testing of Web services Functional testing is typically used in the following situations: Unit testing Data driven testing Compliance testing Process testing

Load Testing Four primary styles of load testing: Functional Behavioral Performance Requirements-driven Multiple types of load test can be part of one TestCase Lets you measure their effect on each other

Using soapui to Address these Challenges

soapui Test Structure & Terminology Workspaces A grouping of projects Similar in concept to tools such as Eclipse Projects These are the primary container of soapui objects. Made up of: Interfaces (based on the SOAP/HTTP binding for the PortType) Test Suites Mock Services

soapui Test Structure & Terminology TestSuites These contain one or more TestCases TestCases Serves as a container for one or more TestSteps Also contains TestRequests Enables applying assertions to a response for a message SOAP Schema validation SOAP fault TestSteps Individual Web service operation invocations

TestSteps Test Request Groovy script Properties Property Transfer Conditional Goto Delay Run TestCase REST Test Request HTTP Test Request Mock Response DataSource DataSource Loop DataSink DataGen

soapui Test Structure & Terminology DataSource Specialized type of TestStep, meant to streamline data-driven testing JDBC Excel Grid XML File Directory Groovy

soapui Test Structure & Terminology Coverage Metrics that indicate the degree to your tests cover your WSDL By functional test By MockService By Mock clients By SOAP monitor clients LoadTest Utility for configuring, running, and monitoring load tests on a Web service Multiple scenarios can be set Also implements functional validation Load tests can be run in parallel

soapui and Scripting Employs the Groovy programming language Version 3.0 will also support JavaScript Designed to give tester maximal control and flexibility Can be used: When opening/closing a project Within a test suite or test case When launching/halting a mock service To generate dynamic mock service responses To test assertions To add functionality to the soapui product

Groovy Fundamentals An open scripting language Supports object-oriented and script-style programming Supports GUI development Integrates effortlessly with Java libraries Dynamic scripting for soapui soapui provides Object Library and Event Model groovy.codehaus.org

What Can I Do From A Groovy Script? Virtually anything Build entire TestCases (TestSteps, assertions, etc) Example: Store all requests, assertions in a database and have a groovy-script that builds the TestCase and runs it dynamically Create/manage/run MockServices Create/open other projects

Where Can Groovy Scripts Run? In addition to Groovy Script Step, any extension points: TestCase Setup/TearDown scripts TestSuite Setup/TearDown scripts Project afterload/beforesave scripts MockService onstart/onstop scripts MockOperation dispatch scripts MockResponse/MockResponseStep scripts Groovy DataSource/DataSink Script Assertions for TestRequestSteps and MockResponseSteps

soapui Architecture WSDL-driven code generation for client and server-side artifacts:

Measuring Coverage When testing a piece of software, we want to know what percentage of its code has been exercised A similar concept exists for distributed computing technologies such as Web services

Measuring Coverage Three types of coverage scenario Functional tests Mock services SOAP monitoring Two classes of coverage WSDL coverage How much of a contract has been invoked? Assertion coverage How many XPath assertions have been applied?

Measuring Coverage Coverage statistics aggregated at the following levels: Project TestSuite TestCase Two coverage measurement options: Count empty responses as covered Count? responses as covered

Measuring Coverage

Mock Services Sometimes, you just can t connect to a Web service to test it The service hasn t been written yet, and/or The service has bugs but you need to keep building tests, and/or You re on an airplane soapui Mock Services let you build robust tests that utilized the contract Supports agile development practices These services are then run inside the included Jetty engine

Mock Services and Responses One of the beauties of mock services is that responses are completely configurable You can define many different responses for a given operation Once responses are defined, you can then route incoming requests in a variety of ways: Script Sequence Query match XPath Random

Differences between soapui and soapui Pro XML table inspection Form editor SOAP monitoring WSDL coverage Test refactoring Drag-and-drop Data collection Request/response coverage Team-based projects Script libraries Scripting libraries Code-free test assertions Data source-driven tests

Service Virtualization Scenarios

Virtualization Scenarios #1 WSDL defined, but service not yet written #2 Service written, but logic not fully implemented #3 Need to feed data to a virtual service #4 Need to feed large quantities of real data to a virtual service #5 Need to combine virtual service with a real service

WSDL defined, but service isn t yet written Discussion Demonstration

Service written, but logic not fully implemented Discussion Demonstration

Need to feed data to a virtual service Discussion Demonstration

Need to feed large quantities of data to a virtual service Discussion Demonstration

Need to combine a virtual service with a live service Discussion Demonstration

Questions

Agile Web Service and REST Service Testing with soapui Robert D. Schneider Principal Think88 Ventures, LLC robert.schneider@think88.com www.think88.com/soapui