Enabling CD in Enterprises with Testing - Anand Bagmar

46
ENABLING CONTINUOUS DELIVERY IN ENTERPRISES WITH TESTING Anand Bagmar – Test Practice Lead 1

Transcript of Enabling CD in Enterprises with Testing - Anand Bagmar

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

[email protected] [email protected]

@BagmarAnand

about.me/anand.bagmar

THANK YOU