vendredi 22 août 2008

ROSARIO: Module Testeur

Team Test est incontestablement le module qui présente le plus de nouvelles fonctionnalités et d'innovations, les équipes de Microsoft ont accompli un travail titanesque et ont entièrement remanié l’approche par l’apport à la version précedente comblant de nombreuses demandes et bien plus.

1 - CAMANO pour gérer et exécuter les cas de tests
La nouveauté la plus visible est l’implémentation du nouveau client CAMANO, un client riche au look & feel proche de Windows Media Player avec une couche de présentation écrite en WPF. Les équipes de tests n’auront plus besoin de s’adapter au client Visual Studio (avec notamment les check in / check out des cas de tests par exemple).Il est clair que ce nouveau client va grandement simplifier la mise en place des équipes de tests et contribuer à une augmentation de la productivité des équipes et de la qualité.

CAMANO fonctionne sous deux modes:


  • Planification, Analyse et Reporting sur l’activité de test

  • Exécution des tests et Création / Transmission des bugs reproductibles aux développeurs.
Ci dessous, le nouveau client WPF CAMANO pour Planifier, Organiser et Suivre l'activité de test, on constate la présence des menu : Home, Planning, Testing, Defects, Reports




Ci dessous, le nouveau client Microsoft Test runner permettant d'exécuter les tests, publier les résultats de tests et créer des bugs incluant captures d'écran, séquence video du test (optionnel), détails des étapes du test et transmission des logs d'erreur (Proteus). Ce client est appelé à partir de Camano.



Cette interface permet d'enregistrer la séquence d'actions du testeur, la séquence video du test, de stocker les captures d'écran effectuées par le testeur ainsi que des commnentaires. L'ensemble des ces informations seront encapsulées dans un Bug si le testeur décide d'ouvrir un incident de type bug à la suite du test. De plus, à chaque étape, le testeur indique le résultat : Success, Failed ou non conclusive. Ci dessous un aperçu du cas de test complété ainsi qu'une capture d'écran du bug crée avec les informations automatiquement attachées.



Si l'on regarde le formulaire du work Item crée par le testeur, dans l'onglet Détails, on constate que les actions du test ont été reportées ce qui va aider le développeur à reporduire le bug en reproduisant simplement les étapes mentionnées.


Dans l'onglet Attachments, on retrouve les pièces jointes correspondant à la capture d'écran prise par le testeur, la séquence video du test ainsi que le détail des actions du testeur.


L'onglet System Info contient les informations système de la machine de test



Le nouveau produit Camano Test Runner permet non seulement de jouer les test manuels avec une meilleure productivité pour les testeurs, avec la description des étapes de tests ainsi que les résultats attendus, mais également la collecte assistée et automatisée de l’ensemble des informations nécessaires à la reproduction d’un bug détecté dont :


  • Les étapes détaillées pour la reproduction du bug

  • La transmission des logs d'erreurs (Proteus).

  • Les captures d’écran prises par le testeur

  • La séquence vidéo du test (si option activée)

  • La publication des résultats de test pour l’équipe projet.

  • La transmission des bugs pour résolution aux développeurs.

L’ensemble de ces eléments d'information seront alors automatiquement encapsulés dans un work Item de type bug transmis au développeur pour correction.

2 Automation Strips : l'automatisation des tests manuels

Ce nouveau concept consiste en l’automatisation des tests manuels pour accélérer leur exécution et accèlerer les étapes répétitives en mode semi automatique. Cette fonctionnalité fait maintemant partie de la nouvelle version de Team Test. Cette fonctionnalité, intégrée au Test Runner, est basée sur un enregistreur d’étapes permettant de faciliter la création de tests automatisés.

Cette fonctionnalité se met en place en deux temps :
Première étape : Le testeur exécute les étapes du cas de test manuellement. Les étapes sont automatiquement enregistrées par l’outil. Des marqueurs sont ajoutés pour chaque étape et chaque étape est marquable comme success, failed ou non conclusive interactivement par le testeur.
Deuxième étape : Dès la deuxième exécution, le testeur peut se rendre automatiquement au marqueur de son choix, l’ensemble des étapes intermédiaires seront rejouées automatiquement. L’outil permet également de pré visualiser le scénario ou encore de le modifier. Ci dessous, une capture d'écran montrant le menu contextuel permettant de lancer une séquence limitée par deux marqueurs en mode automatique :


Les trois premières étapes seront jouées automatiquement, ici, il s'agit de la navigation sur le site Web permettant d'accèder à la page ou se trouve l'erreur.

3 Coded UI Tests : Full Automation

Cette nouvelle fonctionnalité consite à automatiser totalement les tests d'interfaces graphiques de manière à pouvoir les jouer lors de builds automatisés par exemple. Cette technologie de tests codés offre la possibilité d’automatisation pour le remplissage automatique de formulaires (y compris en mode Data Driven) , l'interaction directe avec les contrôles des formulaires et la vérification automatique des résultats attendus !, en mettant à disposition des outils et un framework de tests ciblant directement les clients Web (avec le support d'Ajax) ainsi que les clients riches.
Le point fort est également la Génération de tests codés à partir de tests automatisés par enregistrement (Automation Strips)

La première version de Rosario ne comprendra pas l'automatisation des tests pour les clients de type Winform, en revanche Microsoft s'est engagé à livrer cette fonctionnalité au plus vite. Une innovation qui va sans aucun doute quelque peu bousculer la conccurence!

3 TEAM LAB

Team Lab est indubitablement la fonctionnalité la plus inattendue de Rosario (non implémentée dans la CTP d'Avril), qui vient définitivemnet démontrer la volonté de Microsoft d'asseoir une politique forte dans le domaine de la qualité des développements effectués sur la palte forme Rosario. Encore faut il avoir les moyens de sa politique et donc pour pouvoir tester une application il faut impérativement disposer d'environnements dignes de ce nom. Avec Team Lab, Microsoft erradique véritablement cette pierre d'achoppement.

Au travers de Team Lab, Microsoft a voulu apporter une solution aux probblématiques récurrentes suivantes :



  • L’importance des temps passés à la mise en place et la configuration d’environnements de tests entrainant de la perte en productivité

  • Le manque d’accès à des environnements de tests adéquats se traduisant par des baisses en terme de qualité

  • Le syndrome de non reproductibilité des bugs pour les développeurs qui ralentit l’atteinte des seuils de qualités pour permettre la livraison des logiciels.

  • La multiplication des environnements entrainant des couts en terme de machines, et ressources diverses qui ne sont pas toujours rationalisées.

A l’ensemble de ces problématiques, Les équipes de Microsoft répondent par la mise à disposition d’un tout nouveau module qui sera inclus dans Camano : Team Lab.
L’objectif de Team Lab consiste en :

  1. L’amélioration de la productivité : en permettant le développement et le test de logiciels sur des environnements différents, rapides à configurer et à mettre en place ainsi que la capacité à automatiser la construction de ces environnements et les processus de tests

  2. L’amélioration de la qualité : Permettre aux testeurs de rejouer des bugs détectés en utilisant des Clichés d’environnements (Snapshots), et permettre de tester tot et souvent sur des environnements proche de la production.

  3. Réduire le TCO des environnements de test : Permettre une utilisation rationnelle d’espace disque, de matériels, d’électricité et de ressources humaines.

Team Lab s’appuie sur la technologie de Virtualisation pour déployer et purger des environnements de test. Team Lab est intégré au module Team Edition et permet une automatisation de bout en bout de l’activité de test.


Team Lab permet de gérer les environnemnets de tests à partir d'une "System Library"


Ci dessous, la page d'accueil de Team Lab permettant d'accèder entre autre à la librairies des machines de tests disponibles


Team Lab permet de créer de nouveaux Environnements de tests....


Puis de déployer ces environnements crées sur des serveurs faisant partie d'un pool de ressources déclarrés, on notera la possibilité de récréer un environnment de tests en quelques minutes!



On peut également directement à partir de Team Lab se connecter à des machines de tests déployées.(Utilisation d'un Virtual NAT pour assurer l'accès sur ces machines). L'accès à ces environnements est soumis à des Access Policies.


Le testeur a la possibilité de "ficher un bug" opération qui consiste à créer un Snapshot de la machine virtuelle sur laquelle il a découvert un bug et transmettre le lien du Snapshot à un développeur chargé de la résolution du bug.

Le développeur bénéficie alors du même environnement de test, auquel il accède par un simple clic sur le lien encapsulé dans le Work Item de type bug qui lui a été transmis.

Le provisionnement d'environnements de tests peut également être déclenché par la complétion d'un build automatisé (cf nouvelle architecture de Team Build avec l'intégration de Windows Workflow Foundation) de même que la réinitialisation d'un environnement de tests.

CONCLUSION


Les Principaux objectifs de Team Test sont donc :


  • Aligner l’assurance qualité dans l’organisation du cycle de vie projet

  • Gérer la qualité au plus tôt dans le cycle de vie projet

  • Augmenter la productivité des équipes de Test

  • Eliminer le syndrome de non reproductibilité des bugs

  • Mise à disposition d’outils modernes, et simples à utiliser

  • Capacité de priorisation des tests ( Connaitre les tests impactés par des modifications de code)

  • Capacité de calcul de Taux de couverture des tests (par rapport au WBS Projet)

Aucun commentaire: