SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Les tests automatisés et SharePoint 2010, c'est possible!
Sébastien Levert
Directeur technique, Développement SharePoint, Les Solutions Victrix
À propos de moi !

  Directeur technique,
  Développement SharePoint
  Les Solutions Victrix


  MCTS, MCITP & MCPD


  Twitter : @sebastienlevert


  LinkedIn : http://ca.linkedin.com/in/sebastienlevert


  Blog : http://blog.sebastienlevert.com/



                                                         2
À qui ça s’adresse ?

  Développeurs


  Responsables d’assurance-qualité


  Gestionnaires d’équipes techniques




                                       3
Les prérequis

  Connaître les concepts de base des tests unitaires


  Bien connaître les API de développement de SharePoint


  Être à l’aise avec les expressions lambdas


  Être curieux




                                                          4
Agenda

 Pourquoi, les tests automatisés ?


 Les tests unitaires dans un environnement SharePoint


 Les tests d’interface


 Comment l’intégrer dans la réalité


 Questions




                                                        5
Les tests automatisés




                        6
Pourquoi, les tests automatisés ?

  Favoriser la qualité des solutions livrées


  Assurer une rétro-compatibilité


  Alléger les tests fonctionnels


  Favoriser un modèle de développement obligeant à penser en
  fonction des tests


  Deux types
    Tests unitaires
    Tests d’interface



                                                               7
Les tests unitaires




                      8
Les tests unitaires

  En programmation informatique, le test unitaire est un procédé
  permettant de s’assurer du fonctionnement correct d’une partie
  déterminée d’un logiciel ou d’une portion d’un programme
  (appelé « unité » ou « module »). – Wikipédia


  Tests isolés d’une méthode, d’une fonction
    Plus le test isole un cas associé à une fonction, plus le test est
    pertinent




                                                                         9
Les tests unitaires dans un environnement SharePoint

  Avez-vous déjà tenté l’expérience ?


  Sans outil, c’est long, complexe, non performant et impossible
  à tester à 100%


  Donc… On fait quoi ?


  Utilisation de « framework » d’isolation (« Mocking »)
    TypeMock Isolator
    Telerik JustMock
    Moq
    RhinoMock
    Microsoft Pex & Moles


                                                                   10
Les tests unitaires dans un environnement SharePoint

  Pex & Moles à la rescousse !


  Permet de changer le comportement des appels aux méthodes
  des classes (de tout type)


  Permet d’être isolé complètement de la plateforme


  Pourquoi pas TypeMock, JustMock, moq, RhinoMock, etc ?
    Visual Studio 11 Beta !
    Moles a été intégré nativement à la plateforme de tests unitaires
    Supporté par l’équipe de Visual Studio
    Le nouveau nom : Fakes



                                                                        11
L’isolation : Exemple

  Comment tester ceci ?

   if (DateTime.Now == new DateTime(2000,1,1))
          throw new BogueAn2000();

  Si on pouvait modifier le comportement de DateTime.Now, ça
  deviendrait testable…

   MDateTime.NowGet = () => return new DateTime(2000, 1, 1);

   if (DateTime.Now == new DateTime(2000,1,1))
          throw new BogueAn2000();


  À l’appel de DateTime.Now, la véritable date qui sera retournée
  sera celle définit dans le MDateTime.NowGet. Magie!
                                                                    12
Les tests unitaires dans un environnement SharePoint

  Du code ! Enfin !




                                                       13
En résumé

  Permettent de tester vos fonctionnalités utilisant les entrailles
  de SharePoint


  Permettent de faire aisément des tests de régression

  Doivent être accompagnés d’isolation

  Ajoutent un certain temps au développement, habituellement
  rapidement compensé par moins de tests fonctionnels.




                                                                      14
Les tests d’interface




                        15
Les tests d’interface, qu’est-ce que c’est ?

  Séquence d’utilisation d’un logiciel


  Peut être « enregistré »


  Génère le code afin de reproduire la séquence


  Le code généré peut être modifié pour satisfaire différentes
  conditions


  Intégration à Visual Studio 2010 Premium/Ultimate




                                                                 16
La différence avec les tests unitaires

  Permet de faire des tests couvrant une plus vaste superficie de
  votre logiciel (Déploiement, comportement web, etc.)


  Sont des tests « intégrés » à l’environnement SharePoint


  Couvre des éléments beaucoup plus complexes à tester avec
  des tests unitaires




                                                                    17
Les tests d’interface dans un environnement SharePoint

  Démo !




                                                         18
L’intégration dans la
réalité




                        19
Comment intégrer ces techniques dans la réalité ?

  Intégration des tests dès le premier jour du projet
    Beaucoup plus efficace et motivant
    Ne requiert pas de faire des tests rétroactifs qui coûtent beaucoup
    plus cher


  Formation des développeurs
    Un développeur formé et comprenant les enjeux des tests
    automatisés sera plus enclin à développer des tests de grande
    qualité


  Ajout de politiques au gestionnaire de source
    Impossible de déposer du code non testé
    Impossible de déposer du code si les tests échouent




                                                                          20
Comment intégrer ces techniques dans la réalité ?

  Planifier les tests
     Un coût est associé à l’ajout de ces mesures
     Ajout de 15 à 20% d’effort à un projet au niveau des activités de
     développement
     Réduit au minimum les « dummy » tests
     À favoriser lors de projets misant sur la qualité de la solution
     Plus la découverte et la correction d'une erreur survient tard dans
     le cycle de développement, plus elle sera coûteuse à corriger.
     L'augmentation des coûts au niveau unitaire peut donc alors être
     perçu comme un investissement dans la qualité globale.


  Ne remplace pas les activités d’assurance-qualité
     Permettent de valider les cas principaux
     Ne permettent pas de valider les besoins




                                                                           21
Questions ?




              22

Contenu connexe

Tendances

Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Jean-Emmanuel Houdu
 
Les Tests : une évolution, pas une révolution
Les Tests : une évolution, pas une révolutionLes Tests : une évolution, pas une révolution
Les Tests : une évolution, pas une révolutionZeenat Nazaroudine
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerPhilippe Sentenac
 
eXtreme Programming [fr]
eXtreme Programming [fr]eXtreme Programming [fr]
eXtreme Programming [fr]Rémy Coutable
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingBilal ZIANE
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration ContinueFrédéric Sagez
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...LeClubQualiteLogicielle
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Fabian Piau
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgile Toulouse
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonEmeline Simon
 
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI NextLeClubQualiteLogicielle
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17Marc Hage Chahine
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des testsZhu Wei QI
 

Tendances (20)

Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1Presentation tests d'acceptations automatisés sug v1.1
Presentation tests d'acceptations automatisés sug v1.1
 
Les Tests : une évolution, pas une révolution
Les Tests : une évolution, pas une révolutionLes Tests : une évolution, pas une révolution
Les Tests : une évolution, pas une révolution
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
SharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation ServerSharePoint 2010 & Team Foundation Server
SharePoint 2010 & Team Foundation Server
 
ATDD Visuel
ATDD VisuelATDD Visuel
ATDD Visuel
 
eXtreme Programming [fr]
eXtreme Programming [fr]eXtreme Programming [fr]
eXtreme Programming [fr]
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Test unitaires
Test unitairesTest unitaires
Test unitaires
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)Intégration Continue (Agile Nantes)
Intégration Continue (Agile Nantes)
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline SimonMémoire - L'automatisation des tests fonctionnels - Emeline Simon
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
 
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Automatisation des tests
Automatisation des testsAutomatisation des tests
Automatisation des tests
 

En vedette

Atelier école : recherche d'information, ressources et outils collaboratifs
Atelier école : recherche d'information, ressources et outils collaboratifsAtelier école : recherche d'information, ressources et outils collaboratifs
Atelier école : recherche d'information, ressources et outils collaboratifschauvinclo
 
El internet
El internetEl internet
El internetJ-D
 
Actividad final semana VIII Programa Administración Informatica
Actividad final semana VIII Programa Administración InformaticaActividad final semana VIII Programa Administración Informatica
Actividad final semana VIII Programa Administración InformaticaMaria Garcia
 
Association des musées cantonaux - Base de donnée en ligne
Association des musées cantonaux - Base de donnée en ligneAssociation des musées cantonaux - Base de donnée en ligne
Association des musées cantonaux - Base de donnée en ligneGilles Faessler
 
Présentation CMAIS : Services et activités
Présentation CMAIS : Services et activitésPrésentation CMAIS : Services et activités
Présentation CMAIS : Services et activitésMounM
 
Tecnologia y competitividad
Tecnologia y competitividadTecnologia y competitividad
Tecnologia y competitividadMaria Garcia
 
Bitmap & vectorial
Bitmap & vectorialBitmap & vectorial
Bitmap & vectorialdaniela11995
 
Flash mob expose
Flash mob exposeFlash mob expose
Flash mob exposegmccbc
 
Chiffres-clés de la sinistralité au travail selon le sexe
Chiffres-clés de la sinistralité au travail selon le sexeChiffres-clés de la sinistralité au travail selon le sexe
Chiffres-clés de la sinistralité au travail selon le sexeAnact
 
Les Produits du Quotidien Connectés
Les Produits du Quotidien ConnectésLes Produits du Quotidien Connectés
Les Produits du Quotidien ConnectésChristophe Ballihaut
 
Mon Nano Récifal
Mon Nano RécifalMon Nano Récifal
Mon Nano Récifalcedric39
 
Dulce veleidad
Dulce veleidadDulce veleidad
Dulce veleidadkiwanari
 
La música mayra rios
La música mayra riosLa música mayra rios
La música mayra riosMayrytaRivers
 

En vedette (20)

Atelier école : recherche d'information, ressources et outils collaboratifs
Atelier école : recherche d'information, ressources et outils collaboratifsAtelier école : recherche d'information, ressources et outils collaboratifs
Atelier école : recherche d'information, ressources et outils collaboratifs
 
Leidy
LeidyLeidy
Leidy
 
El internet
El internetEl internet
El internet
 
Actividad final semana VIII Programa Administración Informatica
Actividad final semana VIII Programa Administración InformaticaActividad final semana VIII Programa Administración Informatica
Actividad final semana VIII Programa Administración Informatica
 
Association des musées cantonaux - Base de donnée en ligne
Association des musées cantonaux - Base de donnée en ligneAssociation des musées cantonaux - Base de donnée en ligne
Association des musées cantonaux - Base de donnée en ligne
 
Présentation CMAIS : Services et activités
Présentation CMAIS : Services et activitésPrésentation CMAIS : Services et activités
Présentation CMAIS : Services et activités
 
Tecnologia y competitividad
Tecnologia y competitividadTecnologia y competitividad
Tecnologia y competitividad
 
Leo comento y_escribo_lo_que_debes_hacer
Leo comento y_escribo_lo_que_debes_hacerLeo comento y_escribo_lo_que_debes_hacer
Leo comento y_escribo_lo_que_debes_hacer
 
Bitmap & vectorial
Bitmap & vectorialBitmap & vectorial
Bitmap & vectorial
 
Test quiz masculin ou feminin
Test quiz masculin ou feminin Test quiz masculin ou feminin
Test quiz masculin ou feminin
 
Flash mob expose
Flash mob exposeFlash mob expose
Flash mob expose
 
Ing biomedicahistoria
Ing biomedicahistoriaIng biomedicahistoria
Ing biomedicahistoria
 
Chiffres-clés de la sinistralité au travail selon le sexe
Chiffres-clés de la sinistralité au travail selon le sexeChiffres-clés de la sinistralité au travail selon le sexe
Chiffres-clés de la sinistralité au travail selon le sexe
 
Les Produits du Quotidien Connectés
Les Produits du Quotidien ConnectésLes Produits du Quotidien Connectés
Les Produits du Quotidien Connectés
 
Postobon (parte 2)
Postobon (parte 2)Postobon (parte 2)
Postobon (parte 2)
 
Mon Nano Récifal
Mon Nano RécifalMon Nano Récifal
Mon Nano Récifal
 
Dulce veleidad
Dulce veleidadDulce veleidad
Dulce veleidad
 
automoviles
automovilesautomoviles
automoviles
 
Platges de Menorca
Platges de MenorcaPlatges de Menorca
Platges de Menorca
 
La música mayra rios
La música mayra riosLa música mayra rios
La música mayra rios
 

Similaire à SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est possible!

TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? Christophe HERAL
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...Sébastien Levert
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterGuillaume Deshayes
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Microsoft
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...TelecomValley
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringneuros
 
Processus d’intégration continue et outils
Processus d’intégration continue et outilsProcessus d’intégration continue et outils
Processus d’intégration continue et outilsAgile Tour 2009 Québec
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Samuel Metias
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionSylvain Leroy
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Microsoft
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022Agile Montréal
 
20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOpsLeClubQualiteLogicielle
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Jean-Marc Fontaine
 
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...PimpMySharePoint
 
Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Laurent PY
 

Similaire à SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est possible! (20)

TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ? TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
TFS 2012 : un pas vers l'agilité... en avant ou en arrière ?
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
SharePoint Summit 2012 - Gouvernance et évolution d'une équipe de développeme...
 
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile CenterComment construire son laboratoire de tests mobiles avec HP Mobile Center
Comment construire son laboratoire de tests mobiles avec HP Mobile Center
 
Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11Les nouveautés de Visual Studio 11
Les nouveautés de Visual Studio 11
 
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
Tester en continu avec le Cloud - GACHE HUCKERT - AXA FRANCE - Soirée du Test...
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Processus d’intégration continue et outils
Processus d’intégration continue et outilsProcessus d’intégration continue et outils
Processus d’intégration continue et outils
 
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
Microsoft DevOps Day 2015 02122015 - L'expérience du groupe produit Visual St...
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
Cleancode / Tocea / Introduction
Cleancode / Tocea / IntroductionCleancode / Tocea / Introduction
Cleancode / Tocea / Introduction
 
Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012Patterns Agiles avec Visual Studio 2012 et TFS 2012
Patterns Agiles avec Visual Studio 2012 et TFS 2012
 
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
CdP QA - QA hackathon - Intelligence artificielle - 27 janvier 2022
 
20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011Industrialiser PHP - Open World Forum 2011
Industrialiser PHP - Open World Forum 2011
 
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...
La Gouvernance, ou comment rapprocher les équipes de développement et d’infra...
 
Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)
 

Plus de Sébastien Levert

SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutes
SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutesSharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutes
SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutesSébastien Levert
 
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...Sébastien Levert
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesSébastien Levert
 
ESPC19 - Build Your First Microsoft Teams App Using SPFx
ESPC19 - Build Your First Microsoft Teams App Using SPFxESPC19 - Build Your First Microsoft Teams App Using SPFx
ESPC19 - Build Your First Microsoft Teams App Using SPFxSébastien Levert
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...Sébastien Levert
 
SPC19 - Building tailored search experiences in Modern SharePoint
SPC19 - Building tailored search experiences in Modern SharePointSPC19 - Building tailored search experiences in Modern SharePoint
SPC19 - Building tailored search experiences in Modern SharePointSébastien Levert
 
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...SharePoint Fest 2019 - Build an intelligent application by connecting it to t...
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...Sébastien Levert
 
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...Sébastien Levert
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFx
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFxWebinar - 2020-03-24 - Build your first Microsoft Teams app using SPFx
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFxSébastien Levert
 
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...Sébastien Levert
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSébastien Levert
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSébastien Levert
 
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...Sébastien Levert
 
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutes
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutesSharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutes
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutesSébastien Levert
 
European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...Sébastien Levert
 
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!Sébastien Levert
 
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutes
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutesNashville SharePoint User Group 2018 - Building a modern intranet in 60 minutes
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutesSébastien Levert
 

Plus de Sébastien Levert (20)

SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutes
SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutesSharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutes
SharePoint Fest Chicago 2019 - Build a Full Intranet in 70 minutes
 
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...
SharePoint Fest Chicago 2019 - Building tailored search experiences in Modern...
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
 
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development TechniquesESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
ESPC19 - Supercharge Your Teams Experience with Advanced Development Techniques
 
ESPC19 - Build Your First Microsoft Teams App Using SPFx
ESPC19 - Build Your First Microsoft Teams App Using SPFxESPC19 - Build Your First Microsoft Teams App Using SPFx
ESPC19 - Build Your First Microsoft Teams App Using SPFx
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...
SharePoint Fest Seattle 2019 - Building tailored search experiences in Modern...
 
SPC19 - Building tailored search experiences in Modern SharePoint
SPC19 - Building tailored search experiences in Modern SharePointSPC19 - Building tailored search experiences in Modern SharePoint
SPC19 - Building tailored search experiences in Modern SharePoint
 
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...SharePoint Fest 2019 - Build an intelligent application by connecting it to t...
SharePoint Fest 2019 - Build an intelligent application by connecting it to t...
 
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...
SharePoint Fest DC 2019 - Bot Framework and Microsoft Graph - Join The Revolu...
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFx
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFxWebinar - 2020-03-24 - Build your first Microsoft Teams app using SPFx
Webinar - 2020-03-24 - Build your first Microsoft Teams app using SPFx
 
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...
SPTechCon Austin 2019 - Top 10 feature trends to make you fall in love with y...
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 development
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...
SharePoint Saturday Vienna 2018 - Top 10 feature trends to make you fall in l...
 
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutes
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutesSharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutes
SharePoint Saturday Vienna 2018 - Building a modern intranet in 60 minutes
 
European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...
 
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
SharePoint Saturday Belgium 2018 - APIs, APIs everywhere!
 
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutes
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutesNashville SharePoint User Group 2018 - Building a modern intranet in 60 minutes
Nashville SharePoint User Group 2018 - Building a modern intranet in 60 minutes
 

SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est possible!

  • 1. Les tests automatisés et SharePoint 2010, c'est possible! Sébastien Levert Directeur technique, Développement SharePoint, Les Solutions Victrix
  • 2. À propos de moi ! Directeur technique, Développement SharePoint Les Solutions Victrix MCTS, MCITP & MCPD Twitter : @sebastienlevert LinkedIn : http://ca.linkedin.com/in/sebastienlevert Blog : http://blog.sebastienlevert.com/ 2
  • 3. À qui ça s’adresse ? Développeurs Responsables d’assurance-qualité Gestionnaires d’équipes techniques 3
  • 4. Les prérequis Connaître les concepts de base des tests unitaires Bien connaître les API de développement de SharePoint Être à l’aise avec les expressions lambdas Être curieux 4
  • 5. Agenda Pourquoi, les tests automatisés ? Les tests unitaires dans un environnement SharePoint Les tests d’interface Comment l’intégrer dans la réalité Questions 5
  • 7. Pourquoi, les tests automatisés ? Favoriser la qualité des solutions livrées Assurer une rétro-compatibilité Alléger les tests fonctionnels Favoriser un modèle de développement obligeant à penser en fonction des tests Deux types Tests unitaires Tests d’interface 7
  • 9. Les tests unitaires En programmation informatique, le test unitaire est un procédé permettant de s’assurer du fonctionnement correct d’une partie déterminée d’un logiciel ou d’une portion d’un programme (appelé « unité » ou « module »). – Wikipédia Tests isolés d’une méthode, d’une fonction Plus le test isole un cas associé à une fonction, plus le test est pertinent 9
  • 10. Les tests unitaires dans un environnement SharePoint Avez-vous déjà tenté l’expérience ? Sans outil, c’est long, complexe, non performant et impossible à tester à 100% Donc… On fait quoi ? Utilisation de « framework » d’isolation (« Mocking ») TypeMock Isolator Telerik JustMock Moq RhinoMock Microsoft Pex & Moles 10
  • 11. Les tests unitaires dans un environnement SharePoint Pex & Moles à la rescousse ! Permet de changer le comportement des appels aux méthodes des classes (de tout type) Permet d’être isolé complètement de la plateforme Pourquoi pas TypeMock, JustMock, moq, RhinoMock, etc ? Visual Studio 11 Beta ! Moles a été intégré nativement à la plateforme de tests unitaires Supporté par l’équipe de Visual Studio Le nouveau nom : Fakes 11
  • 12. L’isolation : Exemple Comment tester ceci ? if (DateTime.Now == new DateTime(2000,1,1)) throw new BogueAn2000(); Si on pouvait modifier le comportement de DateTime.Now, ça deviendrait testable… MDateTime.NowGet = () => return new DateTime(2000, 1, 1); if (DateTime.Now == new DateTime(2000,1,1)) throw new BogueAn2000(); À l’appel de DateTime.Now, la véritable date qui sera retournée sera celle définit dans le MDateTime.NowGet. Magie! 12
  • 13. Les tests unitaires dans un environnement SharePoint Du code ! Enfin ! 13
  • 14. En résumé Permettent de tester vos fonctionnalités utilisant les entrailles de SharePoint Permettent de faire aisément des tests de régression Doivent être accompagnés d’isolation Ajoutent un certain temps au développement, habituellement rapidement compensé par moins de tests fonctionnels. 14
  • 16. Les tests d’interface, qu’est-ce que c’est ? Séquence d’utilisation d’un logiciel Peut être « enregistré » Génère le code afin de reproduire la séquence Le code généré peut être modifié pour satisfaire différentes conditions Intégration à Visual Studio 2010 Premium/Ultimate 16
  • 17. La différence avec les tests unitaires Permet de faire des tests couvrant une plus vaste superficie de votre logiciel (Déploiement, comportement web, etc.) Sont des tests « intégrés » à l’environnement SharePoint Couvre des éléments beaucoup plus complexes à tester avec des tests unitaires 17
  • 18. Les tests d’interface dans un environnement SharePoint Démo ! 18
  • 20. Comment intégrer ces techniques dans la réalité ? Intégration des tests dès le premier jour du projet Beaucoup plus efficace et motivant Ne requiert pas de faire des tests rétroactifs qui coûtent beaucoup plus cher Formation des développeurs Un développeur formé et comprenant les enjeux des tests automatisés sera plus enclin à développer des tests de grande qualité Ajout de politiques au gestionnaire de source Impossible de déposer du code non testé Impossible de déposer du code si les tests échouent 20
  • 21. Comment intégrer ces techniques dans la réalité ? Planifier les tests Un coût est associé à l’ajout de ces mesures Ajout de 15 à 20% d’effort à un projet au niveau des activités de développement Réduit au minimum les « dummy » tests À favoriser lors de projets misant sur la qualité de la solution Plus la découverte et la correction d'une erreur survient tard dans le cycle de développement, plus elle sera coûteuse à corriger. L'augmentation des coûts au niveau unitaire peut donc alors être perçu comme un investissement dans la qualité globale. Ne remplace pas les activités d’assurance-qualité Permettent de valider les cas principaux Ne permettent pas de valider les besoins 21