qa in devops: transformation thru automation via jenkins

26
Jenkins World Tour 2015 Washington D.C., June 2015

Upload: tatyana-kravtsov

Post on 12-Aug-2015

229 views

Category:

Documents


2 download

TRANSCRIPT

Jenkins World Tour 2015Washington D.C., June 2015

#jenkinsconf

QA in DevOps: Transformation

thru Automation via Jenkins

#jenkinsconf

• Introduction

• Definition of DevOps

• 10 Steps to DevOps Transformation

• Target State

Agenda

#jenkinsconf

Tanya Kravtsov

• Head of Automation and Continuous Delivery at

• Founder of DevOpsQA NJ Meetup group

• Developer turned Tester

• Ballroom Dancer turned Mom

@tkravtsov

[email protected]

Introduction

#jenkinsconf

Definition of DevOps

ULTURE

UTOMATION

EAN

ONITORING

HARING

#jenkinsconf

Identify Bottlenecks

Step 1

#jenkinsconf“Any improvements made anywhere besides the bottleneck are an illusion”

Identify the Bottlenecks

#jenkinsconf

Setup common repository for

build, test, deploy artifactsStep 2

#jenkinsconf

• SCM Repository– Development and Test Artifacts

• Source Code

• Build Scripts

• Requirements

• Test Scripts

• Infrastructure configuration

• Software Repository– Release/Deployment Artifacts

• JAR, WAR and EAR files

• Release Notes

Common Repository for Artifacts

#jenkinsconf

Automate the Build

Step 3

#jenkinsconf

• Automate

– Compiling computer code into binary

– Packaging binary code

– Deploying to test and production

environments

– Creating documentation

Automated Build

#jenkinsconf

Setup a CI Server

Step 4

#jenkinsconf

• Setup Jenkins

1. Install Jenkins CI

2. Configure Jenkins Server

• Enter JDK and Build System

• Secure Jenkins

3. Install Jenkins Plugins

• E.g. Git, PMD, Junit

4. Configure Version Control System

5. Setup Jenkins Job

CI Server Setup

#jenkinsconf

Automate Unit Tests and

Adapt TDDStep 5

#jenkinsconf

• Unit Tests– Short independent tests

– Tests only fail when a bug is introduced

– When tests fail, we know the reason

• TDD1. Write Test First

2. Write enough code to make the first test fail

3. Fix the code to make the test pass

4. Repeat

Automated Unit Testing

#jenkinsconf

Collect Automated Code

Quality MetricsStep 6

#jenkinsconf

• Static Analysis

– Security vulnerabilities

– Common and critical defects

– Coding Standards

– Memory Leaks

• Code Coverage Analysis

– Measure Unit Test Coverage

– Measure application-level test coverage

Automated Code Quality Metrics

#jenkinsconf

Create Environment

Readiness Smoke testStep 7

#jenkinsconf

• Automated Environment Readiness test– Application Server

– Web Server

– Database Server

– Automation Framework Artifacts

– Authentication

– Virtual Machines

• Automated Product Readiness test– Validate critical functionality

Automated Smoke Test

#jenkinsconf

Run Automated Regression

nightlyStep 8

#jenkinsconf

• Test Automation – Automated Web Services Testing

– Automated UI Testing

• Parallel Execution– Virtualized Test Lab

– Central Management Dashboard

• Automated Test Data Management– Retrieval

– Generation

– Cleanup

• Selective Testing– Pairwise testing

– Searchable Test Case Repository

Automated Regression

#jenkinsconf

Automate Environment

configuration and provisioningStep 9

#jenkinsconf

• Automated Environment Setup process

– Infrastructure as Code

– Automated Configuration Management

– Virtualization

Automated Environment

#jenkinsconf

Automate Test Results

Analysis and ReportingStep 10

#jenkinsconf

• Automated Test Results Analysis– Consolidated Results

– Failure Analysis

– Defect Logging

• Automated Results Reporting– Automated Email Notifications

– Reporting Dashboard

– Excel, PowerPoint, ALM

– Root Cause Analysis

Automated Analysis and Reporting

Footer

#jenkinsconfTarget State