Upload
anand-bagmar
View
165
Download
4
Embed Size (px)
DESCRIPTION
The key objectives of Organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality! In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury! There are various practices that Organizations and Enterprises need to implement to enable CD. Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful. Testing in Organizations on the CD journey is tricky and requires a lot of discipline, rigor and hard work. In Enterprises, the Testing complexity and challenges increase exponentially. I am sharing my vision of the Test Vision and Strategy required to make successful the journey of an Enterprise on the path of implementing CD. Learn via a case study of an Enterprise, what does CD really means, and how and what Testing needs to be done in order to enable CD.
Citation preview
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
Test Automation
A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
Test Automation
A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
What is Test Automation?
Automation – A Safety Net
Manual / Exploratory UI
Web Service
View
JavaScript
Integration
Unit
Time
Value
Cost
IDEAL TEST AUTOMATION PYRAMID
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
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-delivery
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
CORE BANKING IMPLEMENTATION Case Study
ORGANIZATION OBJECTIVE
Money / Value
Time
Quality
DISTRIBUTION / FRAGMENTATION
Existing systems in Bank
External systems Customizing the
Core Banking Product
PROGRAM SCOPE
Legacy Core Banking Platform
130 systems and 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
24
Security
Performance
Auditability
Compliance
Accessibility
DISTRIBUTED TEAMS
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?
27
De
Integrated Environment
Unit tests
Integration tests
Web Service tests
Functional UI Tests
Manual / Exploratory tests
Legend
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
WHAT THIS MEANS IS
34
Identify tests for specific environments
Automation practices
Get early feedback
Identify environments
Test Consolidation
Maintenance
Test Prioritization Common repository
Test categorization
Single Dashboard
DevOps
Testing cannot work in isolation
KEY TAKEAWAYS
Listen
Buy-in
Levers Scope / Time / Capacity
Transparent
Quick Feedback - Give & Take
Quality
Learn & Evolve Innovate
Trust
Shared Understanding
Flexible
A Triangle == A Pentagon
36
So ….
OR …
37
A Triangle == A n-dimensional Polygon