More Related Content Similar to ABC's of Service Virtualization (20) ABC's of Service Virtualization1. Parasoft Copyright © 2016 1
15 September 2016
The ABC’s of Service Virtualization
Arthur “Code Curmudgeon” Hicken
2. 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
3. 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
5. 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
6. 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
8. Parasoft Copyright © 2016 88
Enabling Technologies
Stubs
Service Virtualization
API testing
Test data management
Environment management
Self-service test environments
9. 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
10. 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
11. Parasoft Copyright © 2016 1111
Service Virtualization Misunderstood
VMware
Mocks
Stubs
Replaces integration testing
12. 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
14. 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
15. 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
Configuration
Complex
Internal
Service
Internal
Application 3rd Party
Service
ERP
Mainframe
External
Application
External
Database
Internal
Database
Cloud
App
Message
Queue
ESB
Web
Server
16. 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
Configuration
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)
17. 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
18. Parasoft Copyright © 2016 1818
Solution
Virtualize all external dependencies
Expensive internal dependencies
Time-constrained dependencies
IT constrained dependencies
Self-service!
20. 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
21. Parasoft Copyright © 2016 2121
Asset Versioning
Version the assets
Multiple branches
Different dependencies
22. Parasoft Copyright © 2016 2222
Death Spiral
Small errors lead to untested code
New errors are compounded
Leads to eventual system failure
23. Parasoft Copyright © 2016 2323
Solution
Expand
testing by
virtualizing
things that
you can’t
easily make
happen
Fault-injection
More permutations
Data-sources
25. Parasoft Copyright © 2016 2525
Cost Issues
Mainframes
3rd party pay-per-transaction services
Expensive systems
Duplicate systems (test & prod)
Triplicate systems (different teams)
26. Parasoft Copyright © 2016 2626
Mainframe LPAR‘Open Systems’
Application
Parasoft Mainframe Support
IMS-TM
DB2
IMS-DB
CICS Region
IMS-TM
DB2
DB2
IMS-DB
CICS Region
DLI / DL1
CICS
LINK
URM
EZA Socket
Data Structure/CopyBook
HTTP or TCP/IP
Data Structure/CopyBook
TCP/IP
DRDAJDBC / ODBC
WebSphere MQ
Web Services
XML or Data
Structure/Copybook
MQ
SOAP/XML
HTTP or MQ
Web
Sphere
XML or Data Structure/Copybook
HTTPStandard
Custom
Extensions
Java Virtualization
of IMS
Connections and
CTG Java API
CICS LINK and
COMMAREA
IMS Connect
Java API
‘Off Mainframe’ Server
Java
C/C++/.NET
Cobol
CTG Demon
CTG API
TXSeries
RegionTXSeries
27. 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
28. 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
Environment
Management
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
✔✖
29. 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
Environment
Management
Mobile Application development and extension of current systems
✔✖
✔✖
✔✖
✔✖
31. Parasoft Copyright © 2016 3131
Speed Issues
Time to test
Time to configure
Address bottlenecks
Address versions
Address capacity constraints
32. 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
33. 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
34. 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/per
formance profiles
35. 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
37. 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
38. 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
39. 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