Introduction to Acceptance TDD
-
Upload
jonne-kats -
Category
Technology
-
view
1.334 -
download
2
description
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