Post on 24-Jun-2015
description
© 2010 JWORKS / Aviva Solutions 13 april 2023
Acceptance TDDFitnesse workshop
Erik PragtJonne Kats
© 2010 JWORKS / 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
© 2010 JWORKS / Aviva Solutions 13 april 2023
Proces
Kies een user story
Schrijf een test
Implementeer code
Implementeer test
Red
Green
Implement
Refactor
Green
© 2010 JWORKS / 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)• Heruitvoerbaar met dezelfde resultaten• Op zichzelf staand (geen afhankelijkheden andere tests)
Eigenschappen test
© 2010 JWORKS / 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
© 2010 JWORKS / 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
© 2010 JWORKS / Aviva Solutions 13 april 2023
• Fitnesse• Robotframework• Cucumber• Twist• Storyteller
Tools
© 2010 JWORKS / Aviva Solutions 13 april 2023
• Wiki• Gebasseerd op FIT• Table based• Ondersteund meerdere talen• Veel gebruikt• SLIM
Fitnesse
© 2010 JWORKS / Aviva Solutions 13 april 2023
© 2010 JWORKS / Aviva Solutions 13 april 2023
• Decision table (Tabel)• Query table• Script table• Scenario table (BDD)
Slim fixtures
© 2010 JWORKS / 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); } }
© 2010 JWORKS / Aviva Solutions 13 april 2023
Workshop
© 2010 JWORKS / Aviva Solutions 13 april 2023
• Testen via UI, service laag, domein model?• Geen exploratory testing meer nodig?• Versie beheer• Continuous integration
Ten slotte
© 2010 JWORKS / Aviva Solutions 13 april 2023
Nu met Steve Freeman, Nat Pryce en Gojko Adzic, zie:
http://www.jworks.nl/training
Meer (A)TDD training?
© 2010 JWORKS / 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