Top Banner
TestNet najaarsevent Jori Ramakers & Marielle Winarto Agile testautomatisering in de praktijk
61

TestNet - Agile testautomatisering in de praktijk

Feb 10, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TestNet - Agile testautomatisering in de praktijk

TestNet najaarsevent

Jori Ramakers & Marielle Winarto

Agile testautomatisering

in de praktijk

Page 2: TestNet - Agile testautomatisering in de praktijk

Wat gaan we doen

Aan de slag met agile testautomatisering

• Waarom belangrijk?

• Hoe past testautomatisering binnen scrum?

• Van user story tot werkende software

• Tools

• Valkuilen en veelgemaakte fouten

Page 3: TestNet - Agile testautomatisering in de praktijk

Testautomatisering

sneller, vaker en beter testenS

door inzet van tools

Page 4: TestNet - Agile testautomatisering in de praktijk

Uitgangspunten

Page 5: TestNet - Agile testautomatisering in de praktijk

Scrumbord

Page 6: TestNet - Agile testautomatisering in de praktijk

• Teams van 6

• Laptops

• Internet: wifi NBC

• Website: training.testtoolfactory.com

Praktische zaken

Page 7: TestNet - Agile testautomatisering in de praktijk

De case

Page 8: TestNet - Agile testautomatisering in de praktijk

De mensen

JoriTechnical lead

MarielleProduct Owner

AnnelèneEindgebruiker

Page 9: TestNet - Agile testautomatisering in de praktijk

• Online database met gegevens over mobiele

telefoons, zodat de klant makkelijker kan

kiezen

• (en tot aankoop overgaat)

Productvisie

Page 10: TestNet - Agile testautomatisering in de praktijk

alleenbellen

breed productaanbod

onpartijdig

levert zelf

phonehouse.nl

Tweakers.net

coolblue

wehkamp

belsimpel

Beslist.nl

Page 11: TestNet - Agile testautomatisering in de praktijk

• Project gaat binnenkort van start

• Scrum, korte sprints van 2 weken

• Weinig budget, zsm werkend prototype

• Testen? Testautomatisering?

Situatieschets

Page 12: TestNet - Agile testautomatisering in de praktijk

Redenen om te automatiseren

1. Eerder en sneller fouten vinden

2. Minder testers nodig

3. Hogere kwaliteit

4. Technische wijzigingen minder riskant

Page 13: TestNet - Agile testautomatisering in de praktijk

• Wat wil je testen?

• Welke methoden heb je beschikbaar?

Overall teststrategie

Page 14: TestNet - Agile testautomatisering in de praktijk

• Kennismaken

– Wie ben je?

– Wat heb je al gedaan met agile TA?

– Wat wil je vandaag bereiken?

Opdracht 1a

Page 15: TestNet - Agile testautomatisering in de praktijk

Opdracht 1b

• Waar liggen de risico’s?

• Wat testen?

• Wat automatiseren?

• Welke randvoorwaarden?(techniek, mensen, proces)

Page 16: TestNet - Agile testautomatisering in de praktijk

Testpiramide

Page 17: TestNet - Agile testautomatisering in de praktijk

• Dicht op de code

• Voor en door developers

• Pros: snel, makkelijk debuggen

• Cons: gebrek aan context

Unittesten

Page 18: TestNet - Agile testautomatisering in de praktijk

• Vanuit technisch perspectief

• Delen afzonderlijk en samen

• Pros: test integraties

• Cons: afhankelijkheden

Componenten, integraties

Page 19: TestNet - Agile testautomatisering in de praktijk

• Technische implementatie als

black box

• Gericht op functionaliteit

• Doet de applicatie het?

Functionele acceptatie

Page 20: TestNet - Agile testautomatisering in de praktijk

• Door eindgebruikers

(of vanuit hun perspectief)

• Heb je er ook wat aan?

Gebruikersacceptatie

Page 21: TestNet - Agile testautomatisering in de praktijk

Unittesten - tools

• Junit

• TestNG

• Jasmine (+Karma)

• Visual Studio Unit Test Framework

• Etc.

Page 22: TestNet - Agile testautomatisering in de praktijk

Demo

• Unit testen met TestNG

Page 23: TestNet - Agile testautomatisering in de praktijk

• Behavior Driven Development

• Jbehave

• Cucumber

• Specflow

• Etc.

Given – When - Then

Page 24: TestNet - Agile testautomatisering in de praktijk

Syntax - features

Page 25: TestNet - Agile testautomatisering in de praktijk

Syntax - features

Page 26: TestNet - Agile testautomatisering in de praktijk

Code

Page 27: TestNet - Agile testautomatisering in de praktijk
Page 28: TestNet - Agile testautomatisering in de praktijk

Given I have an order

Given there is an order

Given there is an order called “incidental detail”

Given the order “incident detail” exists

Given an order exists

DRY

Page 29: TestNet - Agile testautomatisering in de praktijk

Imperative

Page 30: TestNet - Agile testautomatisering in de praktijk

Declarative

Page 31: TestNet - Agile testautomatisering in de praktijk
Page 32: TestNet - Agile testautomatisering in de praktijk

• Voorbeelden maken een story concreet

• Alle teamleden op één lijn

• OOK zinvol als er niet geautomatiseerd wordt

Voordelen

Page 33: TestNet - Agile testautomatisering in de praktijk

a) Bel1voudig.nl begint vorm te krijgen, bekijk

het verloop

b) Specificeer testgevallen voor de zoekfunctie

Opdracht 2

Page 34: TestNet - Agile testautomatisering in de praktijk

Done

• Teststrategie bepalen

– Incl. automatiseringsdoelen

• Testpiramide

• Testautomatisering dicht bij de code

Page 35: TestNet - Agile testautomatisering in de praktijk

ToDo

(na de pauze)

• Testautomatisering bovenin de piramide

• Andere tools

Page 36: TestNet - Agile testautomatisering in de praktijk

Maar nu eerst: valkuilen en risico’s

Page 37: TestNet - Agile testautomatisering in de praktijk

Mini-waterval

Page 38: TestNet - Agile testautomatisering in de praktijk

Definition of Done

Page 39: TestNet - Agile testautomatisering in de praktijk

Tijd tekort

Page 40: TestNet - Agile testautomatisering in de praktijk

Falende tests

Page 41: TestNet - Agile testautomatisering in de praktijk

Stellingen

1. Agile projecten kunnen niet zondertestautomatisering.

2. Iedere tester moet kunnen programmeren.

3. Als je genoeg automatiseert, is handmatig testenniet meer nodig.

4. Automatiseren in een vroeg stadium is niet zinvol, alles verandert toch nog.

Page 42: TestNet - Agile testautomatisering in de praktijk
Page 43: TestNet - Agile testautomatisering in de praktijk

ToDo

• Testautomatisering bovenin de piramide

• Andere tools

Page 44: TestNet - Agile testautomatisering in de praktijk

• (nog aanvullen, of weglaten)

Functionele acceptatie

Page 45: TestNet - Agile testautomatisering in de praktijk

• Natuurgetrouw

• Black-box

• Testen van functionaliteit

Page 46: TestNet - Agile testautomatisering in de praktijk

Automatiseren webapplicatie

Page 47: TestNet - Agile testautomatisering in de praktijk

Tools

Een selectie

Page 48: TestNet - Agile testautomatisering in de praktijk

• Hotelapplicatie

Nieuwe casus

Page 49: TestNet - Agile testautomatisering in de praktijk

Opdracht 3

1. Draai het script

2. Pas het script aan

3. Maak een nieuw testgeval voor de volgende

story: <story>

4. Draai het script opnieuw

Page 50: TestNet - Agile testautomatisering in de praktijk

• Alles willen testen

• Onleesbare testgevallen

• Fragiele locators: xpath

• Timing

• Afhankelijkheden testdata en infrastructuur

Valkuilen functioneel testen

Page 51: TestNet - Agile testautomatisering in de praktijk

Tips functioneel testen

werkdoelgericht

structureelonderhoud

gooi ookwat weg

Page 52: TestNet - Agile testautomatisering in de praktijk

story testgevallen keuzes

Focus

Page 53: TestNet - Agile testautomatisering in de praktijk

Andere tools

Page 54: TestNet - Agile testautomatisering in de praktijk

• Scrum tools

• Test management tools

• Testdata

• Service virtualisatie

• Versiebeheer

• Etc

Page 55: TestNet - Agile testautomatisering in de praktijk

Opdracht 4a

• Onderhoudbaarheid

– Herbruikbare blokken

– Testdata

Page 56: TestNet - Agile testautomatisering in de praktijk

Opdracht 4b

• Voorbereiding retro

– Wat ging er goed?

– Wat kon er beter?

– Wat heb je geleerd?

– Welke vragen staan nog open?

Page 57: TestNet - Agile testautomatisering in de praktijk

Agile plaatje

Daily24 hours

Sprint2-4 weeks

Page 58: TestNet - Agile testautomatisering in de praktijk

Wanneer draai je wat

• Elke save

• Elke build

• Elke deployment

• Elke dag

• Elke sprint

• Gerichte werk

Page 59: TestNet - Agile testautomatisering in de praktijk

Review

Page 60: TestNet - Agile testautomatisering in de praktijk

Retro

Page 61: TestNet - Agile testautomatisering in de praktijk