Your SlideShare is downloading. ×
SharePoint Summit 2012 - Les tests automatisés et SharePoint 2010, c'est possible!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

820
views

Published on

Présentation donnée lors du SharePoint Summit 2012 de Québec le 18 avril 2012.

Présentation donnée lors du SharePoint Summit 2012 de Québec le 18 avril 2012.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
820
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Les tests automatisés et SharePoint 2010, cest possible!Sébastien LevertDirecteur 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
  • 6. Les tests automatisés 6
  • 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
  • 8. Les tests unitaires 8
  • 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
  • 15. Les tests d’interface 15
  • 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
  • 19. L’intégration dans laréalité 19
  • 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 dune erreur survient tard dans le cycle de développement, plus elle sera coûteuse à corriger. Laugmentation 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
  • 22. Questions ? 22