Weitere ähnliche Inhalte
Ähnlich wie DevOps & Continuous Test for IIB and IBM MQ (20)
Kürzlich hochgeladen (20)
DevOps & Continuous Test for IIB and IBM MQ
- 1. © 2015 IBM Corporation
DevOps & Continuous Test for IIB and IBM MQ
Stuart Feasey
IBM Test and API / Service Virtualization Specialist
stuart.feasey@uk.ibm.com
- 2. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Without continuous testing there
is no continuous delivery!
Continuous Testing:
• Helps extend agile and lean practices across the
delivery lifecycle
• Removes traditional testing bottlenecks such as
unavailable test environments to increase
efficiency
• Enables teams to test earlier and with greater
coverage at lower cost
• Provides project teams with continuous feedback
on software quality to reduce business risk
Resolve today’s testing
challenges with confidence.
Why Organisations Need Continuous Testing
- 3. © 2015 IBM Corporation
Accelerating Product and Service Innovation
The rise of complex, distributed systems
• API Economy
• Built for interoperability
• Various technologies
• Distributed (inc. 3 party)
• Contention
• We need to test them!
30-50% average time
Testing teams spend on administering
environments, instead of testing
$5-30 million investment
Typically required to build a single test
lab for a Fortune 500 company. Most
have dozens …
- 4. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Presentation layer
Integrations, data
and business logic
Only one-tenth of an iceberg is above water
Traditional UI testing:
Automated Integration Testing and
Service Virtualization:
The majority of risk in modern systems is
seldom tested as it is unseen.
- 5. © 2015 IBM Corporation
Accelerating Product and Service Innovation
IBM DevOps – Continuous Testing
Adopting continuous testing principles provides early and constant feedback on
quality
Accelerate
software delivery –
for faster time to value
Balance speed, cost,
quality and risk –
for increased capacity
to innovate
Reduce time to
customer feedback –
for improved customer
experience
Continuous
Customer
Feedback &
Optimization
Collaborative
Development
Continuous Release
and Deployment
Continuous
Monitoring
Continuous
Business Planning
Continuous
Testing
Operate Develop/
Test
Deploy
Steer
DevOps
Continuous
Feedback
- 6. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Continuous Deployment and Testing
Change
Automated
Deployment
Automated
Testing
Feedback
Feedback
into dev, test
and ops
Deploy real
and
virtualized
components
Integration
testing and
UI testing
- 7. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Complexity…. Made Simple!
• Multiple layers of
technology
• Multiple vendor
platforms
• Complex
transactions
• Complex
dependencies
• Multiple
stakeholders
- 8. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 9. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 10. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 11. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 12. © 2015 IBM Corporation
Accelerating Product and Service Innovation
• What
it’s
all
about.
Inject;
observe
TEST
• The
fastest
way
to
build
tests
and
stubs
RECORD
• Observe
without
consuming
(typically
in
a
test)
WATCH
• The
act
of
creaBng
a
simulaBon
(stub)
of
a
service
[for
tesBng
reasons]
VIRTUALIZE
• The
ability
for
a
stub
to
decide
whether
to
process
a
message
or
give
it
to
the
real
service
SIFT-AND-PASS-THROUGH
• PopulaBng
Tester
with
informaBon
from
external
middleware
DISCOVERY/SYNCHRONIZE
• Transports
move
messages;
content
is
the
message
TRANSPORT VS CONTENT
Concepts / Capabilities
12
- 13. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Automated Integration Testing
- 14. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Blockers of early end to end testing…
“The test environment
refresh takes
3 weeks!!”
“Some of the APIs /
Services
we need are
still unavailable!”
“Can we begin
some testing
before everything
is available?”
“It is too expensive to
setup a live message
feed for test!”
“We’re still waiting for
them to deploy!”
- 15. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 16. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Service / API Virtualization
- 17. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Test
Management
UI Testing
Defect
Management
Source
Control
Rational Integration Tester / RTVS
Web
Services
TIBCO
RV/EMS
SOAP/XML
Over JMS
JMS
IBM
MQ
web
Methods
BPM
TCP
/IP
JDBC
Data
Management
Continuous
Integration
How does all of this fit in?
- 18. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Continuous Testing
Execute test assets in headless mode
– Regression test new code quickly
– Continuous test cycles
– Build / Deploy / Test / Virtialize / Report
Integrate into new or existing process
– Urban Code Plugin
– ANT task integration with Jenkins, CruiseControl, Bamboo, etc
– Command line execution
– Native integrations RTC, RQM, HP QC etc
Integration Tester reports served through a web browser (via Control Panel)
18
- 19. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Discover Build
Discovery
19
WHAT DO I NEED TO VIRTUALIZE?
WHAT DO I NEED TO TEST?
HOW DO I CREATE TEST DATA?
HOW DO I MINIMIZE MY EFFORT?
- 20. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Discovery
Communication
Import
Synchronize
Runtime Service
Discovery
Recording
- 21. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Sift and pass through with MQ – unparalleled
capability in the market
MQ Queue
Manager
Queue
Real Test
System
MQ
Exit
Client that
initiates
transaction (or
RIT)
MQ Exit is installed on the MQ
Queue Manager. Directs
inbound and outbound traffic for
execution purposes.
Stub
MQ Exit
Intercepts
message
before it hits
the inbound
queue.
If stub is down, then
MQ Exit directs
message to Live
system.
Pass through route.
- 22. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Supported Technologies
- 23. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Common MQ implementation patterns
App
Server
MQ
Test MQ Services
Virtualize MQ Dependencies
Use RTVS to stand in for dependent
components in SUT, such as 3rd party
interfaces
Virtualize MQ Services
Use RTVS to stand in for MQ based services in
testing scenarios. Earlier and more flexible
testing
MQ
MQ
- 24. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Sys Tests
Unit Tests
UAT
OAT
Performance
The Old World
Big Bang
• Multiple defects introduced at once
• More unknowables – greater risk
• Expensive!
Requirements
- 25. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Requirements
Unit Tests
Performance
UAT
OAT
The New World
Big Bang
Integration Tests Sys TestsSys Tests
• Accelerated testing
• Reduced costs
• Lowered risk
- 26. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Rational Functional Tester
Rational Performance Tester
RTW Mobile
Rational Integration Tester
Rational Test Virtualisation Server
Rational Performance Test Server
Rational Test Control Panel
Rational Test
Workbench
- 27. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Demo: Holiday booking web application
- 28. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Queue
Manager
Demo Application: Hotair (holiday booking web application)
App
Server
DBA00010A00011A00012
GUI
- 29. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Queue
Manager
New DEV / TEST environment required… but no new app server or
database available
App
Server
DB A00010A00011A00012
GUI
- 30. © 2015 IBM Corporation
Accelerating Product and Service Innovation
VisaMastercard
Queue
Manager
App
Server
DBA00010A00011
A000XX
Amex
Add V2 virtual service to existing DEV environment... whilst still
running the “real” V1 service instance
GUI
- 31. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Case study Banking industry, ~120 interfaces
KPIs after adopting Service Virtulisation and Agile
Development
0
50
100
150
200
250
2010 2011 2012
Average cost of project
Average Duration of Project
Months
Average Consultants on
Projects
Average Production Incidents
after 'Go Live'
Total Projects Completed
year on year
Power (Average cost of
project)
Linear (Total Projects
Completed year on year)
160k
96K
110
160
205
60K
3
4 4
5
3
22
1
0.3
- 32. © 2015 IBM Corporation
Accelerating Product and Service Innovation
The ROI of Service Virtualization
The results are real!
3 Year Benefits:
• Increased project delivery capacity 100% (40 projects to 80 projects)
• Avoided hiring three additional FTE's, saving almost $600k.
• Reduced incidents found in production from 2.5 to .3 per project, saving $3 million
• Identified defects earlier and freed the team up to focus on new capabilities, saving over $560k
• Reduced consulting and third party testing fees with better test automation, saving $408k
• Eliminated the need for additional hardware and labor to set up test environments, saving $700k
• Generated new revenue for the business – estimated at tens of millions!
A major European bank implemented service virtualization and automated integration
testing as part of an Agile transformation to enable continuous testing. As a result of
IBM capabilities, their system integration test (SIT) process was reduced from 3
weeks down to four hours!
The
Total
Economic
Impact™
of
IBM
Ra5onal
Service
Virtualiza5on
and
Test
Automa5on
Solu5ons,
a
July
2014
commissioned
study
conducted
by
Forrester
Consul5ng
on
behalf
of
IBM
- 33. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Links / Resources
Forrester Report (The Total Economic Impact™ of IBM Rational Service Virtualization and Test Automation
Solutions):
https://www.ibm.com/services/forms/signup.do?source=swg-rtl-sd-ar&S_PKG=ov16778
Service Virtualization You Tube Channel:
https://www.youtube.com/playlist?list=PLlhg84-xzjfwdUShtwq7sG4HZQpFUwwFM
IBM Service Virtualization Web Page (contains lots of useful links to pdf downloads and videos):
http://www-01.ibm.com/software/rational/servicevirtualization/resources/index.html
Rational Test Workbench Knowledge Center (official product documentation):
http://www-01.ibm.com/support/knowledgecenter/SSBLQQ_8.7.0/com.ibm.rational.test.lt.rtw.nav.doc/topics/
c_ovr_rtw.html
Continued on next slide…
- 34. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Links / Resources
https://www-01.ibm.com/marketing/iwm/iwm/web/signup.do?source=swg-rtl-sd-wp&S_PKG=ov13523
https://www-01.ibm.com/marketing/iwm/iwm/web/signup.do?source=swg-rtl-sd-wp&S_PKG=ov18162
- 35. © 2015 IBM Corporation
Accelerating Product and Service Innovation
- 36. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Licensing
RTW
§ Fixed
§ Floating
§ 4 tools per machine
RTVS
§ PVU
§ Tokens
Term and perpetual
1 month to 60 month
- 37. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Continuous testing with virtualized services
Automating deployment and testing to production-like environments
Databases Mainframe
applications
Third-party
Services
Rational Test Virtualization Server
Deploy
Application
changes
being tested
virtualized services
Dev QA
Rational
Team Concert
Jenkins
Build
Deploy
RaBonal
Test
Workbench
Test
Configure
IBM UrbanCode Deploy
RTW plugin RTVS plugin
- 38. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Mobile Tier (SOE)
Back-end Tier
Web Services
Tier (SOE)
Mainframe transactional services
Production
Environment
AppStore
Integration
Test
Dev
Mobile
Build
Device
deployment
& testing
Dev Build
App Deploy
& testing
Distributed DevOps Pattern
Mobile apps need to be updated and released rapidly, delays due to wait for operations teams to setup test
labs, longer cycles required to integrate with existing apps/services, processes
Rapid deployments
Frequent deployments
Few deployments
IBM UrbanCode Release
IBM UrbanCode Deploy
IBM UrbanCode Deploy
IBM UrbanCode Deploy
- 39. © 2015 IBM Corporation
Accelerating Product and Service Innovation
UrbanCode “Green Hat” Plugin
• Environment Management (dynamically set environment
variables)
• Run Integration Tests (i.e. continuous test)
• Start / Stop Stub (plug any gaps in the “real” environment)
• Start / Stop Scenario (multiple stubs started to set “scenario”
for environment)
• Simple generic ANT script generation and RESTful interface
capability for other CI tools interoperability
39
- 40. © 2015 IBM Corporation
Accelerating Product and Service Innovation
Example: Virtualizing services in a component process from within
UrbanCode Deploy via “Green Hat” plugin
40