Ramesh Krishnamurthy, CTO at World DevOps Summit 2016

19
Topic Title: Integrating Test Automation in DevOps Name of the Speaker : Ramesh Krish Company Name : Indium Software (India) Limited http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

Transcript of Ramesh Krishnamurthy, CTO at World DevOps Summit 2016

Topic Title: Integrating Test Automation in DevOps

Name of the Speaker : Ramesh Krish

Company Name : Indium Software (India) Limited

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

START PROJECT APPLICATION BUILD AVAILABLE FINISH PROJECT

REGRESSION CYCLE

Document Steps

Document Steps

Traditional Automation

Record

Tests

Run Scripts & Analyze tests

Modify Test for Changes

Run Scripts & Analyze tests

Re -Recording

Modify Test for Changes

Identification of multiple tool sets

Setup infrastructure Run and Analyze

Test

Troubleshooting and fixing issues on need

basis

Identify Automatable Components

CODE | BUILD | TEST |

PACKAGE | RELEASE |

CONFIGURE | MONITOR

Automation in Dev-Ops

Implement Solution

Test case Feasibility for Automation

Modify Test

Run and Analyze Test

Modify Test

Run Scripts

& Analyze

tests

Build components

& Flows Automate Run

Scripts

Framework Driven

Automation In Agile

Run Scripts

Test Automation Overview

Development, Review, Approval & CI

CODE

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

Typical DevOps Structure

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

QA

IT Operations

DEV

DevOps

Version Control, Code Merge, Build Status

Quality Assurance (Smoke / Sanity, Regression)

Artifact Repo, Pre deployment staging

Infra Configuration , Management

Performance, Health Checks

Change Mgnt, Release Approvals, Regression Automation

DevQA

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

QA

OPS

DEV

LEGENDS

- Dev - QA

Code review / Approval /

Merge

Build Version Control

Build Status Notification

QaOps

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

QA

OPS

DEV

LEGENDS

- QA - OPS

Build Deployment

Artifact Repository

Pre deployment Staging

Infrastructure Configuration

Configuration Management

Performance Monitoring

DevOps - QA

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

QA

OPS

DEV

LEGENDS

Change Management

Release Approvals

Continuous Integration

Health Check

Defect Management

- Dev - OPS

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

Entity

Developer

Source Code

STOP / OPEN DEFECT

Test

Cluster

Test Tools [Selenium, UFT, Junit, SlikTest]

Test Management

Tool

PROCESS ID: S02

Deliver Build

MOVE TO PRODUCTION

PROCESS ID: S01

Prepare Staging Environment PROCESS ID: S03

Final Validation (UAT)

PROCESS ID: S04

Executive Approval

S01

STAGING ENVIRONMENT [EXTERNAL]

QA ENVIRONMENT [INTERNAL]

Test Controller

Q02

Q03

PROCESS ID: Q02

Compile Source

PROCESS ID: Q01

Prepare Build

PROCESS ID: Q03

Deliver Build

Test Controller

Test Pass?

PROCESS ID: Q04

Integration / System Testing

Run Tests

Build Request

Yes

Yes

No

Deployment Request

No Validation Pass?

Build successful Notification

Installation Request

CLOUD INFRASTRUCTURE

STAGING SERVER

Unmerge Request

CODE MERGE

CI Tool [Jenkins, Buildbot,

Hudson]

Q01

Build Successful Notification

CI Tool [Jenkins, Buildbot,

Hudson]

CI LAYER

iSAFE – Automation Framework

A working model

Entity

Developer

Source Code

STOP / OPEN DEFECT

Test

Cluster

Test Tools [Selenium, UFT, Junit, SlikTest]

Test Management

Tool

PROCESS ID: S02

Deliver Build

MOVE TO PRODUCTION

PROCESS ID: S01

Prepare Staging Environment PROCESS ID: S03

Final Validation (UAT)

PROCESS ID: S04

Executive Approval

S01

STAGING ENVIRONMENT [EXTERNAL]

QA ENVIRONMENT [INTERNAL]

Test Controller

Q02

Q03

PROCESS ID: Q02

Compile Source

PROCESS ID: Q01

Prepare Build

PROCESS ID: Q03

Deliver Build

Test Controller

Test Pass?

PROCESS ID: Q04

Integration / System Testing

Run Tests

Build Request

Yes

Yes

No

Deployment Request

No Validation Pass?

Build successful Notification

Installation Request

CLOUD INFRASTRUCTURE

STAGING SERVER

Unmerge Request

CODE MERGE

CI Tool [Jenkins, Buildbot,

Hudson]

Q01

Build Successful Notification

CI Tool [Jenkins, Buildbot,

Hudson]

CI LAYER

Listener

iSAFE – Automation Framework

Entity

Developer

Source Code

STOP / OPEN DEFECT

Test

Cluster

Test Tools [Selenium, UFT, Junit, SlikTest]

Test Management

Tool

PROCESS ID: S02

Deliver Build

MOVE TO PRODUCTION

PROCESS ID: S01

Prepare Staging Environment PROCESS ID: S03

Final Validation (UAT)

PROCESS ID: S04

Executive Approval

S01

STAGING ENVIRONMENT [EXTERNAL]

QA ENVIRONMENT [INTERNAL]

Test Controller

Q02

Q03

PROCESS ID: Q02

Compile Source

PROCESS ID: Q01

Prepare Build

PROCESS ID: Q03

Deliver Build

Test Controller

Test Pass?

PROCESS ID: Q04

Smoke / Sanity / Integration / System Testing

Run Tests

Build Request

Yes

Yes

No

Deployment Request

No Validation Pass?

Build successful Notification

Installation Request

CLOUD INFRASTRUCTURE

STAGING SERVER

Unmerge Request

CODE MERGE

CI Tool [Jenkins, Buildbot,

Hudson]

Q01

Build Successful Notification

CI Tool [Jenkins, Buildbot,

Hudson]

CI LAYER

iSAFE – Automation Framework

Listener Listener

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

Lack of Skilled Resources

Tools Management

Legacy to cloud migration

Collaboration within the teams

Consistently passing Smoke & Sanity suites

DEVOPS AUTOMATION - CHALLENGES

DevOps - Advantages & Challenges

Repetitive and monotonous manual tasks can be eliminated

8x more frequent production deployments

50% lower change failure rates

3x reduction in cost

12x faster service restoration times when something went wrong

Entire automation is version controlled

Eliminate human errors

Most of the activities in Dev Ops can be automated

DEVOPS AUTOMATION - ADVANTAGES

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

CODE CODE REVIEW

"Crucible | Gerrit | GitLab | Kallithea |Patchwork |Phabricator | Review Board | Rietveld |

RhodeCode |Understand |Upsource"

VERSION CONTROL

"Concurrent Versions System (CVS) | CVSNT | OpenCVS | Subversion (SVN) Vesta | Filesentral |

AccuRev |Autodesk Vault |CADES | Dimensions CM

|IBM Rational ClearCase |IBM Configuration Management Version Control (CMVC) | IBM Rational Team Concert | IC Manage Global Design Platform

(GDP) | PTC Integrity (Formerly MKS Integrity). Panvalet | Perforce | PVCS |Quma Version Control System |

Razor |StarTeam | Surround SCM | Team Foundation Server (TFS) | Visual Studio Team Services (VSTS) | IBM

Rational Synergy | Vault| Visual SourceSafe"

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

BUILD

CODE REVIEW

"Crucible | Gerrit | GitLab | Kallithea |Patchwork |Phabricator | Review Board | Rietveld |

RhodeCode |Understand |Upsource"

CONTINOUS INTEGRATION

Jenkins | TeamCity | Travis CI |Go CD | Bamboo | Gitlab CI | Circle CI | Codeship

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

TEST

CODE REVIEW

"Crucible | Gerrit | GitLab | Kallithea |Patchwork |Phabricator | Review Board | Rietveld |

RhodeCode |Understand |Upsource"

VERSION CONTROL

CONTINOUS INTEGRATION

Jenkins | TeamCity | Travis CI |Go CD | Bamboo | Gitlab CI | Circle CI | Codeship

TEST MANAGEMENT TOOLS

TET | TETware | Test manager RTH | Testlink

FUNCTIONAL TESTING TOOLS

Selenium | Soapui | Watir | HTTP::Recorder | WatiN | Canoo | WebTest | Webcorder | Solex | Imprimatur

| SAMIE | Swete | ITP | WET | WebInject

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS PACKAGE

CODE REVIEW

"Crucible | Gerrit | GitLab | Kallithea |Patchwork |Phabricator | Review Board | Rietveld |

RhodeCode |Understand |Upsource"

VERSION CONTROL

CONTINOUS INTEGRATION

Jenkins | TeamCity | Travis CI |Go CD | Bamboo | Gitlab CI | Circle CI | Codeship

TEST MANAGEMENT TOOLS

TET | TETware | Test manager RTH | Testlink

FUNCTIONAL TESTING TOOLS

Selenium | Soapui | Watir | HTTP::Recorder | WatiN | Canoo | WebTest | Webcorder | Solex | Imprimatur

| SAMIE | Swete | ITP | WET | WebInject

OSX

Mac Appstore | Homebrew | Fink | Macports | Joyent

WINDOWS

Windows store | Windows phone store | Cygwin | NuGet

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

RELEASE

CODE REVIEW CONTINOUS INTEGRATION TEST MANAGEMENT TOOLS OSX RELEASE & DEPLOYMENT

Atlassian Bamboo | Attunity | Automic | AutoRABIT | Basis | Software | BMC | BuildBot | Build Forge|

AnthillPro | CA LISA | (Nolio) | CSC Cloud | CFEngine | Distelli | Electric Cloud | Fastlane | Flexagon |

GitHub | glu

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

CONFIGURE

CODE REVIEW CONTINOUS INTEGRATION TEST MANAGEMENT TOOLS OSX RELEASE & DEPLOYMENT CONFIGURE

Ansible (Python-based) | CFEngine | Chef (Ruby-based) | Distelli |

OpenMake Software Release Engineer | Otter | Puppet (Ruby-based) | Salt (Python-based) | Rex

(Perl-based) | Puppet | saltstack / salt | chef / chef

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/

DevOps Tools

BUILD

TEST

PACKAGE

RELEASE

CONFIGURE

MONITOR

CODE

DEVOPS TOOLS

MONITOR

CODE REVIEW CONTINOUS INTEGRATION TEST MANAGEMENT TOOLS OSX RELEASE & DEPLOYMENT CONFIGURE MONITOR

Nagios, Zabbix & Sensu | AWS CloudWatch & StackDriver | New Relic & AppDynamics |

Compuware APM & Boundary | BigPanda and PagerDuty

World Conference Next Generation Testing 2015

Speaker Name: Ramesh Krish

Email ID: [email protected]

Organized by UNICOM Trainings & Seminars Pvt. Ltd. [email protected]

http://www.unicomlearning.com/2016/World_Devops_Summit_Bangalore/