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.
12. Developers Test Pyramid QA Team Test Pyramid
Web Service
View
JavaScript
Integration
Unit
Manual / Exploratory
UI
Web Service
DUAL TEST PYRAMID ANTI-PATTERN
13. 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
15. 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
34. WHAT THIS MEANS IS
34
Identify tests for
specific environments
Automation
practices
Get early feedback
Identify
environments
Test Consolidation
Maintenance
Test PrioritizationCommon repository
Test categorization
Single Dashboard
DevOps
Testing
cannot work
in isolation