More Related Content More from IBM UrbanCode Products (20) Learn Faster: Deploy what you have, Virtualize what you don't.1. © 2013 IBM Corporation
Learn Faster
Deploy what you have,
Virtualize what you don’t
2. © 2013 IBM Corporation
Who are these guys?
• Eric is a DevOps Evangelist with IBM where
he helps customers get the most out of their
build, deploy and release processes.
• Today he works with customers and industry
leaders to find the best ways of adopting
continuous delivery and DevOps.
• @EricMinick
Eric
Minick
• Al is a Testing Evangelist at IBM focused on
quality management and testing. Having
performed many development roles over a
number of years and armed with real-world
experience for the testing challenges
organizations face.
• Al has spent the last two years raising
awareness for Service Virtualization and
how it is the enabler to Continuous Testing!
• @Al_Wagner
Al
Wagner
3. © 2013 IBM Corporation
Delayed learning is why waterfall fails
Idea
Requirements
Development
Integrated Test
Release
Weeks / months to
validate code
matches Reqs
Months or years to learn if
ideas / requirements match
the market need
4. © 2013 IBM Corporation
Time to customer feedback is governed by risk
Traditionally
• Organizations looked to find a
balance between speed, cost &
risk.
• Development teams were not as
agile as they are today; testing
never seemed to have enough
time.
5. © 2013 IBM Corporation
Time to customer feedback is governed by risk
Traditionally
• Organizations looked to find a
balance between speed, cost &
risk.
• Development teams were not as
agile as they are today; testing
never seemed to have enough
time.
*Survey of 250 Testers
90% of testers have some but
not “complete” confidence in the
software that’s released.
4 testers are seeing faster releases per
1 that sees slower
34% of those who
expressed no change
were regularly
releasing quarterly or
better.
6. © 2013 IBM Corporation
Shift Left: To win in the market, learn faster
• Organizations are asking teams to release higher quality software sooner.
• Development teams are becoming more and more agile; testing still never
seems to have enough time.
7. © 2013 IBM Corporation
Today’s Focus: Integration Testing
Pretty Great
Castle, huh?
Just need to do that
little integration part
at the end.
8. © 2013 IBM Corporation
Late integration testing:
Design verification occurs too late in the lifecycle
100%
Project Schedule
DevelopmentProgress
(%coded)
Original
Target Date
Integration Begins
9. © 2013 IBM Corporation
Earlier validation leads to a smoother curve
100%
Project Schedule
DevelopmentProgress
(%coded)
♫
10. © 2013 IBM Corporation
Basic strategy
1. Deploy all the stuff
into a test
environment
2. Setup test scenarios
3. Run regression tests
4. Create “known good”
version of the system
5. Repeat when there
are changes
Pet Shop
Content
J2EE App
MySQL DB
SIT
WEB
MID
DB
PROD
WEB
MID
DB
Tomcat
Deploy
Process
Rollback
Process
Restart
Process
12. © 2013 IBM Corporation
Composite applications have lots of pieces
Image from ischool.tv
13. © 2013 IBM Corporation
Deploying composite applications
Challenges
1. Deploy all the stuff into a
test environment
2. Setup test scenarios
3. Run regression tests
4. Create “known good”
version of the system
5. Repeat when there are
changes
Need to
coordinate
change
Link to
provisioning
Track / collect
versions under
test
14. © 2013 IBM Corporation
Deploying composite applications
Challenges
1. Deploy all the stuff into a
test environment
2. Setup test scenarios
3. Run regression tests
4. Create “known good”
version of the system
5. Repeat when there are
changes
Coordinate Change
Model full applications and design
orchestrated release processes
JPetStore Application
Apache
Tomcat
JPetStore
DB
SIT
WEB
MID
DB
PROD
WEB
MID
DB
JPetStore
Content
JPetStore
WAR
15. © 2013 IBM Corporation
Deploying composite applications
Challenges
1. Deploy all the stuff into a
test environment
2. Setup test scenarios
3. Run regression tests
4. Create “known good”
version of the system
5. Repeat when there are
changes
Link Provisioning & Deploy
Deploy into environments that
don’t yet exist.
16. © 2013 IBM Corporation
Deploying composite applications
Challenges
1. Deploy all the stuff into a
test environment
2. Setup test scenarios
3. Run regression tests
4. Create “known good”
version of the system
5. Repeat when there are
changes
Track / collect versions
Create a logical version of what
was tested together, for
deployment to later environments.
17. © 2013 IBM Corporation
Testing is often plagued with bottlenecks & delays
Today’s testing challenges
1. Difficult to automate tests when the dependent services
have yet to be developed
2. Lack of complete production like test labs
3. Software and/or systems don’t exist yet as priorities may
differ across development teams
4. Testing with 3rd party services may incur access fees
driving up the cost of testing
5. Blocking defects may interrupt end-to-end testing
6. There just isn’t enough time due to all the interruptions!
There must be a way which allows Testers to test
What they want, When they want, How they want!
18. © 2013 IBM Corporation
Where do Testers want to spend their time?
Creating Automated Tests
Performing Exploratory Tests
Executing Automated Tests
Designing Tests
Planning Tests
Reviewing Test Results
Running Pre-defined Tests
Maintaining Automated Tests
I want to spend MORE time…
I want to spend LESS time…
Creating Reports
Maintaining Automated Test Tools
Configuring Test Tools
Creating Test Data
Re-running tests
Investigating, Documenting and Submitting Defects
Setting Up Test Labs
19. © 2013 IBM Corporation
Continuous Testing means…
Validating today’s composite applications earlier and at a lower cost
Continuous Testing
DevOps Foundation
Test Automation
• Run unattended
• Validate business flows
across channels
• Durable, maintainable,
resilient to change
Automated Deployment Into Test Environments
• Reliable • Repeatable • Traceable
Test Environments
• Realistic & complete
- (production like)
• Available on demand
• Inexpensive to setup
20. © 2013 IBM Corporation
Continuous Testing means…
Making production-like test environments a reality
Traditional test environments are both underutilized and insufficient
– Environments are expensive: hardware, software, and labor
– Tester and developer time wasted waiting for appropriate environment
Agile test environments require four enabling capabilities
Dynamic Infrastructure
Deployment
Automation
Test Environments
DevOps Foundation
Service
Virtualization
Test Data
Management
21. © 2013 IBM Corporation
Time Spent on Test Data Management
22. © 2013 IBM Corporation
Organization Process Technology
an agile test
organization and
testers need
continuous access
to test data
with agile
development you
have continuous
integration and
delivery and have to
test often
test data
management
software needs to
support agile method
by streamlining
access to test data
and having insight
into test data
Test Data Management with IBM InfoSphere Optim
Agile testing needs continuous access to test data
23. © 2013 IBM Corporation
Dealing With Unavailable Software & Services
24. © 2013 IBM Corporation
Continuous Testing improves software quality
Actual Service/App
Virtual Service/App
Service Virtualization can simulate the behavior of a
service or application for the purposes of testing
Service Virtualization is an enabler for continuous
testing
Services, applications, systems are introduced into
the continuous integration cycle in a prioritized,
controlled fashion.
Controlled integration helps isolate defects for faster
resolution.
Service virtualization enables
continuous integration testing
Using Service Virtualization
Enables testers to test continuously with control
25. © 2013 IBM Corporation
Continuous Testing means…
Creating easy to maintain automated tests for continuous execution
Continuous Testing
DevOps Foundation
Test Automation
• Run unattended
• Validate business flows
across channels
• Durable, maintainable,
resilient to change
Automated Deployment Into Test Environments
• Reliable • Repeatable • Traceable
Test Environments
• Realistic & complete
- (production like)
• Available on demand
• Inexpensive to setup
26. © 2013 IBM Corporation
Unattended test execution
Automate testing with Rational Test Workbench– integration, functional, & performance
Continuous Testing
27. © 2013 IBM Corporation
Continuous Testing means….
Automating the creation of realistic test labs
Continuous Testing
DevOps Foundation
Test Automation
• Run unattended
• Validate business flows
across channels
• Durable, maintainable,
resilient to change
Automated Deployment Into Test Environments
• Reliable • Repeatable • Traceable
Test Environments
• Realistic & complete
- (production like)
• Available on demand
• Inexpensive to setup
28. © 2013 IBM Corporation
IBM UrbanCode Deploy orchestrates and automates the deployment
of applications, middleware configuration, and database changes into
development, test and production environments.
Databases Internal
Messages
Third-party
Services
virtual components
Simultaneously
test across
multiple test
stages
Dev QA
IBM Rational Test
Virtualization Server
Combining continuous testing withOrchestration from build to production
A REAL reliable, repeatable, & traceable deployment automation solution
IBM UrbanCode
Deploy
IBM Rational
Test Workbench
integrated with
Test Environments
Dynamic Infrastructure
Deploy what is ready,
virtualize the rest
Continuously test in
production-like env.
Deploy private, secure
right sized test data
IBM InfoSphere
Optim Test Data Mgmt
UC Deploy Plugins
IBM Rational
Quality Manager
Manage quality across
the delivery lifecycle
29. © 2013 IBM Corporation
Summary
Get to market faster requires faster testing
Testers need automated tests, environments to run them in, and
the latest code in those environments.
Complex environments can be simplified with service
virtualization
Complex deployments can be managed with Application Release
Automation
Continuous testing coupled with continuous deployment, check
the software/validate the deployment process
Together, you get faster feedback and make more money
30. © 2013 IBM Corporation
Resources
Continue your learning journey as you shift left
ibm.co/ARDfordummies
ibm.co/ServiceVirtualizationForDummies
ibm.co/agilefordummies
ibm.co/devopsfordummies
31. © 2013 IBM Corporation
Learning opportunities on YouTube
IBM UrbanCode Applications
IBM Continuous Testing videos
http://www.youtube.com/playlist?list=PLZGO0qYNSD4VZEYSvNbpXqFnAqmsSj2gQ
http://www.youtube.com/user/IBMRationalUE/playlists?sort=dd&view=50&shelf_id=9