SlideShare une entreprise Scribd logo
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

PPTX
[PFE] Master en ingénierie du logiciel
PDF
Avis d'expert : Les Tests Logiciels
PDF
Cas Client Bouygues Telecom - CloudNetCare
PPT
Tests Logiciel
PDF
Allons plus loin avec Selenium
PPTX
presentation Zest au JFTL 2014
PPT
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
ODP
Formation Extreme Programming, Tests unitaires, travail collaboratif
[PFE] Master en ingénierie du logiciel
Avis d'expert : Les Tests Logiciels
Cas Client Bouygues Telecom - CloudNetCare
Tests Logiciel
Allons plus loin avec Selenium
presentation Zest au JFTL 2014
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Formation Extreme Programming, Tests unitaires, travail collaboratif

Tendances (20)

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

En vedette (20)

PPTX
Atelier école : recherche d'information, ressources et outils collaboratifs
DOCX
DOCX
El internet
 
PDF
Actividad final semana VIII Programa Administración Informatica
PPTX
Association des musées cantonaux - Base de donnée en ligne
PDF
Présentation CMAIS : Services et activités
PDF
Tecnologia y competitividad
PPSX
Leo comento y_escribo_lo_que_debes_hacer
PPTX
Bitmap & vectorial
PPS
Test quiz masculin ou feminin
ODT
Flash mob expose
PPT
Ing biomedicahistoria
PDF
Chiffres-clés de la sinistralité au travail selon le sexe
PPTX
Les Produits du Quotidien Connectés
PPTX
Postobon (parte 2)
PPSX
Mon Nano Récifal
PPT
Dulce veleidad
ODP
Platges de Menorca
PPT
La música mayra rios
Atelier école : recherche d'information, ressources et outils collaboratifs
El internet
 
Actividad final semana VIII Programa Administración Informatica
Association des musées cantonaux - Base de donnée en ligne
Présentation CMAIS : Services et activités
Tecnologia y competitividad
Leo comento y_escribo_lo_que_debes_hacer
Bitmap & vectorial
Test quiz masculin ou feminin
Flash mob expose
Ing biomedicahistoria
Chiffres-clés de la sinistralité au travail selon le sexe
Les Produits du Quotidien Connectés
Postobon (parte 2)
Mon Nano Récifal
Dulce veleidad
Platges de Menorca
La música mayra rios
Publicité

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

PPTX
Les tests fonctionnels avec Visual Studio 2010
PDF
Deux ans de développement Agile, erreurs et succès
PPTX
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
PDF
L'amélioration des tests unitaires par le refactoring
PDF
L'amélioration des tests unitaires par le refactoring
PPTX
7 astuces pour améliorer vos tests unitaires
PPS
Formation tests decembre2010
PPT
Types de tests vs techniques de tests
PPTX
E14 - Méthodes de tests et d_évaluation des applications Web Principes, tech...
PDF
Anatomie du test
PDF
TDD où l’art de développer à l’endroit
PPTX
Outpost24 webinar - Quel est le coût réel d'un test d'intrusion face aux nouv...
PDF
Sortons de la pyramide pour construire une strategie de test
PDF
Octo RefCard test front-end
PDF
Octo Technology - Refcard Tests Web front-end
PPTX
Le pilotage par les tests
PDF
Test logiciel
PPTX
Visual Studio 2010
ODP
Présentation Agile Testing
PDF
Test unitaire
Les tests fonctionnels avec Visual Studio 2010
Deux ans de développement Agile, erreurs et succès
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
L'amélioration des tests unitaires par le refactoring
L'amélioration des tests unitaires par le refactoring
7 astuces pour améliorer vos tests unitaires
Formation tests decembre2010
Types de tests vs techniques de tests
E14 - Méthodes de tests et d_évaluation des applications Web Principes, tech...
Anatomie du test
TDD où l’art de développer à l’endroit
Outpost24 webinar - Quel est le coût réel d'un test d'intrusion face aux nouv...
Sortons de la pyramide pour construire une strategie de test
Octo RefCard test front-end
Octo Technology - Refcard Tests Web front-end
Le pilotage par les tests
Test logiciel
Visual Studio 2010
Présentation Agile Testing
Test unitaire

Plus de Sébastien Levert (20)

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

Dernier (7)

PDF
FORMATION EN Programmation En Langage C.pdf
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PDF
Modems expliqués- votre passerelle vers Internet.pdf
FORMATION EN Programmation En Langage C.pdf
Presentation_Securite_Reseaux_Bac+2.pptx
Tendances tech 2025 - SFEIR & WENVISION.pdf
presentation_with_intro_compressee IEEE EPS France
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Modems expliqués- votre passerelle vers Internet.pdf

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