ENABLING
CONTINUOUS DELIVERY
IN ENTERPRISES WITH
TESTING
Anand Bagmar – Test Practice Lead
1
@BagmarAnand
about.me/anand.bagmar
ABOUT ME
WHAT DO YOU EXPECT FROM THIS SESSION?
A Triangle = A Pentagon
CORE BANKING
IMPLEMENTATION
Case Study
6
ORGANIZATION OBJECTIVE
Money / Value
Time
Quality
DISTRIBUTION / FRAGMENTATION
DISTRIBUTED TEAMS
PROGRAM SCOPE
PROGRAM SCOPE
PROGRAM SCOPE
PROGRAM SCOPE
130 systems,
290 interfaces!
PROGRAM SCOPE
EXECUTION CHALLENGES
Multi-Partners
-  Policies
-  Constraints
-  Way of working
Stakeholders
Agile
Money!
Trust
OTHER CHALLENGES
Co-Existence
Data Migration
Scope
Defect Management
Team Distribution
& Integration
NON FUNCTIONAL REQUIREMENTS
Security
Performance
Auditability
Compliance
Accessibility
CODE QUALITY
Core product
team(s)
Customization
team(s)
Integration &
configuration
team(s)
Systems
team(s)
NFR
Team(s)
How do you get early feedback in
such type of situation?
ORGANIZATION OBJECTIVE
Money / Value
Time
Quality
CONTINUOUS INTEGRATION (CI)
”… is a software development practice where members of a team
integrate their work frequently, usually each person integrates at
least daily - leading to multiple integrations per day. Each
integration is verified by an automated build (including test)
to detect integration errors as quickly as possible…."
-  Martin Fowler, ThoughtWorks Chief Scientist
Ø  http://www.thoughtworks.com/continuous-integration
CI PROCESS
CONTINUOUS DELIVERY (CD)
… is the natural extension of Continuous Integration: an approach in
which teams ensure that every change to the system is
releasable, and that we can release any version at the push of a
button. Continuous Delivery aims to make releases boring, so
we can deliver frequently and get fast feedback on what users
care about.
-  Martin Fowler, ThoughtWorks Chief Scientist
Ø  http://www.thoughtworks.com/continuous-delivery
CONTINUOUS DELIVERY
HOW DO WE GET TO CONTINUOUS DELIVERY?
Principles & Practices
Test Automation
A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
Test Automation
A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
What is
Test Automation?
Automation
-
A Safety Net
Time
Value
Cost
IDEAL TEST AUTOMATION PYRAMID
Manual / Exploratory
UI
Web Service
View
JavaScript
Integration
Unit
Technology-
facing Tests
Business-facing
Tests
REALITY
UI
Web Service
View
JavaScript
Integration
Unit
ICE-CREAM CONE ANTI PATTERN
Manual / Exploratory
Developers Test Pyramid QA Team Test Pyramid
Web Service
View
JavaScript
Integration
Unit
Manual / Exploratory
UI
Web Service
DUAL TEST PYRAMID ANTI-PATTERN
HOW DO WE GET TO CONTINUOUS DELIVERY?
De
Unit tests
Integration tests
Web Service tests
Functional UI Tests
Manual / Exploratory tests
Legend
PROGRAM SCOPE
De
Integrated
Environment
Developer Environment
De
Integrated
Environment
Developer Environment
Stubbed
Environment
De
Integrated
Environment
Developer Environment
Semi-Integrated
Environment
Stubbed
Environment
De
Integrated
Environment
Developer Environment
Semi-Integrated
Environment
Stubbed
Environment
De
Integrated
Environment
Developer Environment
Semi-Integrated
Environment
Stubbed
Environment
Pre-Prod
/ UAT
Environment
TAKEAWAYS – TO GET EARLY FEEDBACK – YOU NEED TO...
Identify tests
for specific
environments
Smart
Automation
Identify correct
& appropriate
environments
Test
Consolidation
Maintenance
Test
Prioritization
Common
repository
Categorize
Tests
Single
Dashboard
DevOps
Testing
cannot work
in isolation
Processes,
Practices & Tools
So ….
A Triangle == A Pentagon
OR …
A Triangle == A n-dimensional Polygon
abagmar@gmail.com
Anand.Bagmar@thoughtworks.com
@BagmarAnand
about.me/anand.bagmar
THANK YOU

Enabling CD in Enterprises with Testing - Anand Bagmar