abc's of service virtualization

39
Parasoft Copyright © 2016 1 15 September 2016 The ABC’s of Service Virtualization Arthur “Code Curmudgeon” Hicken

Upload: parasoft

Post on 16-Apr-2017

120 views

Category:

Software


2 download

TRANSCRIPT

Parasoft Copyright © 2016 1

15 September 2016

The ABC’s of Service Virtualization

Arthur “Code Curmudgeon” Hicken

Parasoft Copyright © 2016 22

Open and hide your control panel

Join audio:

• Choose “Mic & Speakers” to use

VoIP

• Choose “Telephone” and dial

using the information provided

Submit questions and comments via

the Questions panel

Note: Today’s presentation is being

recorded and will be provided within

48 hours.

Your Participation

GoToWebinar Housekeeping

Parasoft Copyright © 2016 33

Your Presenter

Arthur Hicken has been involved in automating

various practices at Parasoft for over 20 years.

He has worked on projects including database

development, the software development lifecycle,

web publishing and monitoring, and integration

with legacy systems.

Arthur has worked with IT departments in

companies such as Cisco, Vanguard, and

Motorola to help improve their software

development practices.

Follow him on Twitter @codecurmudgeon

Parasoft Copyright © 2016 44

Agenda

Parasoft Copyright © 2016 55

We must Re-invent Test

The penalty for faulty software is increasing

Brand erosion

All industries at risk for total transformation

Technology is faster and more distributed

Containers

Microservices

Parasoft Copyright © 2016 66

Software Failures = Headlines 2015

-$2.55 Bn-4.06%

The day of the announcement companies lost an average

of shareholder value

Software failures make headline news—eroding customer confidence, shareholder value and brand equity

Parasoft Copyright © 2016 77

Complexity a Barrier to Testing

Parasoft Copyright © 2016 88

Enabling Technologies

Stubs

Service Virtualization

API testing

Test data management

Environment management

Self-service test environments

Parasoft Copyright © 2016 99

What is Service Virtualization

Service Virtualization delivers simulated application behavior

in dev / test environments allowing an organization to

test on-demand

Parasoft Copyright © 2016 1010

So, What can you Virtualize?

• SOA / Web services

• XML

• WSDL

• WADL

• UDDI

• WSIL

• SOAP

• PoX (Plain XML)

• REST

• JSON

• BPEL

• Web Applications

• SQL/Stored Procedures

• JDBC/ODBC

• Mainframe CICS/IMS

• Copybook

• Mobile Interfaces

• AJAX

• JSP

• JavaScript

• HTML

• CSS

• WS-*Standards

• SAP RFC/IDoc

• MTOM(XOP) / MIME / DIME

• OAuth

• TCP/IP

• webMethods Broker

• webMethods IS

• HL7

• FTP

• HTTP/HTTPS

• JMS

• IBM WebSphere MQ

• Sonic MQ

• RMI

• EJB

• SMTP

• Tibco Rendezvous

• .NET WCF

• ISO 8583, FIX, SWIFT

• Mainframe CICS, IMS

• EDI

• Java JVM calls

• Extendable Formats and Protocols

AUT

Parasoft Copyright © 2016 1111

Service Virtualization Misunderstood

VMware

Mocks

Stubs

Replaces integration testing

Parasoft Copyright © 2016 1212

Poll 1: Challenges

Do any of the following ever impact your testing?

Components not ready when I’m ready

Don’t have a full lab to test my application

Some of the 3rd party services cost per transaction

Mainframe access and cost

Development teams need to access the same test resource

Parasoft Copyright © 2016 1313

Agenda

Parasoft Copyright © 2016 1414

Access Issues

Pieces/Parts come from everywhere

Definitions changing (upgrades, new versions)

Not always available

Can’t test with real data without causing problems

Parasoft Copyright © 2016 1515

When to use SV? Access vs Configuration

Access Dependent applications difficult Scheduling conflicts High access fees Geo-political boundaries 3rd party or partner applications

Configuration Complex to configure No control Limited variability Consumes test time

Test Access

Simple Difficult

Configura

tion

Complex

Internal

Service

Internal

Application 3rd Party

Service

ERP

Mainframe

External

Application

External

Database

Internal

Database

Cloud

App

Message

Queue

ESB

Web

Server

Parasoft Copyright © 2016 1616

When to use SV? Access vs Configuration

Access Dependent applications difficult Scheduling conflicts High access fees Geo-political boundaries 3rd party or partner applications

Configuration Complex to configure No control Limited variability Consumes test time

Test Access

Simple Difficult

Configura

tion

Complex

Internal

Service

Internal

Application 3rd Party

Service

ERP

Mainframe

External

Application

External

Database

Internal

Database

Cloud

App

Message

Queue

ESB

Web

Server

Service Virtualization

Virtual Lab / Server

Virtualization

(i.e. VMWare)

Parasoft Copyright © 2016 1717

It’s Not All Ready At Once

Teams on different versions

Subcontractors

Parts that depend on other parts

Changing existing functionality

Parallel development

Continuous change

Parasoft Copyright © 2016 1818

Solution

Virtualize all external dependencies

Expensive internal dependencies

Time-constrained dependencies

IT constrained dependencies

Self-service!

Parasoft Copyright © 2016 1919

Agenda

Parasoft Copyright © 2016 2020

Behavior Issues

Multiple versions - of multiple components

Failures / faults

Understanding performance - Slow AND fast

Custom logic

Security / bad actors

Broad data

Parasoft Copyright © 2016 2121

Asset Versioning

Version the assets

Multiple branches

Different dependencies

Parasoft Copyright © 2016 2222

Death Spiral

Small errors lead to untested code

New errors are compounded

Leads to eventual system failure

Parasoft Copyright © 2016 2323

Solution

Expand testing by virtualizing things that you can’t easily make happen

Fault-injection

More permutations

Data-sources

Parasoft Copyright © 2016 2424

Agenda

Parasoft Copyright © 2016 2525

Cost Issues

Mainframes

3rd party pay-per-transaction services

Expensive systems

Duplicate systems (test & prod)

Triplicate systems (different teams)

Parasoft Copyright © 2016 2626

Mainframe LPAR‘Open Systems’Application

Parasoft Mainframe Support

IMS-TM

DB2

IMS-DB

CICS Region

IMS-TM

DB2DB2

IMS-DB

CICS Region

DLI / DL1

CICS

LINK

URM

EZA Socket

Data Structure/CopyBookHTTP or TCP/IP

Data Structure/CopyBookTCP/IP

DRDAJDBC / ODBC

WebSphere MQ

Web Services

XML or Data Structure/Copybook

MQ

SOAP/XMLHTTP or MQ

WebSphere

XML or Data Structure/CopybookHTTPStandard

Custom

Extensions

Java Virtualization

of IMS

Connections and

CTG Java API

CICS LINK and

COMMAREA

IMS ConnectJava API

‘Off Mainframe’ ServerJava

C/C++/.NET

Cobol

CTG Demon

CTG API

TXSeriesRegionTXSeries

Parasoft Copyright © 2016 2727

Reduced cost of creation and management of Test Environments by 85% for a major international bank

The Challenge

Complex test environments including; ATM, website and mobile front-end systems with WebSphere, Mainframe, MQ, SAP and DataPower back-end systems

Each test system costs >$2m, therefore only two environments available

Active development at every level of the system resulting in full end-to-end testing requiring careful coordination and sub-system teams often offline or unavailable due to upgrades

Database

SAP

Mainframe

Application

Mobile Application development and extension of current systems

Parasoft Copyright © 2016 2828

The Solution

Create a library of virtual assets for teams to share and use Environment Manager to replicate and manage Virtual test labs using different performance charactistics for different load scenarios.

Use automated test solution to test and validate at each layer independantly

EnvironmentManagement

Reduced cost of creation and management of Test Environments by 85% for a major international bank

Mobile Application development and extension of current systems

Database

SAP

Mainframe

Application

Virtual AssetVirtual

AssetVirtual Asset

Virtual AssetVirtual

Asset

Virtual Asset

Virtual AssetVirtual

AssetVirtual AssetVirtual

Asset

Virtual Asset Virtual

Asset

Virtual Asset

✔✖

Parasoft Copyright © 2016 2929

The Business Benefit

Improved efficiency, enabling Agile development, with the teams able to test in isolation without effecting full end-to-end system tests.

Reduced cost of creation and management of Test Environments by 85% for a major international bank

EnvironmentManagement

Mobile Application development and extension of current systems

✔✖

✔✖

✔✖

✔✖

Parasoft Copyright © 2016 3030

Agenda

Parasoft Copyright © 2016 3131

Speed Issues

Time to test

Time to configure

Address bottlenecks

Address versions

Address capacity constraints

Parasoft Copyright © 2016 3232

The Challenge

Performance issues found late in the SDLC resulting in large rework and cost

Middleware component able to handle large load but available downstream dependent systems were unable to provide throughput needed

Reduced testing time by 27-days for a major commercial bank

Capacity Constrained staged environments

Database

Service

Mainframe

Application

1000 tps

Parasoft Copyright © 2016 3333

Database

Service

Mainframe

Application

Reduced testing time by 27-days for a major commercial bank

The Solution

Identified key use-cases and emulate the behavior of dependent systems. Asset performance setup to match production load response values

SOAtest and LoadTest used to validate system under test. Virtual assets changed to model different scenarios

Capacity Constrained staged environments

1000 tps

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Parasoft Copyright © 2016 3434

Reduced testing time by 27-days for a major commercial bank

The Business Benefit

Team able to predict performances issues and resolve before full Performance testing.

Able to run different scenarios not easily achieved with production environment (excessive response times).

Setup for ‘performance test’ reduced to near zero

Capacity Constrained staged environments

1000 tps

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Virtual Asset

Different data/behavior/performance profiles

Parasoft Copyright © 2016 3535

Poll 2: Test Coverage

How much of your entire application do you usually test?

0-25%

26-50%

51-75%

76-100%

Unknown

Parasoft Copyright © 2016 3636

DEMO

Parasoft Copyright © 2016 4141

Reduces time to configure applications for test

Greatly reduces hardware costs or system access fees

Reduces the cost for “Test/QA” licenses

Increase software quality

Increases productivity

Realistic reusable assets

Benefits Service Virtualization

Parasoft Copyright © 2016 4242

Parasoft Function Solution Examples

Mobile Application development and extension of current systems

Agile/Parallel development limited by system dependencies

Capacity Constrained staged environments

Limited access to mainframes, ERPs, or 3rd party systems

Test data management for complex transactions

Parasoft SOAtest and Virtualize is used throughout the SDLC to speed access

to and reduce the costs of validation and management of development and

test environments

Parasoft Copyright © 2016 4343

Blog: http://alm.parasoft.com

Web: http://www.parasoft.com/jsp/resources

Facebook: https://www.facebook.com/parasoftcorporation

Twitter: @Parasoft @MustRead4Dev @CodeCurmudgeon

LinkedIn: http://www.linkedin.com/company/parasoft

Google+ Community: Continuous Testing

Questions?

Parasoft Named Leading Innovator for Service Virtualization