enabling cd in enterprises with testing

Post on 08-Sep-2014

1.228 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

abagmar@gmail.com Anand.Bagmar@thoughtworks.com

@BagmarAnand

about.me/anand.bagmar

THANK YOU

top related