Enabling CD in Enterprises with Testing
-
Upload
anand-bagmar -
Category
Software
-
view
2.374 -
download
0
Transcript of Enabling CD in Enterprises with Testing
EXECUTION CHALLENGES
Multi-Partners - Policies - Constraints - Way of working
Stakeholders
Agile
Money!
Trust
OTHER CHALLENGES
Team Distribution & Integration
Scope
Co-Existence
Data Migration
Defect Management
CODE QUALITY
Core product team(s)
Customization team(s)
Integration & configuration team(s)
Systems team(s)
NFR Team(s)
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
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
IDEAL TEST AUTOMATION PYRAMID
Unit
Manual / Exploratory
Integration
JavaScript
View
Web Service
UI
Cost
Impact
Time
Business- facing Tests
Technology- facing Tests
Web Service
View
JavaScript
Integration
Unit
Developers Test Pyramid QA Team Test Pyramid
DUAL TEST PYRAMID ANTI-PATTERN
Manual / Exploratory
UI
Web Service
LEGEND
Unit Tests
Integration Tests
Web Service Tests
Functional UI Tests
Manual / Exploratory
Tests
Developer Environment
Semi-Integrated Environment
Pre-Prod / UAT Environment
Integrated Environment
Stubbed Environment
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