SlideShare a Scribd company logo
1 of 27
Download to read offline
Acceptance Test
Driven
Development                Régis
With VS 2012               Laurent
                           Director of Operations,
                           Global Knowledge
Juhani Lind   5-Mar-2013   Competencies include:
                           Gold Learning
                           Silver System Management
Tieturi Oy
Oh Brother, Where Did We Go Wrong?

                                   … And
                                 what was
                             finally delivered.

      What
  the Customer
   described …
ATDD - A Bridge Over Troubled Gap
Using Tests As Specification!
•   Collaborative specification
•   Using examples to illustrate
•   Driving the development
•   Validating frequently

Ultimate Benefits!
•   Executable specification
•   Living, up-to-date documentation
•   Learning by getting feedback
So many names …




#td2013fi
Quick Overview
                             This is a team effort!



               Requirement
                                 Specification        Implementing
                    +
                                      by                Examples
               Acceptance
                                  Examples               as Tests
                 Criteria

   List of                                                            Development
Requirements                            Next Requirement
                                                                     (incl. implementation,
                                                                      testing and reviews)
Constraints Matter Too!
                   Acceptance
                     Criteria
                                 Functionality
                        +
                    Examples
  Requirement
    Feature

                   Acceptance    Performance
                    Criteria/      Usability
                   Constraints    Security …
What actually gets driven by ATDD?



   Architecture                           Collaboration
     Design
   Testable!




               Implementation   Testing
Two Examples of ATDD Tools

                                                  Fit
            SpecFlow                         Framework for
                                             Integrated Test




      Binds business readable            Integrates the work of
      behaviour spesification             customers, analysts,
       and examples to .NET.            testers and developers.

 http://www.specflow.org/specflownew/       http://fit.c2.com/
Specification by Example in SpecFlow
                                           Feature
                                              Scenario 1
 SpecFlow uses a business-readable               Given
 domain specific language called Gherkin         When
 to express examples and their                   Then
 - preconditions        (Given)
 - actions              (When)               Scenario 2
 - verification steps   (Then)                  Given
                                                When
                                                Then
SpecFlow Overview
     SpecFlow           SpecFlow Feature
Auto-Generated Code        (Gherkin)                  VS2012 Test Explorer
                                           Runs tests




                                 Implemented by
                                                        System Under Test
                                                              Code
                                              Calls


  Unit Test Provider       User Written
    (e.g. NUnit)       Feature Code in .NET
SpecFlow in Action 1: Examples with Gherkin
SpecFlow in Action 2: Generating Steps
SpecFlow in Action 3: Implementation in C#
SpecFlow in Action 4: Running scenarios
The Hamlet Dilemma
 To test through the UI or not to test – oh what a question.




                 Well … it depends …
Where To Look For Verification?
           System Under Test




            Presentation             Business Logic   Data




                       External System
From ATDD to Test Driven Development (TDD)
                         TDD Cycle
                         - Design with tests
                         - Implement tests
                         - Run one test to see it fail!
                         - Implement the simplest
                           solution
       ATDD     TDD      - Run the test to see it pass!
                         - Refactor, repeat

                          This RED – GREEN – Refactor
                               cycle applies to both.
Specification by Example with Fit

                                        <table>
 Fit uses the classic HTML tables to       <tr>
 express examples.                            <td> </td>
 The structure of HTML tables specify         <td> </td>
 - a Fit fixture                              <td> </td>
 - preconditions and actions                  <td> </td>
 - verification rules                      </tr>
                                        </table>
FIT Overview
HTML Tables
                                  Presentation Layer
- Examples                                              Action Fixture
- Result
Injection to public variables.
    Calls to public methods.      Business Layer
                                                        Column Fixture
User Written
Fit Fixture              <dll >
                                  Data Layer
                                                        Row Fixture
System
Under
Test
Fit in Action 1: Examples as HTML Table
Fit in Action 2: Fixture Code
Fit in Action 3: Execution Command
Fit in Action 4: Result as HTML Table
Watch Your Language!
                      Specification and examples
         should use the Customer’s language and terminology.
SpecFlow                                 Fit
Gherkin itself has been translated to    The names of
40 languages.                            - public variables and
The language is set in the config file   - public methods
with the <language> element.             in Fit fixtures should be as close to
                                         the Customer’s language as
<language feature = ”fi-FI” />           possible.
But
                   something
                     else is
                  needed too!


Building the RIGHT solution …
            … the RIGHT way!



   ATDD!
Q&A
      t
Thank you for coming!
 Feedback can be given via mobile
 or laptop through techdays.fi
 seminar schedule.
 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational
 purposes only and represents the current view of Microsoft Corporation as of the date of this presentations. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft,
 and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.




#td2013fi

More Related Content

What's hot

Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockJoseph Yoder
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)SangIn Choung
 
Dev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDevLabs Alliance
 
Black box testing (an introduction to)
Black box testing (an introduction to)Black box testing (an introduction to)
Black box testing (an introduction to)Henry Muccini
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance
 
Behavior-driven Development
Behavior-driven DevelopmentBehavior-driven Development
Behavior-driven DevelopmentTino Wang
 

What's hot (8)

Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
 
When develpment met test(shift left testing)
When develpment met test(shift left testing)When develpment met test(shift left testing)
When develpment met test(shift left testing)
 
Pimpri Chinchwad Software Testing Courses
Pimpri Chinchwad  Software Testing Courses  Pimpri Chinchwad  Software Testing Courses
Pimpri Chinchwad Software Testing Courses
 
Software testing
Software testingSoftware testing
Software testing
 
Dev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdetDev labs alliance top 20 basic java interview questions for sdet
Dev labs alliance top 20 basic java interview questions for sdet
 
Black box testing (an introduction to)
Black box testing (an introduction to)Black box testing (an introduction to)
Black box testing (an introduction to)
 
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
DevLabs Alliance Top 20 Software Testing Interview Questions for SDET - by De...
 
Behavior-driven Development
Behavior-driven DevelopmentBehavior-driven Development
Behavior-driven Development
 

Viewers also liked

Amalan dan doa malam Jum’at
Amalan dan doa malam Jum’atAmalan dan doa malam Jum’at
Amalan dan doa malam Jum’atYohanita Tengku
 
Euroma paper.pptx
Euroma paper.pptxEuroma paper.pptx
Euroma paper.pptxShaun West
 
Instalciones de edificaciones
Instalciones de edificacionesInstalciones de edificaciones
Instalciones de edificacionesEDWARD MEJIA LEON
 
Naresh English grammer
Naresh English grammerNaresh English grammer
Naresh English grammergueste532fc
 
Presentación 2ª promoción curso experto community manager cámara de comercio ...
Presentación 2ª promoción curso experto community manager cámara de comercio ...Presentación 2ª promoción curso experto community manager cámara de comercio ...
Presentación 2ª promoción curso experto community manager cámara de comercio ...Javier Pérez Caro
 
Redes sociales
Redes socialesRedes sociales
Redes socialesjochefer
 
Oil technics fire fighting foams
Oil technics fire fighting foamsOil technics fire fighting foams
Oil technics fire fighting foamsDavid Holmes
 
uPVC Windows and Doors - Golden Home UPVC
uPVC Windows and Doors - Golden Home UPVCuPVC Windows and Doors - Golden Home UPVC
uPVC Windows and Doors - Golden Home UPVCLance Kevin
 
Eventos Culturales SOS 4.8
Eventos Culturales SOS 4.8Eventos Culturales SOS 4.8
Eventos Culturales SOS 4.8Verou Verou
 
Quien es el programador
Quien es el programador Quien es el programador
Quien es el programador ricardojsal
 
Guía de operaciones de Service Manager 2012 - Español
 Guía de operaciones de Service Manager 2012 - Español Guía de operaciones de Service Manager 2012 - Español
Guía de operaciones de Service Manager 2012 - Españolgonzomez
 

Viewers also liked (20)

RobertaSalinas2015
RobertaSalinas2015RobertaSalinas2015
RobertaSalinas2015
 
Amalan dan doa malam Jum’at
Amalan dan doa malam Jum’atAmalan dan doa malam Jum’at
Amalan dan doa malam Jum’at
 
Euroma paper.pptx
Euroma paper.pptxEuroma paper.pptx
Euroma paper.pptx
 
Te reto
Te retoTe reto
Te reto
 
Redes Sociales y Educación
Redes Sociales y EducaciónRedes Sociales y Educación
Redes Sociales y Educación
 
Instalciones de edificaciones
Instalciones de edificacionesInstalciones de edificaciones
Instalciones de edificaciones
 
Revista de foami
Revista de foamiRevista de foami
Revista de foami
 
Naresh English grammer
Naresh English grammerNaresh English grammer
Naresh English grammer
 
Vida moral2 24 03-10
Vida moral2  24 03-10Vida moral2  24 03-10
Vida moral2 24 03-10
 
Privalia vs ofertix. e-Commerce
Privalia vs ofertix. e-CommercePrivalia vs ofertix. e-Commerce
Privalia vs ofertix. e-Commerce
 
Kaiser-Friedrich-Therme
Kaiser-Friedrich-ThermeKaiser-Friedrich-Therme
Kaiser-Friedrich-Therme
 
Presentación 2ª promoción curso experto community manager cámara de comercio ...
Presentación 2ª promoción curso experto community manager cámara de comercio ...Presentación 2ª promoción curso experto community manager cámara de comercio ...
Presentación 2ª promoción curso experto community manager cámara de comercio ...
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Oil technics fire fighting foams
Oil technics fire fighting foamsOil technics fire fighting foams
Oil technics fire fighting foams
 
uPVC Windows and Doors - Golden Home UPVC
uPVC Windows and Doors - Golden Home UPVCuPVC Windows and Doors - Golden Home UPVC
uPVC Windows and Doors - Golden Home UPVC
 
Eventos Culturales SOS 4.8
Eventos Culturales SOS 4.8Eventos Culturales SOS 4.8
Eventos Culturales SOS 4.8
 
Quien es el programador
Quien es el programador Quien es el programador
Quien es el programador
 
REPORTE COOPERATIVO - FEBRERO 2015
REPORTE COOPERATIVO - FEBRERO 2015REPORTE COOPERATIVO - FEBRERO 2015
REPORTE COOPERATIVO - FEBRERO 2015
 
Revelation Chapter 1 3
Revelation Chapter 1 3Revelation Chapter 1 3
Revelation Chapter 1 3
 
Guía de operaciones de Service Manager 2012 - Español
 Guía de operaciones de Service Manager 2012 - Español Guía de operaciones de Service Manager 2012 - Español
Guía de operaciones de Service Manager 2012 - Español
 

Similar to TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012

Behavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlowBehavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlowRachid Kherrazi
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDDDhaval Dalal
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in PracticeSteven Mak
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
Test driven development v1.0
Test driven development v1.0Test driven development v1.0
Test driven development v1.0Ganesh Kondal
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choicetoddbr
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDLaurent PY
 
ABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDDABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDDABAPCodeRetreat
 
Test Driven Development #sitFRA
Test Driven Development #sitFRATest Driven Development #sitFRA
Test Driven Development #sitFRAChristian Drumm
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
 
Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战George Ang
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven DevelopmentMonocularVision
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
 
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Anand Bagmar
 
Spec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlowSpec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlowSarah Dutkiewicz
 

Similar to TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012 (20)

Behavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlowBehavior Driven Testing with SpecFlow
Behavior Driven Testing with SpecFlow
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDD
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Test driven development v1.0
Test driven development v1.0Test driven development v1.0
Test driven development v1.0
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDD
 
Agile testing
Agile testingAgile testing
Agile testing
 
ABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDDABAPCodeRetreat 23.7.2016 - TDD
ABAPCodeRetreat 23.7.2016 - TDD
 
Test Driven Development #sitFRA
Test Driven Development #sitFRATest Driven Development #sitFRA
Test Driven Development #sitFRA
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战Odd E验收测试驱动开发实战
Odd E验收测试驱动开发实战
 
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAUTest Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
Test Automation and Keyword-driven testing af Brian Nielsen, CISS/AAU
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
 
Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS Integration testing in enterprises using TaaS
Integration testing in enterprises using TaaS
 
Spec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlowSpec(ing) Out Your Workflow with SpecFlow
Spec(ing) Out Your Workflow with SpecFlow
 

More from Tieturi Oy

Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturi Oy
 
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturi Oy
 
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016Tieturi Oy
 
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäKaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäTieturi Oy
 
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuAamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuTieturi Oy
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Tieturi Oy
 
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...Tieturi Oy
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Tieturi Oy
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Tieturi Oy
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Tieturi Oy
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Tieturi Oy
 
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Tieturi Oy
 
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Tieturi Oy
 
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Tieturi Oy
 
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Tieturi Oy
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Tieturi Oy
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...Tieturi Oy
 
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...Tieturi Oy
 

More from Tieturi Oy (20)

Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Onlineallekirjoitus, Antti ...
 
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
Tieturin aamiaisseminaari: Paluu tulevaisuuteen - Robotit tulevat Cristina An...
 
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016Tieturi -  Paluu tulevaisuuteen, Veli-Matti Heiskanen,  25.5.2016
Tieturi - Paluu tulevaisuuteen, Veli-Matti Heiskanen, 25.5.2016
 
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössäKaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
Kaisa Hernberg: Asiantuntija epämukavuusalueella myyntityössä
 
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purkuAamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
Aamiaisseminaari 3.6.: SWOT-ryhmätöiden purku
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteita. Teemu Anttila...
 
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa. Timo Summa...
Aamiaisseminaari 3.6.: Johdetut projektit julkisessa hallinnossa . Timo Summa...
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
 
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
Aamiaisseminaari 3.6.: Kokonaisarkkitehtuuriprojektien haasteet. Tarja Raussi...
 
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
Aamiaisseminaari 3.6.: Julkisen hallinnon projektien haasteet ja mahdollisuud...
 
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'Testaus 2014: Paul Gerrard - The Changing Role of Testers'
Testaus 2014: Paul Gerrard - The Changing Role of Testers'
 
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
Testaus 2014 -seminaari. Minna Aalto, Knowit, Vuoden Testaaja 2013
 
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
Testaus 2014 -seminaari. Kaisa Tirkkonen, Kela. Case Kela: Monimutkaisten ja ...
 
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
Testaus 2014 -seminaari. Pauli Kauppila, Secrays Oy. Mitä jokaisen testaajan ...
 
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
Testaus 2014 -seminaari. Kari Kakkonen, FiSTB-puheenvuoro.
 
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
Testaus 2014 -seminaari: Arto Kiiskinen, Mirasys Oy. Case Mirasys: Toiminnoil...
 
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
Testaus 2014 -seminaari: Paul Gerrard. The Changing Role of Testers’.
 
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
ICT-palveluprosessit ja toiminnan tehostaminen: Jukka Timonen, "Matkalla koht...
 
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
ICT-palveluprosessit ja toiminnan tehostaminen: Tuukka Heinonen, "Asiakaskoke...
 
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
ICT-palveluprosessit ja toiminnan tehostaminen: Ben Kalland, "Prosessien selk...
 

TechDays 2013 Juhani Lind: Acceptance Test Driven Development With VS 2012

  • 1. Acceptance Test Driven Development Régis With VS 2012 Laurent Director of Operations, Global Knowledge Juhani Lind 5-Mar-2013 Competencies include: Gold Learning Silver System Management Tieturi Oy
  • 2. Oh Brother, Where Did We Go Wrong? … And what was finally delivered. What the Customer described …
  • 3. ATDD - A Bridge Over Troubled Gap Using Tests As Specification! • Collaborative specification • Using examples to illustrate • Driving the development • Validating frequently Ultimate Benefits! • Executable specification • Living, up-to-date documentation • Learning by getting feedback
  • 4. So many names … #td2013fi
  • 5. Quick Overview This is a team effort! Requirement Specification Implementing + by Examples Acceptance Examples as Tests Criteria List of Development Requirements Next Requirement (incl. implementation, testing and reviews)
  • 6. Constraints Matter Too! Acceptance Criteria Functionality + Examples Requirement Feature Acceptance Performance Criteria/ Usability Constraints Security …
  • 7. What actually gets driven by ATDD? Architecture Collaboration Design Testable! Implementation Testing
  • 8. Two Examples of ATDD Tools Fit SpecFlow Framework for Integrated Test Binds business readable Integrates the work of behaviour spesification customers, analysts, and examples to .NET. testers and developers. http://www.specflow.org/specflownew/ http://fit.c2.com/
  • 9. Specification by Example in SpecFlow Feature Scenario 1 SpecFlow uses a business-readable Given domain specific language called Gherkin When to express examples and their Then - preconditions (Given) - actions (When) Scenario 2 - verification steps (Then) Given When Then
  • 10. SpecFlow Overview SpecFlow SpecFlow Feature Auto-Generated Code (Gherkin) VS2012 Test Explorer Runs tests Implemented by System Under Test Code Calls Unit Test Provider User Written (e.g. NUnit) Feature Code in .NET
  • 11. SpecFlow in Action 1: Examples with Gherkin
  • 12. SpecFlow in Action 2: Generating Steps
  • 13. SpecFlow in Action 3: Implementation in C#
  • 14. SpecFlow in Action 4: Running scenarios
  • 15. The Hamlet Dilemma To test through the UI or not to test – oh what a question. Well … it depends …
  • 16. Where To Look For Verification? System Under Test Presentation Business Logic Data External System
  • 17. From ATDD to Test Driven Development (TDD) TDD Cycle - Design with tests - Implement tests - Run one test to see it fail! - Implement the simplest solution ATDD TDD - Run the test to see it pass! - Refactor, repeat This RED – GREEN – Refactor cycle applies to both.
  • 18. Specification by Example with Fit <table> Fit uses the classic HTML tables to <tr> express examples. <td> </td> The structure of HTML tables specify <td> </td> - a Fit fixture <td> </td> - preconditions and actions <td> </td> - verification rules </tr> </table>
  • 19. FIT Overview HTML Tables Presentation Layer - Examples  Action Fixture - Result Injection to public variables. Calls to public methods. Business Layer  Column Fixture User Written Fit Fixture <dll > Data Layer  Row Fixture System Under Test
  • 20. Fit in Action 1: Examples as HTML Table
  • 21. Fit in Action 2: Fixture Code
  • 22. Fit in Action 3: Execution Command
  • 23. Fit in Action 4: Result as HTML Table
  • 24. Watch Your Language! Specification and examples should use the Customer’s language and terminology. SpecFlow Fit Gherkin itself has been translated to The names of 40 languages. - public variables and The language is set in the config file - public methods with the <language> element. in Fit fixtures should be as close to the Customer’s language as <language feature = ”fi-FI” /> possible.
  • 25. But something else is needed too! Building the RIGHT solution … … the RIGHT way! ATDD!
  • 26. Q&A t
  • 27. Thank you for coming! Feedback can be given via mobile or laptop through techdays.fi seminar schedule. © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentations. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. #td2013fi