4. The Classical
Integra0on/Release process
Environments
Dev Project Release Project IT Dept.
Handover Handover
(at the end) (at the end)
5. The Integra0on Team:
to integrate con0nuously
Development Phase Release Phase
Development Teams
Dev App
Concurrent, itera-ve,
incremental Ac-vi-es
Integra0on Acceptance Pre‐prod Produc0on
Integra0on Team
6. 10 Key success factors for the
integra0on team @ PPM
1. Integrate early
2. Team has the necessary resources
3. Con0nuous integra0on
4. Automated tests
5. At least two test environments
6. Early performance tests
7. Stop the line
8. Clear contract between Dev. and Integra0on teams
9. Make the process visible
10. Make the status visible (and understandable)
8. 2‐ Team has the necessary
resources: competence
Business
• Acceptance testers
Integration
backlog
Product Integra0on Testers
• Functional/Integration testers
Owner
Scrum Team • Performance testers
Technical Support
• Code build & deploy
• Environment setup and config
• Components Responsible
9. 2‐ Team has the necessary resources:
environments
Team is responsible for se]ng‐up and maintaining the
required test environments
Environments @ PPM:
Integra0on Acceptance Performance Produc0on
Virtualized HW Virtualized HW Produc0on‐like HW Produc0on HW
Test data Test data Produc0on data Produc0on data
(Daily deploy) (Deploy when needed) (Deploy when needed) (Controlled deploy)
11. Con0nuous Integra0on @ PPM
poll CruiseControl Checkout, build,
CVS & Maven run unit tests,
SVN (+nexus +clover) build RPMs
Developer
After every RPM
successfull build
Puppet RPM
repo
Nightly
Dev. Dev.
Dev.env. Dev.env.
Server
env. Server
env.
Server
Server Server
Server
Devlopment Environment Integration Environment
(mocked) (un-mocked)
12. 4‐ Automated Tests
To regression test as oaen as needed
Test goals @ PPM:
Test the result of the integra0on (no‐mocks)
– Unit tests
– Func0onal regression tests (automated & manual)
– Performance benchmarking (automated)
13. Automated Tests @ PPM
(model based tes0ng)
Integration Environment
(un-mocked)
SVN Test Runner (perl)
Test 1. Run
Automation 2. Collect
Test definitions .xml results
Expert MBT
Test models & scripts GUI
API
Selenium QTP
Shell Firefox
Perf. Windows
IE
Execu0ons Perl Virtual machine Linux
Mac OS
Safari
Opera
Results Virtual machine
(0mes, log files, JMeter
screen capture) Load‐
Runner
14. 5 ‐ At least two test environments
Integra0on env. (nightly builds)
Acceptance env. (stable)
Integra0on Acceptance Performance Pro
Virtualized HW Virtualized HW
Test data Test data
(Daily deploy) (Deploy when needed)
17. 8‐ Clear Contract between
Dev & Integra0on Teams
Code deliverable (maven, RPM)
Configuration info (Puppet scripts)
Tested! (x% unit tests coverage)
Requirements & Test cases in QaTraq
Automated tests integrated in test framework
Development Integra0on
Team Team
”Stop the line!”
Trouble Reports
Running Tested Features
19. Work to do
to pull the
features
through the Integration process
process
20. 10‐ Make Status visible and
understandable
Integra0on status can be hard to grasp (”nothing works!”)
Green =
Running Tested Feature
Features
(Requirements)
21. Running Tested Features @ PPM
Acceptance Criteria/ QaTraq
Requirements
(from PO)
Dev Req.
Team Test cases
Test cases
(checked by PO)
Report: how many Testers use QaTraq regs (tags)
features are passing Test results
In Automated tests
their acceptance tests
Running Dashboard
Tested
Features Automate
Manual
d
Integra0on
Integra0on
tests tests
Integration Environment
(un-mocked)
22. 10 Key success factors for the
integra0on team @ PPM
1. Integrate early
2. Team has the necessary resources
3. Con0nuous integra0on
4. Automated tests
5. At least two test environments
6. Early performance tests
7. Stop the line
8. Clear contract between Dev. and Integra0on teams
9. Make the process visible
10. Make the status visible (and understandable)
23. Next Steps
• Hunt waste, wai0ng 0me, etc. in the integra0on
process
– Op0mize value flow
• Pull through the integra0on process instead of push
– Kanban
• Release possible aaer every sprint
(instead of a few 0mes per year)!
christophe.achouiantz@avega.se