Van bagger… …naar behaviour

Slides:



Advertisements
Verwante presentaties
Deltion College Engels C1 Gesprekken voeren [Edu/002]/ subvaardigheid lezen thema: Order, order…. can-do : kan een bijeenkomst voorzitten © Anne Beeker.
Advertisements

Digitaal Rijbewijs MAX consult
User Centred Development
Deltion College Engels B1 Schrijven [Edu/004]/ subvaardigheid lezen thema: reporting a theft can-do : kan formulieren waarin meer informatie gevraagd wordt,
Rational Unified Process RUP Jef Bergsma. Iterations –Inception –Elaboration –Construction –Transition De kernbegrippen (Phases)
Programmeren met If This Then That (IFTTT)
Deltion College Engels B1 Schrijven [Edu/003] thema: what have I done wrong…? can-do : kan s/ brieven schrijven over persoonlijke zaken © Anne Beeker.
English Class 2G 1st of December 2010 It’s nice to be important, but it’s more important to be nice.
Deltion College Engels B1 Gesprekken voeren [Edu/006] thema: Look, it says ‘No smoking’… can-do : kan minder routinematige zaken regelen © Anne Beeker.
Deltion College Engels B2 Schrijven [Edu/006] thema: Euromail can-do : kan in persoonlijke s nieuws en standpunten van een ander becommentariëren.
Deltion College Engels
Deltion College Engels C1 Spreken/Presentaties [Edu/004] thema ‘Today I will talk to you about… ‘ can-do : kan duidelijke, gedetailleerde beschrijving.
Deltion College Engels C1 Spreken [Edu/002] thema: A book that deserves to be read can-do : kan duidelijke, gedetailleerde samenvatting geven van een gelezen.
Deltion College Engels A1 Gesprekken voeren [Edu/003] thema: A rainy day…. can-do : kan eenvoudige informatie geven over het weer © Anne Beeker Alle rechten.
Deltion College Engels B2 Gesprekken voeren [Edu/005]/subvaardigheid luisteren thema: ‘Pink pop and air-controllers on strike’ can-do : kan in een telefoongesprek.
Deltion College Engels B1 En Spreken/Presentaties [Edu/006] Thema: “The radio station“ can-do : kan een publiek toespreken, kan verzonnen gebeurtenissen.
Deltion College Engels C1 Schrijven [Edu/007] thema: Mind twister or how to write an essay… can-do : kan heldere, goed gestructureerde uiteenzetting schrijven.
Deltion College Engels C1 Schrijven [Edu/006] thema: Dear editor,
Nothing Is As It Seems Lesson 7 What’s the Story?.
Deltion College Engels B2 Lezen [Edu/003] thema: Topical News Lessons: The Onestop Magazine can-do: kan artikelen en rapporten begrijpen die gaan over.
Deltion College Engels B2 Spreken [Edu/001] thema: What’s in the news? can-do : kan verslag doen van een gebeurtenis en daarbij meningen met argumenten.
Deltion College Engels B1 Spreken [Edu/001] thema: song texts can-do : kan een onderwerp dat mij interesseert op een redelijk vlotte manier beschrijven.
Deltion College Engels C1 Gesprekken voeren [Edu/001]/ subvaardigheid lezen thema: What a blooper…. can-do : kan taal flexibel en effectief gebruiken voor.
Test Tender module Stap 1 Klik op het gewenste object.
Specification by Example in een .NET omgeving
De Dynamische Testrapportage: BDD en de deployment pipeline
Deltion College Engels B2 Gesprekken voeren [Edu/009] thema: ‘We’d better go to…’ can-do : kan in vertrouwde situaties actief meedoen aan discussies over.
Deltion College Engels B2 Schrijven [Edu/005] thema: Writing a hand-out can-do: kan een begrijpelijke samenvatting schrijven © Anne Beeker Alle rechten.
APP Platform Rivium, 5 maart 2013 Rik Vietsch.
Deltion College Engels B1 Lezen [Edu/002] thema: But I ‘ve read it in… can-do : kan hoofdthema en belangrijkste argumenten begrijpen van eenvoudige teksten.
Deltion College Engels B2 Gesprekken voeren [Edu/007] thema: ‘With this mobile you can…’ can-do : kan op betrouwbare wijze gedetailleerde informatie doorgeven.
Deltion College Engels B2 (telefoon)gesprekken voeren[Edu/002] /subvaardigheid lezen/schrijven thema: I am so sorry for you… can-do : kan medeleven betuigen.
The Future Hoe spreek je over toekomstige activiteiten in het Engels?
Preparing your exchange Jan Schut. 2 5th semester It is your choice Stay at University of Twente Go abroad Consider: Your further study career (MSc) and.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Time management Howdoyouset priorities?. Priorities:thingsthatyouthinkare important.
1 functie Presentation TEEB-stad tool The value of green infrastructure in cities Lian Merkx Platform31.
Grammar – period 2.
Windows applicatieontwikkeling
Key Process Indicator Sonja de Bruin
Samenwerken & lobby Harde lessen & hoe nu verder.
Menu affiliate Businesspartner
Salt & Light Zout & Licht
Inhoudsopgave Fasering Product Clearing & Settlement
Toekomende tijd: met “going to”
Testen en Testautomatisering in een Agile CI / CD omgeving
Present simple Grammar.
Vertrouw je testautomatisering!?
Werkwijze Hoe zullen we als groep docenten te werk gaan?
De taaltaak
#5. MULTI-ACTOR SAMENWERKING | CITY-OF-THINGS
Today: Chapter 2 Discuss SO 2 What to study for your test?
Much / many / a lot of (a) few / (a) little
NL: We zitten in een Verandering van Tijdperken in plaats van een Tijdperk van Verandering.
Praegus B.V.. .
Utrecht Attractive and Accessible: Focus on the User
Unit 2: LESSON 2 practicing the grammar: betrekkelijke voornaamwoorden
Modderdorp UNPLUGGED Bron: csunplugged.org.
NEW INTERFACE UNIT 2 : GRAMMAR
English 23 April 2018.
Assignment: calling for a meeting about internet use at work
Hebben we wel meer testautomatiseerders nodig?
Verbeter je Gherkin scenario’s
Ondersteunend personeel voorbereid op de toekomst
Empty handed here I come,
Windows applicatieontwikkeling
Van “Test Less” naar “Test Different”
Chapter 6 Sounds cool! Grammar Stepping Stones 2 t/hv.
Moving Minds DNA.
Transcript van de presentatie:

Van bagger… …naar behaviour TestNet najaarsevenement 10 oktober 2018 In the first 8 years of my career I wrote an awful lot of horrible automation Bas Dijkstra bas@ontestautomation.com www.ontestautomation.com @_basdijkstra

Wat gaan we doen? Wat is BDD? Welke rol spelen tools als Cucumber en SpecFlow in BDD? Valkuilen bij het schrijven van BDD-scenario’s Saving money > discuss ROI NEEDS REWORK Hoe kunnen we deze scenario’s verbeteren en onze automatisering effectiever maken?

Wat gaan we niet doen? Workshop Cucumber / SpecFlow Scenario’s automatiseren Saving money > discuss ROI NEEDS REWORK Code schrijven Laptops gebruiken

Een korte introductie van BDD en tools In the first 8 years of my career I wrote an awful lot of horrible automation

Wat is BDD? Behaviour Driven Development Ondersteunen van software-ontwikkeling door communicatie Saving money > discuss ROI NEEDS REWORK Gedeeld begrip, gedeelde begrippen Vooraf specificeren van gewenst gedrag

Hoe werkt BDD? Three amigos-sessies Business analisten, product owners weten wat ze krijgen Saving money > discuss ROI NEEDS REWORK Ontwikkelaars weten wat ze moeten bouwen Testers weten wat ze moeten verifiëren

Gherkin Given / When / Then ( / And / But ) Uitgangssituatie / actie / verwacht resultaat Saving money > discuss ROI NEEDS REWORK Features en scenario’s Diverse mogelijkheden voor verduidelijking

In the first 8 years of my career I wrote an awful lot of horrible automation

In the first 8 years of my career I wrote an awful lot of horrible automation

Cucumber en SpecFlow Tools ter ondersteuning van BDD Cucumber: verschillende talen (Java, Ruby, JS, …) Saving money > discuss ROI NEEDS REWORK SpecFlow: .NET Andere, soortgelijke tools beschikbaar (Ginkgo voor Go, Behat voor PHP, …)

Cucumber en SpecFlow Het zijn geen (pure) testtools! Tests automatiseren met Cucumber == DOES NOT COMPUTE Saving money > discuss ROI NEEDS REWORK Omzetten leesbare specificaties naar executeerbare code Helpers, hooks, rapportage

Aan de slag Introductie van een applicatie BDD-scenario’s ‘met ruimte voor verbetering’ Saving money > discuss ROI NEEDS REWORK Opstellen verbeterde versie in groepjes Presenteren aan de groep

Ronde 1: Rotterdam In the first 8 years of my career I wrote an awful lot of horrible automation

Scenario: verify the existence of a search result Given I have opened https://www.rotterdam.nl When I type parkeren in occurrence 3 of the input element with the attribute name with value query And I click on occurrence 1 of the button element with the attribute type with value submit Then I see an a element with the attribute href with value /wonen-leven/parkeren/ And I see an a element with the attribute href with value /wonen-leven/betaald-parkeren/ In the first 8 years of my career I wrote an awful lot of horrible automation

Verbeter dit scenario Wat vind je van dit scenario? Hoe zouden jullie dit scenario eruit laten zien? Saving money > discuss ROI NEEDS REWORK Samenwerken, leer van elkaars ervaringen Eén groep presenteert plenair

Lesson learned Cucumber / SpecFlow zijn geen keyword driven test tools Toch proberen geeft onleesbare scenario’s Saving money > discuss ROI NEEDS REWORK Maak onderscheid tussen ‘wat?’ en ‘hoe?’ Geen implementatiedetails in scenario’s

Oh, en als je dacht dat ik dit had verzonnen… In the first 8 years of my career I wrote an awful lot of horrible automation

In the first 8 years of my career I wrote an awful lot of horrible automation

Ronde 2: Accountancy In the first 8 years of my career I wrote an awful lot of horrible automation

Scenario: a new account can be created Scenario: a new account can be created Given I am on the organization page for BananaOrg When I import financial data for BananaOrg Then the account InitialAccount exists for BananaOrg Scenario: an existing account can be renamed Given I am on the organization page for BananaOrg When I rename the InitialAccount account to RenamedAccount Then the account RenamedAccount exists for BananaOrg And the account InitialAccount does not exist for BananaOrg Scenario: an existing account can be deleted Given I am on the organization page for BananaOrg When I delete the RenamedAccount account Then the account RenamedAccount does not exist for BananaOrg In the first 8 years of my career I wrote an awful lot of horrible automation

Verbeter dit scenario Wat vind je van dit scenario? Hoe zouden jullie dit scenario eruit laten zien? Saving money > discuss ROI NEEDS REWORK Samenwerken, leer van elkaars ervaringen Eén groep presenteert plenair

Lesson learned Scenario’s moeten onafhankelijk van elkaar zijn Stelt specifieke eisen aan je testdata-strategie Saving money > discuss ROI NEEDS REWORK Volgorde van uitvoeren scenario’s niet gegarandeerd Afhankelijkheden maken parallelle uitvoer praktisch onmogelijk

Oh, en als je dacht dat ik dit had verzonnen… Importeren van data kostte +/- 1 minuut Honderden scenario’s Saving money > discuss ROI NEEDS REWORK Realiteit zag er precies zo uit als het voorbeeld ‘Oplossing’: naamsconventies voor scenario’s (SpecFlow)

Ronde 3: Telecom In the first 8 years of my career I wrote an awful lot of horrible automation

Scenario: an existing subscription can be cancelled Given I have created a new basic subscription And I have approved the subscription in the subscription manager And I have run the subscription processing batch job And I have time traveled 7 days And the subscription has the status active When I cancel the subscription Then the subscription has the status canceling Scenario: an existing subscription can be upgraded Given I have created a new basic subscription And I have approved the subscription in the subscription manager And I have run the subscription processing batch job And I have time traveled 7 days And the subscription has the status active When I upgrade the subscription to a premium plan Then the subscription has the status active And the monthly installment is 25 euros Scenario: an existing subscription is automatically renewed Given I have created a new basic subscription And I have approved the subscription in the subscription manager And I have run the subscription processing batch job And I have time traveled 7 days And the subscription has the status active When a year has passed Then the subscription has the status active And the new end date is another year in the future In the first 8 years of my career I wrote an awful lot of horrible automation

Verbeter dit scenario Wat vind je van dit scenario? Hoe zouden jullie dit scenario eruit laten zien? Saving money > discuss ROI NEEDS REWORK Samenwerken, leer van elkaars ervaringen Eén groep presenteert plenair

Lesson learned Gedeelde uitgangssituatie uit scenario halen Cucumber / SpecFlow hebben hiervoor de Background Saving money > discuss ROI NEEDS REWORK Wat is de meest handige manier om een uitgangssituatie klaar te zetten? Vermijd de user interface hierbij wanneer mogelijk!

Oh, en als je dacht dat ik dit had verzonnen… In the first 8 years of my career I wrote an awful lot of horrible automation

Check status abonnement Aanvraag abonnement Verwerk abonnement Time travel +7 dagen Check status abonnement Verwerk abonnement Cool-off verwijderen In the first 8 years of my career I wrote an awful lot of horrible automation

Ronde 4: Autoverzekering In the first 8 years of my career I wrote an awful lot of horrible automation

In the first 8 years of my career I wrote an awful lot of horrible automation

Verbeter dit scenario Wat vind je van dit scenario? Hoe zouden jullie dit scenario eruit laten zien? Saving money > discuss ROI NEEDS REWORK Samenwerken, leer van elkaars ervaringen Eén groep presenteert plenair

Lesson learned Background is een goede manier om een uitgangssituatie te specificeren Specificeer alleen de data die er toe doet! Heeft een parameter invloed op het resultaat van het scenario? Specificeren! Saving money > discuss ROI NEEDS REWORK Heeft een parameter geen invloed op het resultaat van het scenario? Beter achterwege laten om verwarring te voorkomen

Ronde 5: Hypotheekorientatie In the first 8 years of my career I wrote an awful lot of horrible automation

@user-interface Scenario Outline: Check if a single applicant is eligible for a mortgage Given the applicant is on the mortgage orientation website home page And their employment contract type is <contractType> And their gross income is <grossIncome> And the price of the house is <askingPrice> And the applicant invests <savings> And the rebuilding costs of the house are <renovationCosts> When the applicant completes all forms in the mortgage orientation tool using this data Then the application displays a message stating that the applicant is eligible for a mortgage Examples: | contractType | grossIncome | askingPrice | savings | renovationCosts | | Vast dienstverband | 100000 | 100000 | 10000 | 10000 | | Tijdelijk dienstverband | 100000 | 500000 | 20000 | 25000 | | Pensioen | 100000 | 500000 | 20000 | 25000 | | Zelfstandig ondernemer | 100000 | 500000 | 20000 | 25000 | | Overig | 100000 | 500000 | 20000 | 25000 | In the first 8 years of my career I wrote an awful lot of horrible automation

Verbeter dit scenario Wat vind je van dit scenario? Hoe zouden jullie dit scenario eruit laten zien? Saving money > discuss ROI NEEDS REWORK Samenwerken, leer van elkaars ervaringen Eén groep presenteert plenair

Lesson learned Automatisering kan op meer manieren dan alleen via de UI Dwing de aanpak (‘hoe’?) niet af in je scenario’s Meerdere keren doorlopen van dezelfde schermen of formulieren? Saving money > discuss ROI NEEDS REWORK Onderzoek alternatieven voor de user interface Don’t Repeat Your Paths: http://chrismcmahonsblog.blogspot.com/2017/11/ui-test-heuristic-dont-repeat-your-paths.html

Oh, en als je dacht dat ik dit had verzonnen… In the first 8 years of my career I wrote an awful lot of horrible automation

Scenario Outline: Check if a JOINT APPLICANT with EXTENDED checked in the application is eligible for Mortgage. Given Applicant has a contract of type "<contract>" And partner with type of contract "<partner contract>" And Applicant has a yearly income of "<BrutoJaarincome>" And partners yearly income "<partner income>" And Price of the house is "<vraagprijs>" And Applicant with DOB "<DOB>"goes to Pension in ten years with yearly Pension of "<pensioenjaarinkomen>" And Partner with DOB "<partnerDOB>"goes to Pension in ten years with yearly Pension of "<partnerpensioenjaarinkomen>" And Applicant invests "<eigen spaargeld>" And Applicant has a monthly loan of "<leningen>" and monthly alimony of "<alimentatie>" and student loan of "<studieschuld>" And Partner has a monthly loan of "<partnerleningen>" and monthly alimony of "<partneralimentatie>" and student loan of "<partnerstudieschuld>" And extra cost of the new house "<Meerwerk>" And Applicant lives in an apartment which has mortgage amount of "<hypotheekbedrag>" and mortgage date "<ingangsdatum>" and selling price "<Verkoopprijs>" Then Display the eligibility Examples: | contract | partner contract | BrutoJaarincome | partner income | vraagprijs | DOB | pensioenjaarinkomen | partnerDOB | partnerpensioenjaarinkomen | eigen spaargeld | leningen | alimentatie | studieschuld | partnerleningen | partneralimentatie | partnerstudieschuld | Meerwerk | hypotheekbedrag | ingangsdatum | Verkoopprijs | | "Vast dienstverband" | "Vast dienstverband" | "200000" | "129300" | "500000" | "10/01/1989" | "90000" | "10/01/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/03/2015" | "50000" | | "Vast dienstverband" | "Tijdelijk dienstverband" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Vast dienstverband" | "Pensioen" | "108560" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Vast dienstverband" | "Zelfstandig ondernemer" | "190000" | "250000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Vast dienstverband" | "Overig" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Tijdelijk dienstverband" | "Vast dienstverband" | "100000" | "200000" | "500000" | "10/03/1989" | "90000" | "10/01/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/03/2015" | "50000" | | "Tijdelijk dienstverband" | "Tijdelijk dienstverband" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Tijdelijk dienstverband" | "Pensioen" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Tijdelijk dienstverband" | "Zelfstandig ondernemer" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Tijdelijk dienstverband" | "Overig" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Pensioen" | "Vast dienstverband" | "100000" | "200000" | "500000" | "10/03/1989" | "90000" | "10/01/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/03/2015" | "50000" | | "Pensioen" | "Tijdelijk dienstverband" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Pensioen" | "Pensioen" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Pensioen" | "Zelfstandig ondernemer" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Pensioen" | "Overig" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Zelfstandig ondernemer" | "Vast dienstverband" | "108900" | "200000" | "500000" | "10/03/1989" | "90000" | "10/01/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/03/2015" | "50000" | | "Zelfstandig ondernemer" | "Tijdelijk dienstverband" | "100000" | "204500" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Zelfstandig ondernemer" | "Pensioen" | "159820" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Zelfstandig ondernemer" | "Zelfstandig ondernemer" | "100000" | "200120" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Zelfstandig ondernemer" | "Overig" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Overig" | "Vast dienstverband" | "100000" | "175900" | "500000" | "10/03/1989" | "90000" | "10/01/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/03/2015" | "50000" | | "Overig" | "Tijdelijk dienstverband" | "178220" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Overig" | "Pensioen" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Overig" | "Zelfstandig ondernemer" | "101000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | | "Overig" | "Overig" | "100000" | "200000" | "500000" | "10/02/1989" | "90000" | "10/02/1978" | "85000" | "20000" | "500" | "400" | "1500" | "400" | "500" | "500" | "25000" | "10000" | "10/01/2015" | "50000" | In the first 8 years of my career I wrote an awful lot of horrible automation

Wat hebben we gezien? Cucumber != keyword of data driven test tool BDD scenario’s beschrijven het ‘wat?’, niet het ‘hoe?’ Saving money > discuss ROI NEEDS REWORK Denk goed na over je testdatastrategie! Gedeelde uitgangssituatie? Background! Cucumber / SpecFlow zijn onafhankelijk van type test

Nog een paar dingen… Cucumber / SpecFlow zijn een waardevolle aanvulling… … zolang ze worden gebruikt als communicatiemiddel Saving money > discuss ROI NEEDS REWORK Denk goed na over het publiek van je scenario’s Er is altijd de optie om het niet (langer) te gebruiken

Meer weten? Cucumber School - https://cucumber.io/school Specification by Example (Gojko Adzic) – boek, training Saving money > discuss ROI NEEDS REWORK The Cucumber Book (2nd edition) – Matt Wynne, Aslak Hellesøy The Internet 

Contact Email: bas@ontestautomation.com Site: https://www.ontestautomation.com/training LinkedIn: https://www.linkedin.com/in/basdijkstra Twitter: @_basdijkstra