CA Service Virtualization vs. Mocks/Stubs
Compare key areas of differentiation between mocking / stubbing tools
and CA Service Virtualization
Definitions
Setting the ground
3 © 2017 CA. ALL RIGHTS RESERVED.
Stubs Mocks
 “Provide canned answers to
calls made during the test,
usually not responding at all
to anything outside what’s
programmed in for the
test.”
 Development or Testing
“objects pre-programed
with expectations which
form a specification of calls
they are expected to
receive.”
http://martinfowler.com/articles/mocksArentStubs.html#TheDifferenceBetweenMocksAndStubs
4 © 2017 CA. ALL RIGHTS RESERVED.
Service Virtualization
 A method of capturing and
simulating the behavior of
unavailable or incomplete
systems.
 Takes a modern approach to the
practice of “mocking” or
“stubbing”.
 Uses sufficiently “real” virtual
services without depending on
complexity and constraints of real
hardware or software.
 Benefits include:
– Earlier detection of defects
– Shorter Release cycles
– Reduced cost of development
– Reduced physical infrastructure
dependencies
Capabilities & Benefits - Compare & Contrast
Service Virtualization vs. Mocks/Stubs
6 © 2017 CA. ALL RIGHTS RESERVED.
Reduce Dependencies
and Constraints in App
Development
Reduce cycle times, earlier defect
discovery, more efficient use of resources.
Service Virtualization Mocks/Stubs
7 © 2017 CA. ALL RIGHTS RESERVED.
Virtualize test data for
comprehensive test paths
Faster setup/teardown, greater stability for
test automation.
Service Virtualization Mocks/Stubs
Test data must be
designed for specific use
8 © 2017 CA. ALL RIGHTS RESERVED.
Enable high performance
environments
Better realism and quantity of performance
testing.
Service Virtualization Mocks/Stubs
Not designed for
performance testing
9 © 2017 CA. ALL RIGHTS RESERVED.
Complete testing of
application business logic
Test each app component individually and
automate the validation of business
processes that span across multiple
internal and cloud based services.
Service Virtualization Mocks/Stubs
Inside Application
Code
10 © 2017 CA. ALL RIGHTS RESERVED.
Provide reuse and
collaboration across
development teams
Virtualize a Service once and reuse across
development teams and applications.
Service Virtualization Mocks/Stubs
Every app requires writing
mocks that could be shared
11 © 2017 CA. ALL RIGHTS RESERVED.
Incorporate into
Continuous Integration
Process
Hook into all stages of CI environments.
(Dev., QA, Performance, and Integration)
Service Virtualization Mocks/Stubs
Limited outside
of Dev. Environment
12 © 2017 CA. ALL RIGHTS RESERVED.
Reduce time and cost of
Maintenance for Dev and
Test environments
Increase dev time to focus on application
code vs. maintaining mocks and test data
that are code dependent.
Service Virtualization Mocks/Stubs
Code Dependent
13 © 2017 CA. ALL RIGHTS RESERVED.
Expansive Code Coverage
Enable a consistent and standardized SDLC/
CI Process with solution that supports all
code bases.
Service Virtualization Mocks/Stubs
Java Only
14 © 2017 CA. ALL RIGHTS RESERVED.
UI to modify request/
response
Resources with no developer skills can
create and update models.
Service Virtualization Mocks/Stubs
Coding required
15 © 2017 CA. ALL RIGHTS RESERVED.
Bulk import/ recording of
transactions
Leverage large volumes of actual behavior
and data.
Service Virtualization Mocks/Stubs
No recording or importing
of transactions
16 © 2017 CA. ALL RIGHTS RESERVED.
Magic Strings/Dates
Test request that don’t have a “specific”
response, as patters are identified and
made available. .
Service Virtualization Mocks/Stubs
Static Information
17 © 2017 CA. ALL RIGHTS RESERVED.
Think Time
Add “think time” to transactions to
simulate performance in production.
Service Virtualization Mocks/Stubs
Single Thread
18 © 2017 CA. ALL RIGHTS RESERVED.
Various Capture Methods
capture services through record a live
system (for accuracy) or import data.
Service Virtualization Mocks/Stubs
No Capture Mode
19 © 2017 CA. ALL RIGHTS RESERVED.
Learning Mode
“Learn” live system data over time or pass-
through to w/o reconfiguring SUT.
Service Virtualization Mocks/Stubs
No Learning Mode
20 © 2017 CA. ALL RIGHTS RESERVED.
CA Service Virtualization
 Leverage throughout Continuous Integration (CI) process
– Development, Pre-Production, Performance, Integration, QA.
 Test Data Management challenges may disappear entirely.
– Edge conditions, negative test scenarios and error handling
– Virtual service never “burn” since they play back behavior responses.
 Support across the enterprise including:
– web traffic (HTTP), web services (SOAP/XML), integration layers & ESB
(JMS, etc.)
 Simulate transactions and connections with:
– underlying mainframes (CICS, CORBA, etc.,), databases (JDBC, etc.) and
third-party services.
21 © 2017 CA. ALL RIGHTS RESERVED.
CA Service Virtualization
 STS security Plugin module cannot be mocked, but are easily
supported as a container with Service Virtualization
 Drive performance testing. Traditional Mock/Stub tools - not
designed for performance testing environments.
 Represents more realistic behavior than stubs and mocks.
 Delivers stand-alone, decoupled services suitable for sharing
between teams and organizations.
 Does not require proprietary source-code level changes or
modifications of the application under development.
For more information visit
ca.com/SV

CA Service Virtualization vs mocks stubs

  • 1.
    CA Service Virtualizationvs. Mocks/Stubs Compare key areas of differentiation between mocking / stubbing tools and CA Service Virtualization
  • 2.
  • 3.
    3 © 2017CA. ALL RIGHTS RESERVED. Stubs Mocks  “Provide canned answers to calls made during the test, usually not responding at all to anything outside what’s programmed in for the test.”  Development or Testing “objects pre-programed with expectations which form a specification of calls they are expected to receive.” http://martinfowler.com/articles/mocksArentStubs.html#TheDifferenceBetweenMocksAndStubs
  • 4.
    4 © 2017CA. ALL RIGHTS RESERVED. Service Virtualization  A method of capturing and simulating the behavior of unavailable or incomplete systems.  Takes a modern approach to the practice of “mocking” or “stubbing”.  Uses sufficiently “real” virtual services without depending on complexity and constraints of real hardware or software.  Benefits include: – Earlier detection of defects – Shorter Release cycles – Reduced cost of development – Reduced physical infrastructure dependencies
  • 5.
    Capabilities & Benefits- Compare & Contrast Service Virtualization vs. Mocks/Stubs
  • 6.
    6 © 2017CA. ALL RIGHTS RESERVED. Reduce Dependencies and Constraints in App Development Reduce cycle times, earlier defect discovery, more efficient use of resources. Service Virtualization Mocks/Stubs
  • 7.
    7 © 2017CA. ALL RIGHTS RESERVED. Virtualize test data for comprehensive test paths Faster setup/teardown, greater stability for test automation. Service Virtualization Mocks/Stubs Test data must be designed for specific use
  • 8.
    8 © 2017CA. ALL RIGHTS RESERVED. Enable high performance environments Better realism and quantity of performance testing. Service Virtualization Mocks/Stubs Not designed for performance testing
  • 9.
    9 © 2017CA. ALL RIGHTS RESERVED. Complete testing of application business logic Test each app component individually and automate the validation of business processes that span across multiple internal and cloud based services. Service Virtualization Mocks/Stubs Inside Application Code
  • 10.
    10 © 2017CA. ALL RIGHTS RESERVED. Provide reuse and collaboration across development teams Virtualize a Service once and reuse across development teams and applications. Service Virtualization Mocks/Stubs Every app requires writing mocks that could be shared
  • 11.
    11 © 2017CA. ALL RIGHTS RESERVED. Incorporate into Continuous Integration Process Hook into all stages of CI environments. (Dev., QA, Performance, and Integration) Service Virtualization Mocks/Stubs Limited outside of Dev. Environment
  • 12.
    12 © 2017CA. ALL RIGHTS RESERVED. Reduce time and cost of Maintenance for Dev and Test environments Increase dev time to focus on application code vs. maintaining mocks and test data that are code dependent. Service Virtualization Mocks/Stubs Code Dependent
  • 13.
    13 © 2017CA. ALL RIGHTS RESERVED. Expansive Code Coverage Enable a consistent and standardized SDLC/ CI Process with solution that supports all code bases. Service Virtualization Mocks/Stubs Java Only
  • 14.
    14 © 2017CA. ALL RIGHTS RESERVED. UI to modify request/ response Resources with no developer skills can create and update models. Service Virtualization Mocks/Stubs Coding required
  • 15.
    15 © 2017CA. ALL RIGHTS RESERVED. Bulk import/ recording of transactions Leverage large volumes of actual behavior and data. Service Virtualization Mocks/Stubs No recording or importing of transactions
  • 16.
    16 © 2017CA. ALL RIGHTS RESERVED. Magic Strings/Dates Test request that don’t have a “specific” response, as patters are identified and made available. . Service Virtualization Mocks/Stubs Static Information
  • 17.
    17 © 2017CA. ALL RIGHTS RESERVED. Think Time Add “think time” to transactions to simulate performance in production. Service Virtualization Mocks/Stubs Single Thread
  • 18.
    18 © 2017CA. ALL RIGHTS RESERVED. Various Capture Methods capture services through record a live system (for accuracy) or import data. Service Virtualization Mocks/Stubs No Capture Mode
  • 19.
    19 © 2017CA. ALL RIGHTS RESERVED. Learning Mode “Learn” live system data over time or pass- through to w/o reconfiguring SUT. Service Virtualization Mocks/Stubs No Learning Mode
  • 20.
    20 © 2017CA. ALL RIGHTS RESERVED. CA Service Virtualization  Leverage throughout Continuous Integration (CI) process – Development, Pre-Production, Performance, Integration, QA.  Test Data Management challenges may disappear entirely. – Edge conditions, negative test scenarios and error handling – Virtual service never “burn” since they play back behavior responses.  Support across the enterprise including: – web traffic (HTTP), web services (SOAP/XML), integration layers & ESB (JMS, etc.)  Simulate transactions and connections with: – underlying mainframes (CICS, CORBA, etc.,), databases (JDBC, etc.) and third-party services.
  • 21.
    21 © 2017CA. ALL RIGHTS RESERVED. CA Service Virtualization  STS security Plugin module cannot be mocked, but are easily supported as a container with Service Virtualization  Drive performance testing. Traditional Mock/Stub tools - not designed for performance testing environments.  Represents more realistic behavior than stubs and mocks.  Delivers stand-alone, decoupled services suitable for sharing between teams and organizations.  Does not require proprietary source-code level changes or modifications of the application under development.
  • 22.
    For more informationvisit ca.com/SV