Introduction to Acceptance TDD

Post on 18-Jun-2015

1.334 views 2 download

description

Dutch introduction to Acceptance TDD.

Transcript of Introduction to Acceptance TDD

© 2009 Aviva Solutions 13 april 2023

Acceptance TDD

Jonne Kats

© 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

© 2009 Aviva Solutions 13 april 2023

Proces

Kies een user story

Schrijf een test

Implementeer code

Implementeer test

Red

Green

Implement

Refactor

Green

© 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

© 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

© 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

© 2009 Aviva Solutions 13 april 2023

• Fitnesse• Robotframework• Cucumber• Twist• Storyteller

Tools

© 2009 Aviva Solutions 13 april 2023

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

Fitnesse

© 2009 Aviva Solutions 13 april 2023

Fitnesse

© 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); } }

© 2009 Aviva Solutions 13 april 2023

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

Slim fixtures

© 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

© 2009 Aviva Solutions 13 april 2023

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

Ten slotte

© 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