mercredi 8 avril 2015

Plannification Agile et Plan de Tests avec Visual Studio 2013 Web Access

Dans cet article, nous allons aborder la planification Agile et l'écriture des tests avec Visual Studio 2013 Web Access. Nous verrons comment mettre en place dans le Product Backlog un PBI actionable pour les développeurs avec un titre concis et auto descriptif, une description , des critères d'acceptance et un sketch créé avec le module Storyboarding de Powerpoint.
Puis nous verrons toujours à partir de Web Access, le module de test qui va permettre de créer un plan de test, puis les cas de test rattachés à un PBI en mode productivité, en utilisant la capacité de copier coller d'un contenu structuré d'Excel vers l'interface Web de Test Manager.
Ci dessous une vidéo démontrant le scénario :

Test Driven Development avec Visual Studio 2013

Dans cet article, nous allons nous intéresser à une pratique de développement Agile nommée TDD pour Test Driven Développement.
Le principe de TDD consiste à écrire les tests unitaires avant l'implémentation du code à tester.
Le cycle préconisé comporte cinq étapes
  1. Ecrire le test unitaire
  2. Vérifier que le test échoue (car le code qu'il teste n'existe pas)
  3. Ecrire juste le code qu'il faut pour que le test passe
  4. Vérifier que le test passe
  5. Refactoriser le code pour l'améliorer tout en conservant la fonctionnalité
Les avantages de cette technique sont multiples :
  • C'est avant tout une activité de Design permettant de préciser les spécifications du code, permettant d'obtenir un code plus juste et plus fiable
  • On garantit que le Codebase de l'application développée est testable unitairement, ce qui est très intéressant du point de vue qualité.
  • On induit un mécanisme de non régression automatisable via les builds automatisées par exemple
  • On sécurise les opérations de changement (évolutions ou refactoring) du fait d'un plus grande confiance dans le code
Visual Studio 2013 permet grâce à un outillage complet autour des tests unitaires, mais également des outils de refactoring et de productivité pour le développeur tel que Peek Definition, de mettre en oeuvre un pratique soutenue et professionnelle orientée TDD

Ci dessous un démonstration vidéo d'un approche TDD avec Visual Studio 2013. on en profitera pour montrer Peek Definition (Alt F12) un nouveau moyen d'édition en mode imbriqué d'une référence, qui consitue une évolution de la fonction "Go to reference" connue sous F12. Cette nouvelle implémentation est très pratique lorsque l'on fait du TDD.

Code Review avec Visual Studio 2013

Dans cet article, nous allons aborder une pratique bien connue dans le monde Agile : La Code Review, qui a pour objectifs principaux :
  • Améliorer la qualité du code
  • Favoriser la collaboration de travail en équipe
  • Favoriser l'application de standards entreprise
  • Détecter et corriger des défauts au plus tot et donc réduire le rework et les couts associés
  • Contribuer à former les développeurs
La suite d'outils Visual Studio est devenue au cours du temps "Agile Centric" et fournit en standard un outil de Code Review particulièrement performant qui est présenté dans la vidéo ci dessous. Lors de la démonstration, on en profitera pour regarder Codemap, un outil permettant de visualiser les dépendances et relations du code suivant un principe cher à Microsoft : Appréhender la complexité par le visuel.

Automatisation des Tests avec Visual Studio Test Manager et UI Coded Tests

Dans cette démonstration, nous allons démontrer un scénario d'automatisation des tests au travers de deux outils de la gamme Visual Studio 2013 :
Microsoft Test Manager pour l'écriture de vos plans de tests et cas de tests reliés à vos User stories ou Exigences, ainsi que Test Runner pour l'exécution des tests et la possibilité de les rejouer automatiquement grâce à la fonction d'Action recording et Replay.
Puis nous utiliserons en tant que développeur, la technologie UI Coded Tests pour d'une part importer les automatisations crées avec Test Manager afin d'y ajouter des assertions pour les automatiser complètement et les intégrer soit à un scénario BDT (Build Deploy Test) ou encore d'intégration contenue. l'avantage ici est la complète automatisation du test tant au niveau du Run de la GUI que de la vérification du résultat obtenu en terme de valeurs dans des contrôles d'IHM cibles.
Ci dessous la vidéo de démonstration.