Do you know that 63% of mobile users would be less likely to do business with you if they experience problems with your mobile application?
To ensure top-notch user experience, you need to conduct thorough testing on unpredictable network conditions—even if testing components are unavailable.
This presentation, delivered at Mobile Dev+Test 2015, describes an innovative strategy of using simulated test environments to bring the behavior of system dependencies and network conditions under your direct control.
Simulated test environments draw on two key technologies for anywhere access to a complete and realistic test environment. First, service virtualization enables teams to emulate the behavior of myriad dependencies involved in end-to-end mobile application transactions. Second, mobile network virtualization adds the ability to emulate the performance of network bandwidth, latency, and jitter.
With these tools in place, developers and testers can ensure that applications are validated extensively and accurately so your customers will experience great performance.
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Mobile Application Dev and QA Testing with Simulated Environments
1. Parasoft Proprietary and Confidential 1
2015-04-23
Mobile Application Dev and QA Testing with
Simulated Environments
Mobile DEV + TEST- April 23rd 2015
2. Parasoft Proprietary and Confidential 2Parasoft Proprietary and Confidential 2
Fixed Fixed
Testing is A Barrier to Speed
Plan Develop Build Test Release
1. “Test” is Currently a Time-Boxed Event
2. With the “Need for Speed” Testing Must be an in-line event
Plan Develop
Build
Test
Release
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
3. Parasoft Proprietary and Confidential 3Parasoft Proprietary and Confidential 3
Next Generation Software Testing
4. Parasoft Proprietary and Confidential 4
Complexity Impacts End User Experience
Increased complexity, means multiple points of performance failure
Major ISP
3rd Party
Cloud Services
Content
Networks
WiFi
Browsers
Phones
Tablets
Mainframe
DB
Servers
Web
Services
App
Servers
Web
Servers
Load
Balancers
Mobile
Components
Service VirtualizationMobile Network Simulation
5. Parasoft Proprietary and Confidential 5
Complexity Impacts Process Velocity
Mobile Network
Simulation
App Behavior
Simulation
Mainframe
3rd Party
Services
ERP
Internal
App
Client
Simulation
Mobile
Application
Isolation
6. Parasoft Proprietary and Confidential 6Parasoft Proprietary and Confidential 6
Software Drives Innovation
The Cost of Quality
associated with software
has shifted dramatically
Software has shifted
from process enabler to
business differentiator
SDLC Speed will be the
difference between a first
mover and a follower
7. Parasoft Proprietary and Confidential 7Parasoft Proprietary and Confidential 7
Software Failures = Headlines
-$2.3 Bn
-3.75%
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 Proprietary and Confidential 8Parasoft Proprietary and Confidential 8
Software Failures = Headlines
821,000
1,080,000
451,000
1,400,000
896,000
1,550,000
5,500,000
650,000
3,490,000
2,240,000
0
1,000,000
2,000,000
3,000,000
4,000,000
5,000,000
6,000,000
Cloud Services Airline Bank Software Retail
1st Event 2nd Event
Market does not forget— news about failure increase and
average of 167%
9. Parasoft Proprietary and Confidential 9
Software Failures = Headlines
Financial Airlines/Aero Government Media Internet/Tel
Automotive Technology Retail
10. Parasoft Proprietary and Confidential 10Parasoft Proprietary and Confidential 10
The Cost of Software Quality - Sony
http://www.reuters.com/article/2011/04/26/us-sony-stoldendata-idUSTRE73P6WB20110426
http://www.digitaltrends.com/gaming/sony-fined-almost-400000-for-2011-playstation-security-breach/
MarketValue
Event 15 Days 30 Days
-22% -33% -30%-19% -11% -12%
Cumulative Loss = $18B
11. Parasoft Proprietary and Confidential 11Parasoft Proprietary and Confidential 11
User Experience Counts
12. Parasoft Proprietary and Confidential 12Parasoft Proprietary and Confidential 12
Fixed Fixed
Impact of Test in the Evolving SDLC
Plan Develop Build Test Release
1. Test is Currently Time-Boxed Event
2. With the “Need for Speed” Testing Must be an in-line event
Plan Develop
Build
Test
Release
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
Build
Test
13. Parasoft Proprietary and Confidential 13Parasoft Proprietary and Confidential 13
Testing Considered a Bottleneck
Basic Tasks
Skilled Tasks
Process Oriented
Business Views
Fully Automated Provisioning
End-to-End Tasks
Data Analytics
Organic Systems
Automation is Incremental
Efficiency
Software Quality Processes
14. Parasoft Proprietary and Confidential 14Parasoft Proprietary and Confidential 14
What’s the View from Your Seat?
Actions
Strategy
Tasks
Process
Risk
Governance
Business
Portfolio
Application
Release
Iteration
Code
15. Parasoft Proprietary and Confidential 15Parasoft Proprietary and Confidential 15
Process Intelligence
Process Intelligence aggregates “siloed” information throughout the SDLC
and identifies business risks early and automatically
Correlate disparate data across:
Dependent teams
Dependent components
Infrastructure systems
Testing practices and tools
Apply advanced statistical analysis
From pre-build patterns
From Marketplace
With Open APIs
Advantages
Defect remediation
Exception-based notifications
16. Parasoft Proprietary and Confidential 16Parasoft Proprietary and Confidential 16
Transforming the Identification of Risk
From To
Causal Observations Probabilistic
Defect Documentation Most Likely Causes
Only Structured Data Structured and Unstructured
Filters Business Policies
Ad Hoc Automated
Tool Dependent Tool Independent
17. Parasoft Proprietary and Confidential 17Parasoft Proprietary and Confidential 17
Next Generation Test Construction
18. Parasoft Proprietary and Confidential 18Parasoft Proprietary and Confidential 18
The State of Continuous
Continuous
delivery
Continuous
development
19. Parasoft Proprietary and Confidential 19Parasoft Proprietary and Confidential 19
Continuous – what’s missing
Continuous
delivery
Continuous
development
Continuous
testing
20. Parasoft Proprietary and Confidential 20Parasoft Proprietary and Confidential 20
Getting from “Automated” to “Continuous”
There is a big leap moving from “Automated” to “Continuous”
Business expectations clearly defined
Business risks identified
Per application, team, release
Defects automatically prioritized versus business drivers
No defect left behind
Mitigate business risks
Clear ownership and workflow for remediation
Collaborative risk reduction
Collapse the remediation cycle time
Feedback loop for defect prevention
Pattern definition
Defect prevention practices enhanced
24. Parasoft Proprietary and Confidential 24Parasoft Proprietary and Confidential 24
Continuous Tests
Logically
componentized
Correlated with
business
requirements
Incremental
Repeatable
Deterministic
Maintainable
within a process
Process is
prescriptive based
on results
Continuous
Testing
25. Parasoft Proprietary and Confidential 25Parasoft Proprietary and Confidential 25
From Automated to Continuous
Continuous testing accelerates the SDLC by
managing quality expectations and actionable tasks
Requirements
Defined
Policy Management
Development
Defect Prevention
Development
Development Testing
Static Analysis
Unit/Component
Peer Review
Automated Tests
Integration Testing
API/Service Tests
Smoke Test
Security Tests
Automated Tests
System Testing
Functional Tests
Scenario Tests
Performance Tests
CI
Build
Defect Remediation Tasks
Go
Release Path
No Go
Business
Decision
Service Virtualization – Test Environment Access
26. Parasoft Proprietary and Confidential 26Parasoft Proprietary and Confidential 26
30
Environment Access?
The average number of
dependent application
associated with the
System Under Test (SUT)
BUT, Dev/QA only
have “trustworthy”
access to SIX
of the applications
302928272625
242322212019
181716151413
121110987
654321
27. Parasoft Proprietary and Confidential 27Parasoft Proprietary and Confidential 27
Test Environment Configuration
The average percentage
of time spent
configuring the test
environment.
30%
50%
The average percentage
of the test plan able
to complete once
configured.
28. Parasoft Proprietary and Confidential 28Parasoft Proprietary and Confidential 28
Survey Results…
When testing with a
dependent application
only need access to a
small percentage
of the applications
functionality
20%
29. Parasoft Proprietary and Confidential 29Parasoft Proprietary and Confidential 29
Lack of reliable access to a
realistic test environment
hampers software quality
Conclusion
30. Parasoft Proprietary and Confidential 30Parasoft Proprietary and Confidential 30
Service Virtualization delivers a
simulated dev / test environment
allowing an organization to test
anytime or anywhere
Service Virtualization
31. Parasoft Proprietary and Confidential 31Parasoft Proprietary and Confidential 31
So, What are you Virtualizing?
• Mainframe
• SOA / Web services
• Java
• .NET languages
• XML
• WSDL
• WADL
• UDDI
• WSIL
• SOAP
• PoX (Plain XML)
• REST
• JSON
• BPEL
• Web Applications
• Mobile Interfaces
• AJAX
• JSP
• JavaScript
• HTML
• CSS
• WS-*
• Standards
• MTOM(XOP) / MIME / DIME
• OAuth
• TCP/IP
• webMethods Broker
• webMethods IS
• HL7
• FTP
• HTTP 1.0
• HTTP 1.1
• HTTPS
• JMS
• IBM WebSphere MQ
• Sonic MQ
• RMI
• EJB
• SMTP
• Tibco Rendezvous
• .NET WCF
• ISO 8583
• EDI
• SAP
• custom
AUT
32. Parasoft Proprietary and Confidential 32Parasoft Proprietary and Confidential 32
Stubs Vs Service Virtualization
Stubs
Inside-out approach that disassociates a test case
with a dependent systems
Brittle
Limited reuse
Static response
Service Virtualization
Creates an environment in which to run “rich” test scenarios
Virtualized assets represent real system behavior
All virtualized-assets are reusable
Virtualized assets are programmable and extensible
Service Virtualization provides a complete environment for developing and
testing versus complex, dependent systems
33. Parasoft Proprietary and Confidential 33Parasoft Proprietary and Confidential 33
Access to Dev / Test Systems
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
34. Parasoft Proprietary and Confidential 34Parasoft Proprietary and Confidential 34
Service Virtualization & Dependencies
Service Virtualization
Virtual Lab
Configuration
Access
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
DifficultSimple
EasyComplex
35. Parasoft Proprietary and Confidential 35Parasoft Proprietary and Confidential 35
The Total Cost of System Access
Service Virtualization dramatically reduces the cost of delivering
a dev / test environment
Hardware Savings
Access EfficiencyStaged w/ Virtual Test Lab
Staged Application Instance
System Behavior
Cost
Only manage the functionality
you need
Only manage data you need
Low-Risk “disposable instance”
that can be accessed at anytime
Dramatically reduce test
environment setup and
management
Service Virtualization
36. Parasoft Proprietary and Confidential 36Parasoft Proprietary and Confidential 36
Service Virtualization Examples
Mobile Application development and extension
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 Virtualize is used throughout the SDLC to speed access to
and reduce the costs of managing development and test environments
37. Parasoft Proprietary and Confidential 37Parasoft Proprietary and Confidential 37
The Test Environment Challenge
Test environment access is outside the control of development and test leaving
gaps in the process
IT Operations
Parallel development
delays… Need simple,
realistic access to
dependent components…
Too much time
waiting for access…Need
reliable test data
Need a realistic test
environment easy to
maintain
Scheduling
Configuration
Access Limits
Dependent
Applications
Staged Assets
3rd Party Assets Virtual
Environments
Hyper Visor
App App App
38. Parasoft Proprietary and Confidential 38Parasoft Proprietary and Confidential 38
The Test Environment Challenge
Test environment access is outside the control of development and test leaving
gaps in the process
IT Operations
Scheduling
Configuration
Access Limits
Dependent
Applications
Staged Assets
3rd Party Assets Virtual
Environments
Hyper Visor
App App App
Create, Manage, Provision
39. Parasoft Proprietary and Confidential 39Parasoft Proprietary and Confidential 39
Environment – “Passive” or “Active”
Parasoft’s architecture is built for “passive” or “active”
environment modeling and maintenance
PVA
Endpoint
or
App Component
Protocol
Correlated
Tests
Associated
Environments
Message
Payload
Response
Logic
Performance
Profile
Test
Data
Management
• Native Support
• Extension API
• Marketplace
• Environment Manager
• ALM APIs
• CR/CD APIs
• Marketplace
• Environment Manager
• Marketplace
• Native Support
• Extension API
• Marketplace
• Modeling UI
• Log Files API
• Marketplace
• Native Support
• APM API
• Marketplace
• Modeling UI
• TDM API
• Marketplace
40. Parasoft Proprietary and Confidential 40Parasoft Proprietary and Confidential 40
Value of Service Virtualization
Increase Access to “Trustworthy” Test Environments
Provide a complete test environment
Provide access 24/7
Flexibility provides a platform for extending test scenarios, coverage
Reduce Operational Expenditures
Significantly reduce test environment configuration time
Simplify test environment access
Remove the bottleneck of test environment setup
Reduce Capital Expenditures
Software assets can be run anywhere
Significantly reduce bandwidth demand
Reduce dependency on staged environments
Service Virtualization drives better software quality
while reducing CapEx and OpEx