testen binnen dev ops dtc 2014

20
DevOps Testen als ‘Linking pin’ tussen Dev en Ops Dutch Testing Conference, 9 april 2014 1

Upload: kaspar-van-dam

Post on 05-Dec-2014

192 views

Category:

Business


1 download

DESCRIPTION

DevOps is een term die momenteel sterk in opkomst is. Maar is het een hype of heeft het ook een meerwaarde? DevOps is in basis niets meer dan een samenvoeging van ontwikkeling (Dev) en beheer (Ops) binnen één Agile team. Achterliggende gedachte is dat een team ook direct de pijn voelt wanneer zaken niet goed ontwikkeld en/of getest zijn. Maar welke rol speelt Quality Assurance nu precies binnen DevOps en hoe kan deze methodiek in de praktijk het beste vorm gegeven worden? Binnen deze sessie worden deelnemers meegenomen in de praktijk van DevOps en komen thema’s als Continuous Delivery/Continuous Integration, Test Driven Development en testautomatisering aan de orde. Voordelen, nadelen en uitdagingen worden benoemd en het wordt duidelijk hoe belangrijk testen binnen DevOps is.

TRANSCRIPT

Page 1: Testen binnen dev ops DTC 2014

DevOpsTesten als ‘Linking pin’ tussen Dev en Ops

Dutch Testing Conference, 9 april 2014

1

Page 2: Testen binnen dev ops DTC 2014

DevOpsWat is het?

Page 3: Testen binnen dev ops DTC 2014

3Wat is DevOps?

Development Quality Assurance

Technical Operations

DevOps

Page 4: Testen binnen dev ops DTC 2014

4DevOps: De werkwijze

Een nauwe(re) samenwerking tussen ontwikkelaars, testers en beheer

Ontwikkeling en beheer is een gezamenlijke inspanning

Kort cyclische ontwikkeling: Continuous Delivery / Continuous Integration

Zo snel mogelijk van Ontwikkelen naar Productie

Geen muren: niet binnen teams, niet tussen teams en management

Veel releases, veel afstemming

Page 5: Testen binnen dev ops DTC 2014

Rollen binnen DevOpsDev, Ops en QA

Page 6: Testen binnen dev ops DTC 2014

6Development

Zoveel mogelijk kleine aanpassingen

Snel naar productie− Geautomatiseerd deployen

− Gebruik van centrale build&deploy server met generieke handelswijze

180

Page 7: Testen binnen dev ops DTC 2014

7Operations

Betrokken bij ontwikkeling en test

Betrekt rest van het team bij Operations

STOP

Page 8: Testen binnen dev ops DTC 2014

8Quality Assurance

Snel testen!− Testen begint zo vroeg mogelijk, veel samenspraak met ontwikkelaars

− Lean testen: No risk, no test!

− Geautomatiseerd testen

− Automatische smoketesten op alle test omgevingen én productie!

− Automatische testen bij Deployment (build&deploy server)

Page 9: Testen binnen dev ops DTC 2014

9Quality Assurance

Snel accepteren− Acceptatietesten in nauwe samenspraak met PO

− Geen muren tussen business (PO) en IT

− Acceptatietesten zoveel mogelijk geautomatiseerd

− Performancetesten geautomatiseerd

Page 10: Testen binnen dev ops DTC 2014

10Quality Assurance

Linking pin tussen Development en Ops

DevOpsQA

180

STOP

Page 11: Testen binnen dev ops DTC 2014

11Test Driven Development

Test Driven Development (TDD):− Eerst testen, dan bouwen!

− Testen is een team activiteit

− 100% code coverage

Acceptance Test Driven Development (ATDD):− Acceptatie op basis van testgevallen

− ≈ 100% functionele dekking

Page 12: Testen binnen dev ops DTC 2014

12Test Driven Development

Behaviour Driven Development (BDD):− Gedrag als basis voor ontwerp, bouw en test

− Unit testen naar business value (“Gegeven…”)

− Acceptatie testen als Userstories (“Als [rol] wil ik dat…, zodat [voordeel] ” )

− Acceptatie criteria als scenario’s (“Gegeven dat … Wanneer…., dan….)

Feature: US001. As a User I want to be able to create new appointments within an online agenda

Scenario: TC01. By giving a begin date/time and end date/time a user is able to save an appointment in the agenda

Given that user is logged in on the online application

And user is on the agenda page

When user gives a begin date/time and end date-time

Then an appointment is saved in the agenda.

Page 13: Testen binnen dev ops DTC 2014

13(A)TDD/BDD

(A)TDD of BDD maakt het mogelijk het team te verbinden− Samen verantwoordelijk voor test

− Test als basis voor het gehele traject

DevOpsQA

180

STOP

Page 14: Testen binnen dev ops DTC 2014

DevOps: De PraktijkVoordelen, nadelen, leerpunten

Page 15: Testen binnen dev ops DTC 2014

15DevOps: de praktijk

Resultaat− Snel van ontwerp naar productie

− Minder fouten doordat een team direct de pijn ervaart…

− Maar, Ops als onderdeel van team is veelal lastig plannen!

− Productie-like (test)omgevingen blijken lastig!

− Geen controle (muren) is een cultuur omslag…

Page 16: Testen binnen dev ops DTC 2014

16Voordelen

Efficiënt samenwerken (Agile)− Geen muren

− Geen rollen

Snel van ontwerp naar productie− Veel releases, snel resultaat

− Kleine releases: impact van eventuele fouten klein

− Gehele proces geautomatiseerd: voorspelbaar!

Resultaat− Snel nieuwe functionaliteit op productie

− Weinig risico’s

Page 17: Testen binnen dev ops DTC 2014

17Nadelen/uitdagingen

Planning− Zeer dynamische omgeving: De wereld verandert snel!

− Operations is lastig plannen…

Veel afstemming noodzakelijk− Agile (Grooming, Planning, Stand-ups, Demo)

− Coördinatie omgevingen (release coördinator)

− Coördinatie werkzaamheden teams

− Impact fouten bij development/deployment kan snel groot worden

Page 18: Testen binnen dev ops DTC 2014

18Leerpunten / aandachtspunten

Van begin af aan goed plannen! (SCRUM poker)

Afstemmen / coördineren niet onderschatten! Tijd voor inplannen.

Vooraf goed nadenken over rollen/autorisaties

Omgevingsbeheer (omgeving coördinator)

Team is verantwoordelijk! Geen controles/muren…

Tot slot: De tester als Linking Pin

Page 19: Testen binnen dev ops DTC 2014

19

Development Quality Assurance

Technical Operations

DevOps

Page 20: Testen binnen dev ops DTC 2014

20

www.ordina.nl