abc's of service virtualization
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 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 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 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 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 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 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 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