SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
The Testing Strategy


   Domenico Musto

     2012 October
Who am I?




25/10/12     www.agiletour.com
About me




25/10/12    www.agiletour.com
Not about me




25/10/12      www.agiletour.com
What do I do?
                        C#
           .NET                       Team leading
                        Web                 REST
    Ruby
  Automation Testing                                 Agile

            @mimmozzo                  domenico.musto@gmail.com
25/10/12                www.agiletour.com
Today we talk about..
• Differences between types of tests
• Tests and developers
• Tests and QA




25/10/12           www.agiletour.com
..we don't talk about..
• Testing frameworks
• Libraries




25/10/12           www.agiletour.com
The Agile Testing Quadrant




25/10/12         www.agiletour.com
Technology facing




25/10/12        www.agiletour.com
Types of tests
•   Unit
•   Functional
•   Load
•   Soak




25/10/12             www.agiletour.com
Unit tests
•   They test units of code in isolation
•   Interaction between components
•   Describe the behaviour
•   Drive the design
•   Fast execution




25/10/12              www.agiletour.com
Be careful
• Test just public interfaces
• Do not abuse of mocking




25/10/12            www.agiletour.com
Adding a new class is not the trigger for a new test.
The trigger is the implementation of a new requirement.




25/10/12              www.agiletour.com
Functional tests
• They test the interaction with components
  outside the context of our application
• They assure integration
• They might be slow




25/10/12            www.agiletour.com
public class When_getting_an_object_from_the_db
{
    static int _objectId;
    static DbWrapper _sut;
    static object _object;

    Establish that_there_is_an_object = ()=>
    {
        _objectId = 100;
        ManuallyAddAnObjectInTheDb(_objectId);
    }
    Because we_get_the_object = ()=> _object = _sut.Get(_objectId);
    It should_get_the_object = ()=> _object.ShouldNotBeNull();
}


25/10/12                         www.agiletour.com
public class When_storing_an_object_in_the_db
{
    static int _objectId;
    static DbWrapper _sut;
    static object _object;

    Establish we_have_an_object_to_save = ()=>
    {
        _objectId = 100;
    }
    Because we_save_the_object = ()=> _object = _sut.Save(_objectId);
    It should_store_the_object = ()=> _sut.Get(_objectId).ShouldNotBeNull();
}



25/10/12                         www.agiletour.com
Be careful
• Do not mix tests
• Use context builders for data fixture




25/10/12            www.agiletour.com
Load tests
•   Feedback on performance
•   Feedback on volume limit
•   Complicated to write
•   Slow execution




25/10/12           www.agiletour.com
Soak tests
• Discover technologic issues
• Slow execution




25/10/12          www.agiletour.com
Business facing




25/10/12       www.agiletour.com
Types of tests
• End to end
• Integration
• Exploratory




25/10/12            www.agiletour.com
End to end tests
•   They test the whole scope of a feature
•   They are acceptance tests
•   Understandable from non-techincal persons
•   Slow execution




25/10/12            www.agiletour.com
They are not (only) interface tests.




25/10/12               www.agiletour.com
Integration tests
      when the end to end aren't brave enough
• They test pieces of the application
• They test the integration
• Slow execution




25/10/12             www.agiletour.com
Exploratory tests
• Manual
• Look for feature limit




25/10/12            www.agiletour.com
Let's implement a feature




25/10/12          www.agiletour.com
The actors of the development process

• Developers
• QA
• Customer




25/10/12                 www.agiletour.com
The story

   As a user of huddle I would like to add comments to
     tasks to collaborate better with my colleagues




25/10/12               www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
df




25/10/12   www.agiletour.com
The feature is ready




25/10/12        www.agiletour.com
25/10/12   www.agiletour.com
What about the tests ?!?!?!




25/10/12            www.agiletour.com
25/10/12   www.agiletour.com
When do I need to do end to end tests ?




25/10/12                  www.agiletour.com
Test plan




25/10/12    www.agiletour.com
25/10/12   www.agiletour.com
25/10/12   www.agiletour.com
Test plan
•   Acceptance tests
•   Functional tests
•   Integration tests
•   Unit tests




25/10/12                www.agiletour.com
25/10/12   www.agiletour.com
Trade-off




25/10/12    www.agiletour.com
Quality attributes
•   Availability
•   Modifiability
•   Performance
•   Security

• Testability
• Usability


25/10/12            www.agiletour.com
The test pyramid




25/10/12        www.agiletour.com
QA Team




25/10/12    www.agiletour.com
QA Team




25/10/12    www.agiletour.com
QAs are part of the dev team




25/10/12          www.agiletour.com
The reputation of the tests, of the build server and of
             the development environment




25/10/12                www.agiletour.com
The deployment




25/10/12       www.agiletour.com
25/10/12   www.agiletour.com
Thanks. Q&A



           @mimmozzo                 domenico.musto@gmail.com



25/10/12               www.agiletour.com

Mais conteúdo relacionado

Mais procurados

Quality comes free with open source testing tools
Quality comes free with open source testing toolsQuality comes free with open source testing tools
Quality comes free with open source testing toolsSteven Mak
 
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterA Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterJohn McCaffrey
 
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...QAFest
 
C++ Testing Techniques Tips and Tricks - C++ London
C++ Testing Techniques Tips and Tricks - C++ LondonC++ Testing Techniques Tips and Tricks - C++ London
C++ Testing Techniques Tips and Tricks - C++ LondonClare Macrae
 

Mais procurados (6)

Quality comes free with open source testing tools
Quality comes free with open source testing toolsQuality comes free with open source testing tools
Quality comes free with open source testing tools
 
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it betterA Taste of TDD: The basics of TDD, why it is hard and how to do it better
A Taste of TDD: The basics of TDD, why it is hard and how to do it better
 
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...
QA Fest 2017. Влада Бенюх.Организация End-to-End тестирования в cross-integra...
 
Hardening
HardeningHardening
Hardening
 
C++ Testing Techniques Tips and Tricks - C++ London
C++ Testing Techniques Tips and Tricks - C++ LondonC++ Testing Techniques Tips and Tricks - C++ London
C++ Testing Techniques Tips and Tricks - C++ London
 
Protractor: Tips & Tricks
Protractor: Tips & TricksProtractor: Tips & Tricks
Protractor: Tips & Tricks
 

Destaque

Agile Tour Toulouse 2015 - Ekito
Agile Tour Toulouse 2015 - EkitoAgile Tour Toulouse 2015 - Ekito
Agile Tour Toulouse 2015 - EkitoAgile Toulouse
 
Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Frederic Roy
 
The 10 most visited cities in the world
The 10 most visited cities in the worldThe 10 most visited cities in the world
The 10 most visited cities in the worldJoana Gallego Santos
 
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22Isam Shahrour
 

Destaque (6)

Agile Tour Toulouse 2015 - Ekito
Agile Tour Toulouse 2015 - EkitoAgile Tour Toulouse 2015 - Ekito
Agile Tour Toulouse 2015 - Ekito
 
Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1
 
The 10 most visited cities in the world
The 10 most visited cities in the worldThe 10 most visited cities in the world
The 10 most visited cities in the world
 
Cities to visit in france
Cities to visit in franceCities to visit in france
Cities to visit in france
 
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22
Conference of Isam Shahrour - Smart City for Energy Transition - Pre-COP22
 
France Power Point
France Power PointFrance Power Point
France Power Point
 

Semelhante a The Testing Strategy and Types of Tests

Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing -  Calgary .NET User Group - Nov 26 2014 - Depth ConsultingUnit Testing -  Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth ConsultingDave White
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallSynerzip
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020arzu TR
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing SoftwareSteven Smith
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
Testing the Untestable
Testing the UntestableTesting the Untestable
Testing the UntestableMark Baker
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestPeter Marshall
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsAmit Rawat
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven DevelopmentSiva Arunachalam
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDDDhaval Dalal
 
Testing and Software Writer a year later
Testing and Software Writer a year laterTesting and Software Writer a year later
Testing and Software Writer a year laterSimon Bagreev
 
From legacy to DDD (slides for the screencast)
From legacy to DDD (slides for the screencast)From legacy to DDD (slides for the screencast)
From legacy to DDD (slides for the screencast)Andrzej Krzywda
 
Testing strategies in microservices
Testing strategies in microservicesTesting strategies in microservices
Testing strategies in microservicesGeekNightHyderabad
 
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaSauce Labs
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Fabricio Epaminondas
 

Semelhante a The Testing Strategy and Types of Tests (20)

Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing -  Calgary .NET User Group - Nov 26 2014 - Depth ConsultingUnit Testing -  Calgary .NET User Group - Nov 26 2014 - Depth Consulting
Unit Testing - Calgary .NET User Group - Nov 26 2014 - Depth Consulting
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael Hall
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing Software
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Testing the Untestable
Testing the UntestableTesting the Untestable
Testing the Untestable
 
Continuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTestContinuous Delivery & Testing Madrid AfterTest
Continuous Delivery & Testing Madrid AfterTest
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
CNUG TDD June 2014
CNUG TDD June 2014CNUG TDD June 2014
CNUG TDD June 2014
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Approaching ATDD/BDD
Approaching ATDD/BDDApproaching ATDD/BDD
Approaching ATDD/BDD
 
Testing and Software Writer a year later
Testing and Software Writer a year laterTesting and Software Writer a year later
Testing and Software Writer a year later
 
From legacy to DDD (slides for the screencast)
From legacy to DDD (slides for the screencast)From legacy to DDD (slides for the screencast)
From legacy to DDD (slides for the screencast)
 
Testing strategies in microservices
Testing strategies in microservicesTesting strategies in microservices
Testing strategies in microservices
 
The Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego MolinaThe Holy Trinity of UI Testing by Diego Molina
The Holy Trinity of UI Testing by Diego Molina
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Agile testing MyBTEC
Agile testing MyBTECAgile testing MyBTEC
Agile testing MyBTEC
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 

Mais de Agile Toulouse

ATTLS22 - Sophie ROCCA - Le leadership inconscient des experts
ATTLS22 - Sophie ROCCA - Le leadership inconscient des expertsATTLS22 - Sophie ROCCA - Le leadership inconscient des experts
ATTLS22 - Sophie ROCCA - Le leadership inconscient des expertsAgile Toulouse
 
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...Agile Toulouse
 
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SM
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SMATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SM
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SMAgile Toulouse
 
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaboration
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaborationATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaboration
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaborationAgile Toulouse
 
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...Agile Toulouse
 
agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...
 agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co... agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...
agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...Agile Toulouse
 
agile tour toulouse 2015 - Intel REX
 agile tour toulouse 2015 - Intel REX agile tour toulouse 2015 - Intel REX
agile tour toulouse 2015 - Intel REXAgile Toulouse
 
agile tour toulouse 2015 - Ibp - les communautés de pratiques
 agile tour toulouse 2015  - Ibp - les communautés de pratiques agile tour toulouse 2015  - Ibp - les communautés de pratiques
agile tour toulouse 2015 - Ibp - les communautés de pratiquesAgile Toulouse
 
Agile Tour Toulouse 2015 - Keynote 2 - Luc Pouliquen
Agile Tour Toulouse 2015 - Keynote 2 - Luc PouliquenAgile Tour Toulouse 2015 - Keynote 2 - Luc Pouliquen
Agile Tour Toulouse 2015 - Keynote 2 - Luc PouliquenAgile Toulouse
 
Agile Tour Toulouse 2015 - Patch bonheur au travail
Agile Tour Toulouse 2015 - Patch bonheur au travailAgile Tour Toulouse 2015 - Patch bonheur au travail
Agile Tour Toulouse 2015 - Patch bonheur au travailAgile Toulouse
 
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La Performance
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La PerformanceAgile Tour Toulouse 2015 - Jean Marc Nozeran - La Performance
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La PerformanceAgile Toulouse
 
Agile Tour Toulouse 2015 - çA prendra combien de temps
Agile Tour Toulouse 2015 - çA prendra combien de tempsAgile Tour Toulouse 2015 - çA prendra combien de temps
Agile Tour Toulouse 2015 - çA prendra combien de tempsAgile Toulouse
 
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilité
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilitéAgileTour Toulouse 2012 : posture Ingénieur Qualité en agilité
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilitéAgile Toulouse
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgile Toulouse
 
AgileTour Toulouse 2012 : quel chemin vers l’agilité
AgileTour Toulouse 2012 : quel chemin vers l’agilitéAgileTour Toulouse 2012 : quel chemin vers l’agilité
AgileTour Toulouse 2012 : quel chemin vers l’agilitéAgile Toulouse
 
AgileTour Toulouse 2012 : objectif mars
AgileTour Toulouse 2012 : objectif marsAgileTour Toulouse 2012 : objectif mars
AgileTour Toulouse 2012 : objectif marsAgile Toulouse
 
AgileTour Toulouse 2012 : lego4scrum
AgileTour Toulouse 2012 : lego4scrumAgileTour Toulouse 2012 : lego4scrum
AgileTour Toulouse 2012 : lego4scrumAgile Toulouse
 
AgileTour Toulouse 2012 : innovation games
AgileTour Toulouse 2012 : innovation gamesAgileTour Toulouse 2012 : innovation games
AgileTour Toulouse 2012 : innovation gamesAgile Toulouse
 
AgileTour Toulouse 2012 : il était une fois la vie d’un product owner
AgileTour Toulouse 2012 : il était une fois la vie d’un product ownerAgileTour Toulouse 2012 : il était une fois la vie d’un product owner
AgileTour Toulouse 2012 : il était une fois la vie d’un product ownerAgile Toulouse
 
AgileTour Toulouse 2012 : faire grandir l’agilité
AgileTour Toulouse 2012 : faire grandir l’agilitéAgileTour Toulouse 2012 : faire grandir l’agilité
AgileTour Toulouse 2012 : faire grandir l’agilitéAgile Toulouse
 

Mais de Agile Toulouse (20)

ATTLS22 - Sophie ROCCA - Le leadership inconscient des experts
ATTLS22 - Sophie ROCCA - Le leadership inconscient des expertsATTLS22 - Sophie ROCCA - Le leadership inconscient des experts
ATTLS22 - Sophie ROCCA - Le leadership inconscient des experts
 
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...
ATTLS22 - Haja RAMBELONTSALAMA - Changement de Culture bien ordonnée commence...
 
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SM
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SMATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SM
ATTLS22 - Déborah MULLER GAUTHIER - Tribulations d’une SM
 
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaboration
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaborationATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaboration
ATTLS22 - Claudia OROZCO-GOMEZ - ATELIER - Experimenter la collaboration
 
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...
Agile Tour Toulouse 2020 : FORTUNEO - Tous pour un, l'agile pour tous ! Comme...
 
agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...
 agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co... agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...
agile tour toulouse 2015 - Kanban pour l'it une experience d'amélioration co...
 
agile tour toulouse 2015 - Intel REX
 agile tour toulouse 2015 - Intel REX agile tour toulouse 2015 - Intel REX
agile tour toulouse 2015 - Intel REX
 
agile tour toulouse 2015 - Ibp - les communautés de pratiques
 agile tour toulouse 2015  - Ibp - les communautés de pratiques agile tour toulouse 2015  - Ibp - les communautés de pratiques
agile tour toulouse 2015 - Ibp - les communautés de pratiques
 
Agile Tour Toulouse 2015 - Keynote 2 - Luc Pouliquen
Agile Tour Toulouse 2015 - Keynote 2 - Luc PouliquenAgile Tour Toulouse 2015 - Keynote 2 - Luc Pouliquen
Agile Tour Toulouse 2015 - Keynote 2 - Luc Pouliquen
 
Agile Tour Toulouse 2015 - Patch bonheur au travail
Agile Tour Toulouse 2015 - Patch bonheur au travailAgile Tour Toulouse 2015 - Patch bonheur au travail
Agile Tour Toulouse 2015 - Patch bonheur au travail
 
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La Performance
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La PerformanceAgile Tour Toulouse 2015 - Jean Marc Nozeran - La Performance
Agile Tour Toulouse 2015 - Jean Marc Nozeran - La Performance
 
Agile Tour Toulouse 2015 - çA prendra combien de temps
Agile Tour Toulouse 2015 - çA prendra combien de tempsAgile Tour Toulouse 2015 - çA prendra combien de temps
Agile Tour Toulouse 2015 - çA prendra combien de temps
 
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilité
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilitéAgileTour Toulouse 2012 : posture Ingénieur Qualité en agilité
AgileTour Toulouse 2012 : posture Ingénieur Qualité en agilité
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 
AgileTour Toulouse 2012 : quel chemin vers l’agilité
AgileTour Toulouse 2012 : quel chemin vers l’agilitéAgileTour Toulouse 2012 : quel chemin vers l’agilité
AgileTour Toulouse 2012 : quel chemin vers l’agilité
 
AgileTour Toulouse 2012 : objectif mars
AgileTour Toulouse 2012 : objectif marsAgileTour Toulouse 2012 : objectif mars
AgileTour Toulouse 2012 : objectif mars
 
AgileTour Toulouse 2012 : lego4scrum
AgileTour Toulouse 2012 : lego4scrumAgileTour Toulouse 2012 : lego4scrum
AgileTour Toulouse 2012 : lego4scrum
 
AgileTour Toulouse 2012 : innovation games
AgileTour Toulouse 2012 : innovation gamesAgileTour Toulouse 2012 : innovation games
AgileTour Toulouse 2012 : innovation games
 
AgileTour Toulouse 2012 : il était une fois la vie d’un product owner
AgileTour Toulouse 2012 : il était une fois la vie d’un product ownerAgileTour Toulouse 2012 : il était une fois la vie d’un product owner
AgileTour Toulouse 2012 : il était une fois la vie d’un product owner
 
AgileTour Toulouse 2012 : faire grandir l’agilité
AgileTour Toulouse 2012 : faire grandir l’agilitéAgileTour Toulouse 2012 : faire grandir l’agilité
AgileTour Toulouse 2012 : faire grandir l’agilité
 

The Testing Strategy and Types of Tests

  • 1. The Testing Strategy Domenico Musto 2012 October
  • 2.
  • 3. Who am I? 25/10/12 www.agiletour.com
  • 4. About me 25/10/12 www.agiletour.com
  • 5. Not about me 25/10/12 www.agiletour.com
  • 6. What do I do? C# .NET Team leading Web REST Ruby Automation Testing Agile @mimmozzo domenico.musto@gmail.com 25/10/12 www.agiletour.com
  • 7. Today we talk about.. • Differences between types of tests • Tests and developers • Tests and QA 25/10/12 www.agiletour.com
  • 8. ..we don't talk about.. • Testing frameworks • Libraries 25/10/12 www.agiletour.com
  • 9. The Agile Testing Quadrant 25/10/12 www.agiletour.com
  • 10. Technology facing 25/10/12 www.agiletour.com
  • 11. Types of tests • Unit • Functional • Load • Soak 25/10/12 www.agiletour.com
  • 12. Unit tests • They test units of code in isolation • Interaction between components • Describe the behaviour • Drive the design • Fast execution 25/10/12 www.agiletour.com
  • 13. Be careful • Test just public interfaces • Do not abuse of mocking 25/10/12 www.agiletour.com
  • 14. Adding a new class is not the trigger for a new test. The trigger is the implementation of a new requirement. 25/10/12 www.agiletour.com
  • 15. Functional tests • They test the interaction with components outside the context of our application • They assure integration • They might be slow 25/10/12 www.agiletour.com
  • 16. public class When_getting_an_object_from_the_db { static int _objectId; static DbWrapper _sut; static object _object; Establish that_there_is_an_object = ()=> { _objectId = 100; ManuallyAddAnObjectInTheDb(_objectId); } Because we_get_the_object = ()=> _object = _sut.Get(_objectId); It should_get_the_object = ()=> _object.ShouldNotBeNull(); } 25/10/12 www.agiletour.com
  • 17. public class When_storing_an_object_in_the_db { static int _objectId; static DbWrapper _sut; static object _object; Establish we_have_an_object_to_save = ()=> { _objectId = 100; } Because we_save_the_object = ()=> _object = _sut.Save(_objectId); It should_store_the_object = ()=> _sut.Get(_objectId).ShouldNotBeNull(); } 25/10/12 www.agiletour.com
  • 18. Be careful • Do not mix tests • Use context builders for data fixture 25/10/12 www.agiletour.com
  • 19. Load tests • Feedback on performance • Feedback on volume limit • Complicated to write • Slow execution 25/10/12 www.agiletour.com
  • 20. Soak tests • Discover technologic issues • Slow execution 25/10/12 www.agiletour.com
  • 21. Business facing 25/10/12 www.agiletour.com
  • 22. Types of tests • End to end • Integration • Exploratory 25/10/12 www.agiletour.com
  • 23. End to end tests • They test the whole scope of a feature • They are acceptance tests • Understandable from non-techincal persons • Slow execution 25/10/12 www.agiletour.com
  • 24. They are not (only) interface tests. 25/10/12 www.agiletour.com
  • 25. Integration tests when the end to end aren't brave enough • They test pieces of the application • They test the integration • Slow execution 25/10/12 www.agiletour.com
  • 26. Exploratory tests • Manual • Look for feature limit 25/10/12 www.agiletour.com
  • 27. Let's implement a feature 25/10/12 www.agiletour.com
  • 28. The actors of the development process • Developers • QA • Customer 25/10/12 www.agiletour.com
  • 29. The story As a user of huddle I would like to add comments to tasks to collaborate better with my colleagues 25/10/12 www.agiletour.com
  • 30. 25/10/12 www.agiletour.com
  • 31. 25/10/12 www.agiletour.com
  • 32. 25/10/12 www.agiletour.com
  • 33. 25/10/12 www.agiletour.com
  • 34. 25/10/12 www.agiletour.com
  • 35.
  • 36.
  • 37. df 25/10/12 www.agiletour.com
  • 38. The feature is ready 25/10/12 www.agiletour.com
  • 39. 25/10/12 www.agiletour.com
  • 40. What about the tests ?!?!?! 25/10/12 www.agiletour.com
  • 41. 25/10/12 www.agiletour.com
  • 42. When do I need to do end to end tests ? 25/10/12 www.agiletour.com
  • 43. Test plan 25/10/12 www.agiletour.com
  • 44. 25/10/12 www.agiletour.com
  • 45. 25/10/12 www.agiletour.com
  • 46. Test plan • Acceptance tests • Functional tests • Integration tests • Unit tests 25/10/12 www.agiletour.com
  • 47. 25/10/12 www.agiletour.com
  • 48. Trade-off 25/10/12 www.agiletour.com
  • 49. Quality attributes • Availability • Modifiability • Performance • Security • Testability • Usability 25/10/12 www.agiletour.com
  • 50. The test pyramid 25/10/12 www.agiletour.com
  • 51. QA Team 25/10/12 www.agiletour.com
  • 52. QA Team 25/10/12 www.agiletour.com
  • 53. QAs are part of the dev team 25/10/12 www.agiletour.com
  • 54. The reputation of the tests, of the build server and of the development environment 25/10/12 www.agiletour.com
  • 55. The deployment 25/10/12 www.agiletour.com
  • 56. 25/10/12 www.agiletour.com
  • 57. Thanks. Q&A @mimmozzo domenico.musto@gmail.com 25/10/12 www.agiletour.com