dev/test scenarios in devops world

28
Davide Benvegnù Microsoft MVP Visual Studio ALM Dev/Test Scenarios in the DevOps World Organised by:

Upload: davide-benvegnu

Post on 08-Jan-2017

307 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Dev/Test scenarios in DevOps world

Davide BenvegnùMicrosoft MVP Visual Studio ALM

Dev/Test Scenarios in the DevOps World

Organised by:

Page 2: Dev/Test scenarios in DevOps world

Davide Benvegnù• Director & CTO – DBTek Ltd• Former International Development Manager – Aruba.it

• Microsoft MVP in Visual Studio ALM• Speaker - Trainer • Community Contributor ( 2 in Italy, 1 in HK soon)

• 13+ years experience in IT, 10+ years experience in ALM / DevOps

@davidebenvegnu – www.dbtek.com.hk – [email protected]

@bout Me

Page 3: Dev/Test scenarios in DevOps world

• DevOps, Agile and so• About Dev/Test• Unit test, Functional test and

Load Test• Continuous deployment• Demo

Agenda

Page 4: Dev/Test scenarios in DevOps world

DevOps, Agile and so…

Page 5: Dev/Test scenarios in DevOps world

DevOps: the three stage conversation

3 Tools2 Processes1 People

Page 6: Dev/Test scenarios in DevOps world

DevOps Framework

Client Workstations

EnvironmentsDev/Test

Integration

Pre-Production

Production

Processes

Source and Version control Build

Test

Deploy Monitor and Learn

DEV

BIZ

OPS

Page 7: Dev/Test scenarios in DevOps world

Waterfall vs AgileRequirements

PM

DevelopmentDev

Testing QA

Operations

Ops

Dev

Test

Ops

PM

Page 8: Dev/Test scenarios in DevOps world

Not 100% Agile?• Try to build a DevOps culture• Set your goals– Improved deployment frequency– Faster time-to-market– Lower failure rate

• Transform simple processes to make them increasingly programmable and dynamic

• Go Agile!

Page 9: Dev/Test scenarios in DevOps world

About Dev/Test

Page 10: Dev/Test scenarios in DevOps world

Dev/Test Benefits

Increase agility Improve quality Integrated and familiar

Take advantage of the cloud as well as your existing on-prem systems and practices.

Deliver higher quality releases by testing your applications in a “production-like” environment to understand how they will handle real world usage scenarios.

Provision the exact compute, storage, and network resources that you need to develop and test your applications, on your timeline and on your terms.

Page 11: Dev/Test scenarios in DevOps world

Dev/Test: Cloud Environments

Improve team agility and resource efficiency with the Cloud!

• Self-provisioning of the environments • Perform realistic scale testing in environments that mirror production.• Developers perform unit and integration testing in isolated individual

environments.• Production issues or incompatible code are discovered earlier.• Connect cloud and on-premises resources for hybrid applications.

Virtual Machines

Web Apps

Cloud Services

Databases

Page 12: Dev/Test scenarios in DevOps world

Hybrid

Page 13: Dev/Test scenarios in DevOps world

A different mindset• Release smaller and faster• Embracing errors• Design for availability, reliability, scalability• Performance• Continuous test• Continuous requirements tuning

Page 14: Dev/Test scenarios in DevOps world

Unit test, Functional Test, Load test

Page 15: Dev/Test scenarios in DevOps world

What does failsafe mean for my applications?It depends… but some general practices apply.

• Avoid single point of failure• Failure mode analysis• Manage transient errors• Graceful degradation• Eliminate human factors (Automate!)

Page 16: Dev/Test scenarios in DevOps world

Unit test• First layer of test• Written by Developers• Executed directly against the codebase

• You need them!• The way you can be sure your changes don’t break

anything• Should be automatically executed with the build

Page 17: Dev/Test scenarios in DevOps world

Functional test• User acceptance test• Based on requirements• Can be manual or automatic• Pre-defined or created with Exploratory testing

• Should be executed• Should be automatically executed post deployment

Page 18: Dev/Test scenarios in DevOps world

Load test• Test you application performances • Thousands, millions of users• Learn how you it behaves under load

• Can be automatically executed after deployment• Cloud Load Testing: better!

– Dynamic test agents– No fixed costs– Scalable to (virtually) infinite– Test you application from different geographical places

Page 19: Dev/Test scenarios in DevOps world

Continuous Deployment

Page 20: Dev/Test scenarios in DevOps world

Manual Builds and Deploy

Client Workstations

Source Build

Test

Deploy Monitor and Learn

TFVC GITcspkg

Environments

OPS

DEV

OPS

cspkg

Page 21: Dev/Test scenarios in DevOps world

EnvironmentsDev/Test

Integration

Pre-Production

Production

Continuous Integration and Deployment

Client Workstations

Source Build

Test

Deploy Monitor and Learn

TFVC GITcspkg

OPS

DEV

cspkg

cspkg

cspkg

cspkg

Page 22: Dev/Test scenarios in DevOps world

• Structuring different environments (dev, qa, uat, prod)

• Using slots for deployment• Spin-up new environments on demand

• Deploy multi-tier applications and dependencies• Apply database changes

Real world deployments

Page 23: Dev/Test scenarios in DevOps world

Demo: Visual Studio Team Services

Page 24: Dev/Test scenarios in DevOps world

Complete suiteSource Control, Agile planning, Test management,Build, Release Management

Integrated EnvironmentLink code, work items, tests, build and releases

Enterprise readinessSecurity, SLA, ISO, pools and queue management

Why VSTS / TFS

Page 25: Dev/Test scenarios in DevOps world

Hosted build agents *No installation required

Multi-platformBuild natively on Windows, Mac, and LinuxBuild .Net, Java, Objective-C, Javascript..

Release ManagementDeploy to a multi-environment release pipelineUse existing release and approval flows

* Available only on VSTS

CI and CD in VSTS / TFS

Page 26: Dev/Test scenarios in DevOps world

Automatic test execution after build / deployment

Manual and automated Functional/UI TestingPlan, execute, trackUser acceptance testing based on the requirementsExploratory testing

Load TestingOn-premises agentsIn the cloud, from multiple regions*

* Available only on VSTS

Tests in VSTS / TFS

Page 27: Dev/Test scenarios in DevOps world

DEMO

Page 28: Dev/Test scenarios in DevOps world

Thanks!

Dev/Test scenarios in the DevOps world

Davide BenvegnùMicrosoft MVP Visual Studio ALM