Introduction to Acceptance TDD

14
© 2009 Aviva Solutions 25-04-22 Acceptance TDD Jonne Kats

description

Dutch introduction to Acceptance TDD.

Transcript of Introduction to Acceptance TDD

Page 1: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Acceptance TDD

Jonne Kats

Page 2: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Op het gebied van business value wat TDD op het gebied van technische kwaliteit zou moeten zijn

• “Real world” voorbeelden als communicatie middel

• Automatische acceptatie test suite• Ontwikkeling gedreven door acceptatie tests

ATTD

Page 3: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Proces

Kies een user story

Schrijf een test

Implementeer code

Implementeer test

Red

Green

Implement

Refactor

Green

Page 4: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Klant is eigenaar• Specifiek, beknopt, leesbaar• Makkelijk te automatiseren door tool• Gericht op het wat en niet het hoe• Uitgedrukt in de taal van het domein

(Ubiquitous language)

Eigenschappen test

Page 5: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Geldige wachtwoorden

dgfgdfg45

s@##$sdf

654sdvcb

Voorbeeld

Ongeldige wachtwoorden

Dgfgdfg Geen getallen

534534534 Geen letters

d1 Minder dan 4 tekens

Page 6: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Data gedreven (Tabel)• Script (Stappen)• Gedrag gedreven (Behavior Driven)

– Given the user existsAnd the password is validWhen the user log insThen access to the site is granted and the user is send to the homepage

Acceptance test stijlen

Page 7: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Fitnesse• Robotframework• Cucumber• Twist• Storyteller

Tools

Page 8: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Wiki• Gebasseerd op FIT• Table based• Ondersteund meerdere talen• Veel gebruikt• SLIM

Fitnesse

Page 9: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Fitnesse

Page 10: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Decision table

public class ConcatenateStrings { public string First { get; set; } public string Second { get; set; } public string Concatenate() { return string.Concat(First, Second); } }

Page 11: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Decision table (Tabel)• Query table• Script table• Scenario table (BDD)

Slim fixtures

Page 12: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Demo• Als kok wil ik recepten kunnen bijhouden met 

titel, beschrijving, instructies, bereidingstijd, ingredienten en moeilijkheidsgraad.

• Lege lijst van recepten• Gevulde lijst van recepten• Selecteren van een lijst• Toevoegen van een nieuw recept• Toevoegen van een nieuw recept met ongeldige gegevens• Toevoegen van een recept • Wijzigen van een recept• Wijzigen van een recept met ongeldige gegevens

Page 13: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• Testen via UI, service laag, domein model?• Geen exploratory testing meer nodig?• Versie beheer• Continuous integration

Ten slotte

Page 14: Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

• http://www.slideshare.net/tcmak/atdd-in-practice

• Practical TDD and Acceptance TDD for Java Developers

• http://www.fitnesse.org• Writing Maintainable Automated Acceptance

Tests – Dale H. Emery

Bronnen