Académique Documents
Professionnel Documents
Culture Documents
Auteurs :
Stphane Goudeau (Microsoft France - MTC Paris) Florent Santin (Access it) Etienne Margraff (Access it)
Sommaire
Avertissement ..........................................................................................................................4 Introduction ..............................................................................................................................5 1. Lomniprsence du logicielet de ses dysfonctionnements ..............................5 2. Le cot des dysfonctionnements logiciels ...............................................................5 3. Gouvernance pour la qualit logicielle .....................................................................6 4. Le test logiciel .....................................................................................................................7 5. Les impratifs du test logiciel .......................................................................................7 6. Le rle de chaque membre de lquipe de production logicielle ..................7 A. Qui doit tester ? .............................................................................................................8 B. Quoi tester ? ....................................................................................................................8 C. Quand tester ? ................................................................................................................8 Loffre Visual Studio ..............................................................................................................9 1. Les dfis du dveloppement logiciel..........................................................................9 2. Une rponse ces dfis : lALM ................................................................................. 10 3. Loffre ALM btie autour de Microsoft Visual Studio 2010 ............................. 11 4. Les trois ditions Visual Studio 2010 ....................................................................... 12 5. Team Foundation Server 2010................................................................................... 12 6. Visual Studio Test Elements 2010 ............................................................................. 13 7. Visual Studio Team Lab Management 2010 ......................................................... 13 8. Le portail dquipe ......................................................................................................... 14 9. Larchitecture de Team Foundation Server............................................................ 16 Lenvironnement Visual Studio pour les tests....................................................... 17 1. Outillage ............................................................................................................................ 17 2. Automatisation des tests ............................................................................................. 21 3. Notion de tests impacts ............................................................................................. 21 Les diffrents tests Visual Studio ................................................................................ 23 1. Les diffrents types de tests........................................................................................ 23 2. Les tests unitaires ............................................................................................................ 24 A. Introduction ................................................................................................................. 24 B. MSTest ............................................................................................................................ 34
C. La couverture de code.............................................................................................. 26 D. Les tests unitaires dinterface utilisateur............................................................ 26 3. Les tests de base de donnes..................................................................................... 27 4. Les tests gnriques....................................................................................................... 29 5. Les tests dinterface utilisateur .................................................................................. 30 A. Introduction ................................................................................................................. 30 B. Tests automatiss dinterface utilisateur ............................................................ 31 6. Les tests dinterface Web ............................................................................................. 35 7. Profiling .............................................................................................................................. 38 8. Les tests de charge ......................................................................................................... 38 A. Objectifs......................................................................................................................... 38 B. Cible ................................................................................................................................ 39 C. Dmarche ...................................................................................................................... 40 D. Prparation du Test ................................................................................................... 40 E. Infrastructure de Test ................................................................................................. 42 9. Les tests manuels ............................................................................................................ 44 Stratgies de tests avec Visual Studio 2010........................................................... 46 1. Introduction ...................................................................................................................... 46 2. Planification des tests.................................................................................................... 47 3. Communication, changes et traabilit des tests ............................................ 50 A. Excution ....................................................................................................................... 50 B. Analyse de rsultats ................................................................................................... 53 C. Communication avec lquipe de dveloppement ....................................... 54 4. Reporting sur les tests .................................................................................................. 56 5. Gestion denvironnements virtuels de dploiement et de test ..................... 58 Synthse ................................................................................................................................... 63 Annexe : Etendre le Framework de test........................................................................ 64 Annexe : Tests automatiss dinterface utilisateur : Technologies supportes ..................................................................................................... 66 Annexe : Tests automatiss dinterface utilisateur : Systmes supports ............................................................................................................... 67 Annexe : Rfrences techniques...................................................................................... 69
Avertissement
Ce document sadresse aux testeurs, aux architectes, aux concepteurs et dveloppeurs, ainsi quaux chefs de projet qui veulent pouvoir contrler les composants logiciels quils produisent dune manire plus systmatique et mieux outille que celle gnralement pratique dans lindustrie aujourdhui. Ce document est fourni uniquement titre indicatif. MICROSOFT NAPPORTE AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, CE DOCUMENT. Les informations figurant dans ce document, notamment les URL et les rfrences aux sites Internet, peuvent tre modifies sans pravis. Les risques dutiliser ce document ou ses rsultats sont entirement la charge de lutilisateur. Sauf indication contraire, les socits, les entreprises, les produits, les noms de domaine, les adresses lectroniques, les logos, les personnes, les lieux et les vnements utiliss dans ce document sont fictifs. Toute ressemblance avec des entreprises, noms dentreprise, produits, noms de domaine, adresses lectroniques, logos, personnes ou vnements rels serait purement fortuite et involontaire.
Stphane GOUDEAU est Architecte au Microsoft Technology Center Il conseille les clients et partenaires de Microsoft dans leurs choix darchitecture lis lvolution de leur systme dinformation. Il possde une connaissance gnrale ainsi quune longue exprience terrain de lensemble des produits et solutions de la plateforme Microsoft, acquise lors de ses activits au sein du consulting Microsoft. Florent SANTIN et Etienne MARGRAFF sont tous les deux consultants formateurs dans la socit de services Access it, spcialise dans les technologies Microsoft. Ils sont reconnus Microsoft MVP (Most Valuable Professionnal) sur Visual Studio.
Pour les contacter :
fsantin@access-it.fr emargraff@access-it.fr
Introduction
1. Lomniprsence du logicielet de ses dysfonctionnements
Limportance du logiciel, quil sexcute sur le poste de travail de lutilisateur, sur son smartphone , sur sa console de salon, dans sa voiture, sur les serveurs de lentreprise, ou dans le Cloud , ne cesse de stendre. La garantie de son bon fonctionnement est donc une ncessit absolue pour tout un chacun. Pourtant, force est de constater quau sein des units de production logicielle, la mise en place systmatique de processus permettant de rduire le risque de dysfonctionnement est loin dtre une pratique gnralise.
Un
bogue trouv en phase de dveloppement au moment de son apparition va pouvoir tre corrig par le dveloppeur en quelques minutes. quelques heures : il va devoir tre identifi, remont au dveloppeur charg de le corriger qui doit le reproduire, puis livrer une nouvelle version corrige de lapplication en test. cheminement quen environnement de test, sauf que la livraison de celui-ci sous forme de patch ou de nouvelle version est souvent trs contraignante et onreuse (avec parfois laccroissement du cot de correction par un facteur de 1 100). De plus, il arrive frquemment que les dveloppeurs de lapplication ne soient pas les mme personnes que ceux assurant la maintenance (et un bogue peut apparaitre trs tard, voire trop tard), ce qui demande un temps de reproduction et didentification du problme beaucoup plus long.
Limpact de lintroduction prcoce derreurs avant mme lintervention du dveloppeur est encore plus dsastreuse. Ainsi, il est prfrable de dcouvrir une erreur dans la dfinition dune exigence fonctionnelle pendant la phase de spcification, car ce type derreur affecte beaucoup plus de lignes de code que les erreurs apparaissant dans les phases de conception ou de codage. Les dcouvrir une fois le logiciel dploy en production entrane de graves consquences : nouveaux dveloppements et remise en cause lexistant.
Mais quest-ce que le test logiciel ? Le test logiciel Certaines organisations assimilent test logiciel avec la simple capacit offerte au dveloppeur de dboguer le composant logiciel dont il est lauteur ou la mise en place dun systme dassurance qualit reposant sur des tests fonctionnels ou de performances. Ces lments sont importants mais ne suffisent pas garantir la qualit dun systme logiciel. Tester un logiciel va dabord consister lancer les composants logiciels cibls dans un contexte dexcution permettant de mesurer les rsultats obtenus afin de dterminer si les objectifs de ces composants sont atteints. Mais dtecter les erreurs du logiciel et les exposer pour correction nest pas suffisant car les erreurs ne se limitent pas aux erreurs de codage de logiciels ; elles peuvent se produire diffrentes tapes du cycle logiciel (y compris dans les tapes prliminaires de spcification fonctionnelle et de conception). Cest pourquoi, au-del de lexamen des rsultats de lexcution du composant cibl, le test logiciel englobe tout le processus associ, ce qui inclut la dfinition de la nature et la porte de ces tests en correspondance avec les exigences fonctionnelles (parfois avant mme le dveloppement des composants logiciels concerns ( Test Driven Developpement ou Test First Programming ), ainsi que lattribution de rle de responsable des tests au sein de lorganisation de lquipe de production logicielle
briques dveloppes par chaque dveloppeur ou sous-quipe en vitant la rgression de fonctionnalits dj implmentes et valides (par des tests).
En
phase de production, limiter lapparition des bogues en validant au pralable via les tests tous les scnarii utilisateurs possibles, ceux considrs comme bons mais aussi les mauvais (tests aux limites, tests sur des jeux de donns complets).
B. Quoi tester ?
De la mme faon que chacun des intervenants du projet doit participer aux tests, le maximum des lments dune application doit tre test.Plus les tests sont prsents, plus les fonctionnalits de lapplication seront couvertes. Cependant, tester deux fois la mme fonctionnalit dune application au travers de deux points dentres diffrents peut tre considr comme une perte de temps. Par exemple, il est inutile de tester une couche daccs aux donnes auto gnre. Il est bien plus opportun de se consacrer la validation de la couche mtier lexploitant. Au contraire, il sera plus utile de tester une base de donnes plutt que la couche daccs lexploitant si cette premire possde beaucoup de procdures stockes reprsentant une logique mtier. Linterface graphique dune application console naura aucun sens tre teste, par contre linterface dune application riche ayant beaucoup dinteractions avec lutilisation de validateurs de saisies devra tre couverte au maximum.
C. Quand tester ?
Lexcution des tests doit tre omniprsente au sein du cycle de dveloppement dune application. Certains types de tests rapides, comme les tests unitaires ou de base de donnes doivent tre excuts le plus frquemment possible : aprs chaque compilation dans lenvironnement de dveloppement, avant chaque archivage des modifications dans le contrle de code source, aprs chaque gnration de livrable par le service de build. Les tests dinterface (Web ou Windows), un peu plus lent lexcution, doivent au minimum tre excuts une fois par jour par le service de build afin de garantir constamment une non rgression de fonctionnalits et offrir un niveau de ractiv lev en cas de bogue. Enfin, les tests de charges peuvent tre classs dans la catgorie des tests nexcuter que ponctuellement, la demande, sur des priodes donnes.
La gestion des exigences mtier fluctuant tout au long du projet. Les lacunes de communication entre les utilisateurs finaux et lquipe de
dveloppement.
La
difficult de tester la qualit et la fiabilit des applications de faon adquate. suivi du projet afin de pouvoir prendre les bonnes dcisions au bon moment et assurer la prdictibilit de la livraison du projet.
Le
Il ne faut pas perdre de vue que le cycle de vie des applications couvre toute la priode durant laquelle une organisation engage des moyens (budget, ressources) sur son patrimoine applicatif de lide de dpart jusqu la fin de vie de la solution.
10
La gouvernance : la prise de dcision et la gestion de projets. Le dveloppement : les processus qui permettent de crer (et mettre jour)
les applications. les applications.
11
Loffre ALM Visual Studio propose une gamme de multiples catgories de produits dont le rle est de rendre des services pour organiser les quipes de dveloppement et centraliser toutes les donnes lies un projet. Celles-ci sont accessibles par chacun au travers de loutil le plus adapt tel que Visual Studio pour les dveloppeurs, MS Project pour le chef de projet, Microsoft Test and Lab Manager pour les testeurs, une interface Web pour les fonctionnels Visual Studio couvre tout le cycle de dveloppement des applications (modlisation graphique des applications, des bases de donnes et des processus, configuration de code source, industrialisation, tests et suivi de projet). Visual Studio permet damliorer la collaboration et la communication au sein de lquipe projet avec la gestion de lensemble des donnes des projets dans un module de gestion de configuration fiable, et de piloter les projets beaucoup plus efficacement grces aux nombreux rapports et lintgration avec MS Excel et MS Project. La version 2010 de Visual Studio offre de nombreuses nouvelles fonctions :
Diagrammes de squences pour application SOA, Construction dapplications WCF, Cration et visualisation des interactions entre classes
12
Planification de campagnes de tests, Excution des cas de test manuels Hirarchie de Work Items dans Excel, Cration de rpertoire pour grer ses
13
Edition, mais aussi depuis des applications comme Excel ou Project ou des applications Web. Il est galement possible de se connecter Team Foundation partir de Team Explorer, un client riche prvu cet effet. Ce rfrentiel offre la centralisation des lments suivants :
Code source (gestion de source, dveloppement parallle). Elments de travail (bogues, tche, demandes dvolution
de fiches). blogs).
ou tout type
Donnes organisationnelles (documents, calendrier partag, annonces, wiki, Build (gnration et gestion des livrables). Rapport (tat de sant du projet, rapports de qualit, tat davancement).
6. Visual Studio Test Elements 2010
Cet environnement intgre Microsoft Test and Lab Manager qui permet de dfinir une stratgie de tests structure selon un plan de test associ au projet Team System. Elle offre galement les agents Lab Management, permettant Team Foundation Server de piloter une machine virtuelle pour y raliser des tests manuels ou automatiss.
14
8. Le portail dquipe
Un portail (figure suivante), fond sur Windows Sharepoint, complte lintgration des diffrents outils collaboratifs (Visual, Studio, Excel, Project,) en offrant laffichage des rapports davancement gnrs partir des workitems publis.
Ce portail peut tre personnalis et reflte le choix de la mthodologie de dveloppement associe au projet.
15
Le portail permet galement dafficher les multiples types de rapports : suivi des bugs, vlocit du projet
16
17
Le dveloppeur au travers de tests techniques (test unitaire, test gnrique). Le dveloppeur snior ou larchitecte grce des tests de validation de
qualit et danticipation des problmes (test de charge, test WCF, test cod, test dinterface). pour tester des cas SQL (test de base de donnes). cas de test (Test Web, manuel).
Le spcialiste de bases de donnes en utilisant des tests crits en langage SQL Le fonctionnel ou le testeur pour valider des scnarios de navigation et des
Pour dmocratiser leur utilisation, les tests unitaires sont depuis 2008 mis disposition des dveloppeurs dans la version Professionnel de Visual Studio, sans cot supplmentaire. La cration et la gestion des tests seffectuent directement depuis lenvironnement de dveloppement. Les tests sont physiquement organiss par projets de tests, projets .Net pouvant faire partie dune solution .Net classique. La cration dun projet de test peut donc tre ralise par nimporte quel membre de lquipe technique, au travers de lassistant de cration de projet de Visual Studio.
18
Une fois cr, le projet de test ressemble tout autre projet de dveloppement .Net : il possde des rfrences vers le Framework de test de Microsoft et peut contenir des types de fichiers spcifiques reprsentant des tests.
19
Les tests peuvent tre organiss logiquement par groupe pour tre excuts ensemble. Toute cette gestion seffectue au travers de la fentre Test List Editor . Celle-ci offre la possibilit de :
plusieurs nuds dune arborescence. Tous les types de tests peuvent tre pris en compte dans cette interface.
Crer une arborescence dorganisation des tests. Classer et regrouper les tests plusieurs niveaux de larborescence. Demander lexcution de lintgralit des tests disponibles dans
un ou
Lditeur de listes de tests offre la possibilit de dmarrer lexcution dun ensemble de test. Pour tre plus rapide et productif dans lexcution de ceux-ci, Visual Studio dispose dune autre fentre intitule Test View . Celle-ci liste lensemble des tests prsents pour le projet et propose de les excuter un un ou par groupe.
20
Enfin, il est galement possible dexcuter un test ou un ensemble de tests directement depuis son code grce au menu contextuel de Visual Studio ou des raccourcis claviers. Ceci a pour but dacclrer les phases criture de test > excution. Ces facilits sont trs importantes lors de la mise en place de pratiques ou les tests unitaires sont cruciaux, tels que le Test Driven Development .
Quelques soit le type de test ou le contexte dans lequel il est excut, lors de la demande manuelle dexcution de test, le rsultat apparait toujours dans la fentre Test Results . Le rsultat dun test est souvent binaire : russi ou chou, reprsent par la couleur verte ou rouge. Les tests unitaires possdent galement un tat jaune inconclusive intermdiaire. Ce rsultat apparait lors de la gnration automatique de squelette de test unitaire, si les rsultats attendus de ceux-ci nont pas t renseigns. En plus dun tat de russite ou dchec, la fentre de rsultat propose en rsultat un rapport complet.
Visual Studio 2010 propose les outils de test permettant dtre plus productif tout au long du cycle de vie du dveloppement et de suivre plus facilement la progression. Ces outils de test sont intgrs avec Team Foundation Server, ce qui permet de dfinir des tests bass directement sur les projets Team System.
21
automatiss, par exemple). Gnralement, ce processus, qui exploite le service de Build de Team Foundation Server, est dclench le plus frquemment possible : chaque mise jour du rfrentiel de code source. Il peut cependant tre effectu rgulirement sans pour autant le faire chaque archivage, comme par exemple Tous les soirs 2h00 .
Compilation de la dernire version disponible de lapplication. Excution des tests unitaires. Dploiement de lapplication sur un environnement de test. Excution de tests supplmentaires (dinterfaces graphiques
22
Cette fonctionnalit nomme : Tests impacts peut tre exploite localement dans Visual Studio, mais galement dans le processus de Build ou encore lors de lexcution dun test manuel via loutil Microsoft Test and Lab Manager. Le plus frquemment, celle-ci sera exploite pour les tests unitaires.
23
en .Net, avec
Tests unitaires de base de donnes : quivalent du test unitaire .Net mais en Tests
ordonns : permet dexcuter un ensemble de tests dans un ordre squentiel, le test russit si lensemble des sous-tests russissent. tests en simulant de la charge pour vrifier les performances de votre application sous diffrents niveaux de stress.
Tests Web : capture et rejoue un scnario de navigation Web. Tests de charge : permet de rejouer en boucle un ou plusieurs
Tests gnriques : test pouvant excuter nimporte quelle application externe. Tests dinterface utilisateur. Tests personnaliss : il est possible de crer vos propres types de tests pour
simplifier certaines tches rptitives (par exemple, la gnration dun proxy lorsque lon teste des services WCF).
24
Plusieurs types de tests additionnels sont galement disponibles en tlchargement sur CodePlex.
B. MSTest
MSTest est le Framework de tests unitaires propos par Microsoft depuis 2005. Les tests unitaires sont prsents dans Visual Studio Team System Development Edition et Test Edition depuis la version 2005. En version 2008 et 2010, ils sont prsents dans la gamme professionnelle, leur utilisation devenant une commodit. Lintrt du Framework de test Microsoft est sa trs forte intgration dans Visual Studio et dans Team Foundation Server (excution automatique, stockage et comparaison des rsultats sur une chelle de temps). Syntaxiquement, son utilisation est trs proche des autres Framework de tests unitaires rpandus sur le march tels que NUnit et MbUnit : utilisation dattributs sur les classes et les mthodes de tests dassertions pour les validations. Un test unitaire est compos de code .Net qui est charg dutiliser et de valider ( Assert ) du code .Net. A ce titre, il peut tre utilis pour tester tout et nimporte quoi (un accs une base SQL, OLAP, des services Web) car il est ouvert aux capacits du Framework .Net qui sont extrmement tendues. Les tests unitaires peuvent donc tre utiliss pour effectuer des tests de charge dlments serveur en vitant lintermdiaire dune IHM (ex : stresser une base de donnes Oracle).
25
Un test unitaire peut tre li un jeu de donnes externe (base de donnes, fichier CSV, XML) pour tre jou chaque fois avec un ensemble de donnes en entres conscutives ou alatoires. Assez critiqu dans sa premire version pour ses problmes de performance dexcution, MSTest rivalise aujourdhui sans aucun problme avec les Frameworks existants et loutillage Open Source et dispose de plusieurs avantages pour les dveloppements .Net :
Une Un
intgration parfaite dans Visual Studio pour lexcution des tests, la consultation des rsultats, ou lintgration des tests aux builds automatiques. gnrateur de squelette de test (instanciation de lobjet crer, isolation des paramtres, assertion) partir de nimporte quelle mthode pour rduire le temps dcrire des tests unitaires.
26
C. La couverture de code
Les tests unitaires sont souvent lis la vrification de la couverture de code, qui permet de sassurer que les critres de tests permettent de garantir lexcution dune partie significative des lments de code tester. A quoi bon obtenir 100 % de succs sur les tests si ceux-ci ne couvrent que 20% du code utilisable ? Comme pour les tests unitaires, Microsoft dispose de son propre outillage de couverture. L galement, lintgration dans lenvironnement joue un rle trs important pour faciliter ladoption et simplifier lutilisation. Il est ainsi possible dexplorer le code source dans lequel les zones non couvertes par les tests unitaires sont surlignes en rouge.
27
binding afin de transformer les donnes en lments visuels avec les Data Templates . Le View Model quant lui ne fait aucune supposition sur la faon dont va soprer le binding. Lorsque ce pattern est mis en uvre avec WPF, la View ne contient quasiment pas de code behind part les animations et la gestion de layout . Le code rside dans le ViewModel qui est facile tester unitairement, do lintrt de cette approche dans le cadre de test unitaire dinterface utilisateur.
Source : http://www.nikhilk.net/Silverlight-ViewModel-Pattern.aspx
28
Les validateurs sont positionns par configuration de manire graphique dans linterface de test. Lors de lajout dun test unitaire de base de donnes un assistant nous permet de configurer un certain nombre dinformations :
29
1. Permet de choisir une source de donnes contenant les lments de validation des tests. 2. Permet dexploiter un projet Visual Studio 2010 de type Base de donnes . Ce type de projet offre la possibilit de dfinir des scripts de cration dune base de donnes. Celle-ci sera alors dploye automatiquement pour lexcution des tests. 3. Permet dexploiter un fichier de gnration automatis de donnes de tests. Ce type de fichier peut tre cr partir dun projet de type Base de donnes .
Utilisation dun Framework de test tiers (NUnit, MBUnit, JUnit) et intgration Initialisation
de lapplication teste afin de la rendre disponible pour la campagne de tests (voir cas des tests ordonns). de linitialisation de la plateforme de test ou de son nettoyage.
des rsultats dans lenvironnement de dveloppement / rapports de builds aux cts des autres tests.
30
Aux lments de linterface. Aux informations des lments de lIHM. Dinteragir avec ces lments. De recevoir des notifications lies aux changements de linterface. Et donc de coder des tests automatiss dinterface graphique.
LUI Automation distingue :
Les
fournisseurs (UI Automation Providers) : les applications existantes ou en dveloppement et qui pourraient-tre utilises par des utilisateurs ncessitant une aide, en terme daccessibilit. propose un fournisseur pour amliorer laccessibilit.
Les clients (UI Automation Clients) : les applications qui utilisent ce que
31
Dans le premier cas, lenregistreur sintresse aux vnements Windows ainsi quaux proprits des objets, permettant de tester toute application que Windows est capable dafficher ! (nul besoin de possder son code source).
Dans le deuxime cas, lenregistreur sintresse au DOM interprt par le navigateur et est sensible aux vnements Javascript et autres applications de feuilles de style CSS. Il est donc bien ici question de test dinterface et de comportement graphique et non de tests de composants techniques. Lorsque lon demande la cration dun test dinterface graphique, il nous est
32
demand si lon souhaite crer le test en partant de zro et en utilisant lenregistreur ou si lon souhaite utiliser un enregistrement existant. Il est en effet possible de demander lenregistrement des actions ralises par un testeur fonctionnel lors de lexcution dun test manuel. Cet enregistrement est alors associ au cas de test (work item) qui pourra tre utilis pour reproduire ces actions dans un test cod dinterface graphique. Quelques soit le mode de cration que lon utilise, le principe reste le mme : des actions ayant un point commun sont regroupes dans des mthodes dont lexcution peut tre enchane de faon reproduire ces actions.
33
Les coordonnes que lon aperoit ici ne sont pas les coordonnes absolues du contrle dans lcran mais lendroit o a eu lieu le click en relatif dans le contrle. Les contrles sont bien videmment rcuprs via une arborescence de contrles et suivant des recherches sur des proprits (si deux Button se retrouvent au mme niveau dans larborescence, on les reconnait grce leur proprit, Name ). Sur le mme principe que pour les tests unitaires, il est possible dajouter des assertions concernant cette fois ci des proprits dun lment de lapplication. Pour cela, on slectionne un lment graphique de linterface et lui ajoute un test de validation :
34
Il est alors trs simple de choisir le type dassertion, puis de demander la gnration du code de validation correspondant :
Un certain nombre de fichiers sont gnrs ou mis jour lors de la cration dun test automatis :
VotreTest.cs
: Contient une classe dcore par lattribut [CodedUITest] ainsi que des mthodes dcores par lattribut [TestMethod] contenant les enchanements dappels aux mthodes que vous avez gnres.
Tout comme les tests unitaires, lexcution dun test dinterface graphique peut se faire directement via le code partir du menu contextuel (puis Run Test), ou partir de la fentre Test View . De plus, lutilisation des sources de donnes est galement possible. On pourra donc utiliser en entre de tests dinterface
35
graphique des donnes provenant dune base de donnes SQL Server, dun fichier CSV ou XML, voir mme dun nouveau type de source de donnes disponible pour ce type de test : les Test Cases DataSources . Grce cela, un test peut rcuprer des paramtres dcrits dans un cas de test manuel dfini par un testeur fonctionnel dans Microsoft Test and Lab Manager. Lavantage est de navoir besoin de dfinir les valeurs pour ces paramtres qu un seul endroit que ce soit pour une excution manuelle ou automatise. Une fois quun test dinterface graphique est automatis il est possible de lutiliser pour enrichir un cas de test manuel existant. De cette faon, le testeur gnraliste aura le choix dexcuter ledit test manuellement ou de faon automatique. Pour cela, il suffit dassocier le test automatis au work item correspondant au cas de test :
NB : Du fait que ce test automatis nest pas connu de loutil Test and Lab Manager utilis pour dmarrer lexcution dun cas de test fonctionnel, il est ncessaire dassocier le plan de test (voir Stratgie de tests avec Visual Studio 2010) une dfinition de build contenant les binaires du test.
36
Le test Web permet dautomatiser un scnario de navigation Web. Il se compose dun ensemble de requtes HTTP (POST / GET) pouvant tre rejou en boucle. Pour capturer un test Web, le plus simple est dutiliser un enregistreur (proxy) HTTP qui stocke les changes client/serveur et les transcrit dans un fichier. Deux outils sont trs bien adapts pour ceci, le Web test Recorder, propos par Visual Studio et qui sintgre Internet Explorer ou Fiddler2, outil gratuit propos par Microsoft qui enregistre lensemble des trames HTTP quelque soit le navigateur Web utilis et est capable de gnrer un fichier .webtest : un format lu par Visual Studio 2010. A noter que Fiddler est trs intressant lors dun test Web sur une application client/serveur base sur des services web, car il est galement capable denregistrer les changes SOAP et de les reproduire.
37
Un test web peut contenir des rgles dextraction (capture de variables dans une requte pour les rinjecter dans une autre), de validation (code derreur http, texte prsent dans la page, temps de rponse) et peut tre li une source de donnes externe (par exemple : test dun formulaire dauthentification avec plusieurs identifiants). Un test Web est dcrit dans un fichier XML mais peut, dans un contexte de personnalisation avanc, tre transform en code .Net. Le Test Web peut servir valider dun point de vue fonctionnel :
La page renvoye doit afficher vous tes bien connect aprs transfert de
tels identifiants / mots de passe .
Pas derreur 404 (page non trouve) ou autre lors dune navigation sur
toute lapplication mais galement dun point de vue qualitatif.
Les pages doivent sexcuter en moins de 2 secondes . Les pages doivent avoir un poids infrieur 2 ko .
Une dizaine de rgles sont proposes par dfaut ( Find Test , Maximum Request Time , Required Tag , etc.), mais la liste peut trs facilement tre enrichie au travers de rgles personnalises. Depuis la version 2010 de Visual Studio il est possible dutiliser des boucles et des conditions dans les requtes. Ceci peut tre extrmement pratique lorsque le nombre dexcutions dune requte dpend dun paramtre dynamique, rcupr lors de lexcution du test web.
38
7. Profiling
Autre sujet qui sort un peu du contexte des tests, Visual Studio dispose depuis sa version 2005 dun outil pour analyser les performances des applications et mettre en avant les goulets dtranglement. Lintrt pour les analyses des performances est que cet outil peut tre excut directement depuis un test. Quelques exemples :
Analyse
des performances dune page Web et de ses sous-contrles utilisateurs partir dun test Web
Pour valider une infrastructure cible avant une mise en production : sassurer
que linfrastructure et lapplication vont supporter la charge utilisateur vise.
Pour
assurer une qualit en continue de lapplication : sassurer quotidiennement quil ny ait pas de rgression en termes de performances de lapplication afin de pouvoir ragir immdiatement en cas de souci.
Les tests de charge permettent donc de sassurer que la solution fonctionne correctement avec un grand nombre dutilisateurs. Au final, le primtre couvert par ces tests regroupe :
Les
tests caractristiques de performances : comment la ractivit de lapplication est affecte en augmentant la charge.
Les tests de stress : comment la solution gre les niveaux extrmes de charge. Les tests dvolutivit : comment la solution ragit en fonction du modle de
scaling ( scale-up ou scale out ).
Les
tests de dure : comment se comporte la solution si une charge est applique sur une priode prolonge de test. partielle de son infrastructure logicielle ou matrielle.
39
pour lanalyse de rsultats de test performance. Le rapport gnr peut tre consult au fur et mesure ou a posteriori, car stock dans une base de donnes relationnelle. Si Team Foundation Server est utilis, les rsultats peuvent galement y tre stocks. Il est possible dindustrialiser lexcution des tests de charge et la mise disposition des rapports en utilisant conjointement Visual Studio Team Test et Team Foundation Server (service de build). Des modles de rapports ddis aux tests de charge sont disponibles dans ce dernier. Lintgration VS-TFS aide donc la gnration de rapports personnaliss qui peuvent tre utiliss pour lanalyse des causes des checs observs lors des tests de charge.
B. Cible
Loutillage Microsoft permet de tester en charge les applications spcifiques Web, Windows (client/serveur) en environnement .Net, Java, Php aussi bien que les logiciels (SharePoint, SQL Server ou autre SGDB, SQL Server Reporting Services). Seules contraintes :
Etre capable dcrire un type de test simulant lutilisation. Etre capable de rcolter les compteurs de performance.
Un test de charge nest rien dautre quun test capable dexcuter en boucle plusieurs autres types de test. Le test de charge est souvent utilis avec des tests Web pour valider des applications intra/extra/internet mais peut trs bien tre utilis avec des tests unitaires ou SQL pour valider la solidit de tout autre type dapplication.
40
C. Dmarche
La mise en place dun test de charge ncessite une mthodologie en 4 tapes :
Dfinition de larchitecture matrielle : que va-t-on utiliser comme environnement de test et tester ?
Cration et excution de la campagne. Analyse des rsultats : quels sont les problmes et les axes damlioration ?
O est le point de rupture ( partir de quand est-ce que lon considre que lapplication/linfrastructure a atteint ses limites) ? Et quels sont les facteurs limitant qui permettraient de dcaler le point de rupture (processeur trop utilis, mmoire sature, goulets dtranglements dans lapplication)
D. Prparation du Test
La phase de prparation du test est trs importante et passe au travers de plusieurs tapes.
41
muler des utilisateurs) et la bande passante (lobjectif est davoir des temps de rponses acceptables pour tous les utilisateurs, si certains utilisent des modems 56k, ils seront surveiller en priorit). Plusieurs scnarii peuvent tre capturs pour un test de charge, et chacun peut possder un poids. Par exemple, si 80% des utilisateurs restent sur la page daccueil de lapplication, un scnario doit le simuler, si 10% crent un compte, 10% naviguent dans un catalogue, des scnarios doivent tre crs avec un poids similaire dans le test de charge.
Le type de charge parmi les trois proposes : Montante : le nombre dutilisateurs augmente pendant toute la dure du
test, mme si la plateforme scroule.
Constante : le nombre dutilisateurs est stable sur la dure. Par Objectif : le nombre dutilisateurs augmente jusqu
atteindre un objectif dfini (processeur moins de 80%, temps de rponse moins de 2 secondes), lorsque lobjectif est atteint, la charge est lisse pour ne pas crouler le systme.
Les
indicateurs de performance : quels sont les compteurs Windows prendre en compte dans les rsultats de ce test de charge.
42
E. Infrastructure de Test
Au niveau de loutillage requis, deux cas existent :
Pour
une charge importante (tre sr dcrouler un environnement de pr-production ou de la rpartition de charge) : un contrleur peut venir se substituer Visual Studio pour piloter des agents de charge installs sur plusieurs machines. Visual Studio devient dans ce cas le pilote, les agents sont chargs de simuler la charge et de rcolter les rsultats et le contrleur de tout centraliser.
Visual Studio 2010 Test Agent gnre des tests de performance des applications Internet. Il permet aux entreprises damliorer la qualit de service en testant de manire plus efficace et plus proche de la charge future des serveurs, le comportement de leurs applications Web. Visual Studio 2010 Test Agent simule la charge utilisateur sur les applications Internet et les serveurs pour donner aux quipes qualit des informations prcises sur le comportement de leurs applications dans un mode de fonctionnement proche de la ralit. Les rsultats permettent de connatre les performances de ses applications, de dimensionner les serveurs pour des performances optimales. En un mot danticiper. Visual Studio 2010 Test Agent fonctionne avec toutes les technologies dapplications Web. Les tests web Visual Studio peuvent tre galement utiliss dans les tests de
43
performances en les ajoutant dans les tests de charge Visual Studio. Une documentation accompagne le produit et intgre une liste de compteurs, de seuils prdfinis et leur effet sur les serveurs en charge. La combinaison de Load Test et des tests Web fournit des rgles de validation et dextraction qui sont essentielles pour rendre les scripts robustes : les rgles dextraction aident dfinir comment paramtrer les donnes gnres dynamiquement. Le schma ci-dessous illustre le scnario de test de charge tel quappliqu pendant la Performance Week au MTC Paris. Le Load agent est install sur plusieurs machines diffrentes avec un contrleur de lagent de test de charge dans une zone commune dadministration du test de charge. Le test de charge rside sur le client Visual Studio ddition des tests de charge depuis lequel le testeur va configurer et lancer le test de telle sorte que les injecteurs (les agents de charge) gnrent la charge depuis diffrents emplacements sur lapplication web.
Pour les mesures de performance du code et de la mmoire sur un comportement spcifique dune portion du code en charge, il est recommand dajouter les tests unitaires dans les tests de charge et dactiver lanalyseur de performance Visual Studio Team System pour pouvoir faire un profiling prenant en compte le comportement en charge.
44
Il est possible de factoriser un ensemble dtape dans un second type de work items : les Etapes partages ou Shared Steps. De cette manire, on pourra rutiliser facilement cet ensemble dtapes dans plusieurs cas de tests distincts. Trs souvent, on veut pouvoir excuter le mme scnario de test avec des paramtres diffrents. Par exemple si on simule la connexion un site web, on voudra pouvoir le raliser avec des informations de connexion diffrentes.
45
Pour raliser cela, un systme de paramtres est disponible. On ajoutera alors dans lintitul des tapes le nom du paramtre prfix du caractre @ tel que : @ Login. Il ne restera plus qu saisir les diffrentes valeurs pour tous les paramtres dans une grille. Ceci amnera lors de lexcution plusieurs itrations de test. Lexcution dun cas de test sera aborde dans le chapitre suivant au paragraphe 3.a : Excution .
46
Combien de tests ont russi ou chou ? Combien de tests sont encore excuter pour cette itration ? Quand les tests seront-ils achevs ? Quelles zones ont des taux dchec lev de tests ? Quelles configurations de test ont des taux dchec levs de tests ? Qui a encore le plus de tests excuter ? Comment raffecter les ressources pour mieux quilibrer les tests restants ?
Le Lab Center permet de grer un laboratoire de tests. Cest dans ce centre que lon pourra dfinir des environnements virtuels de tests et les instancier pour pouvoir mettre en place rapidement et simplement des machines virtuelles de tests.
47
Un plan de tests peut contenir et permettre dexcuter la fois des tests manuels et automatiss. Cest pour cette raison que lon retrouve deux types de paramtres dexcution :
Les paramtres dexcution permettent de dfinir les informations qui seront collectes automatiquement lors de lexcution dun test. On retrouve plusieurs collecteurs par dfaut, tels que :
48
IntelliTrace
: collecte les informations vnementielles de dbug historique permettant au dveloppeur de comprendre rapidement lorigine dune anomalie si besoin. que ralise le testeur dans le but de pouvoir gnrer un test dinterface graphique cod automatiquement. Impact : permet dactiver lanalyse de test impact de faon pouvoir automatiquement connatre la liste des tests rejouer pour valider une nouvelle version et viter la rgression des fonctionnalits dj testes.
Action recording et Action Log : permet denregistrer la liste des actions Test
Le but dun plan de tests est de valider une version cible de lapplication, comme par exemple celle produite par litration 1. La validation se fait au fur et mesure du dveloppement, priode pendant laquelle les quipes de test vont frquemment valider les nouvelles versions intermdiaires produites par les quipes de dveloppement travers le service de Build. De manire garantir la traabilit, il est possible et conseill dindiquer quel est le contexte courant de test en prcisant la Build utiliser. De cette manire, quand une anomalie sera remonte, elle sera automatiquement marque comme dcouverte dans la dfinition de build : XXX . De mme, il est possible de dfinir un ensemble de configurations au sein desquelles on doit excuter la campagne de test. On pourra par exemple imaginer devoir valider une application web avec un systme dexploitation Windows 7 dot dun navigateur Internet Explorer 8 et dans un Windows Vista exploitant Internet Explorer 7.
Au-del dune simple fiche de dfinition, le plan de test permet de grer les cas de tests qui permettront de valider fonctionnellement lapplication. Ces cas de tests proviennent du serveur Team Foundation, et peuvent tre crs partir de Microsoft Test and Lab Manager. Ils sont crs dans des listes appeles suites de tests permettant de les organiser pour regrouper ceux qui sont en rapport les uns les autres. Les suites peuvent tre de plusieurs types :
49
requirement dans Team Foundation Server. Tout test associ cette suite sera li au work items requirement.
50
Cest dans ces suites que les cas de tests seront crs ou ajouts sils existent dj dans le serveur. Le schma suivant rcapitule les informations stockes dans un plan de test Microsoft Test and Lab Manager.
51
reportes lquipe de
52
La force de cet outil est de faciliter la communication avec le reste de lquipe. De ce fait, lorsquune anomalie est dcouverte, il est trs simple de reporter un bogue lquipe de dveloppement. Ce bogue sera automatiquement rempli avec les informations rcupres par les diffrents collecteurs configurs pour le plan de test :
53
La vido et des marques pages dans celle-ci pour chacune des tapes. La liste des tapes et leur tat chou ou russi. Les commentaires associs ces tapes. Les fichiers attachs ces tapes, sils existent.
Mais galement des informations relatives lenvironnement dexcution (utilisation de la mmoire, architecture du processeur, version de Windows, etc.). De plus, un lien est automatiquement cr entre ce nouveau Bogue Team Foundation Server et le cas de test utilis par le testeur pour trouver cette anomalie. De cette manire, le dveloppeur en charge de lanalyse de ce problme identifi sur lapplication aura toutes les informations ncessaires la reproduction du bogue. Ceci est identifi sous le terme : Plus jamais de non-reproductibilit ! . Lavantage de cette solution est que le testeur na plus qu se concentrer sur ce qui fait sa valeur ajoute : lexcution et lanalyse de tests, la collection des informations tant automatise.
B. Analyse de rsultats
Chaque test run amne un rapport exploitable directement partir de Microsoft Test and Lab Manager. Ce rapport contient les informations telles que :
Quand a t excut le run ? Par qui ? Quelle tait la dfinition de build associe au plan lors de cette excution ? Combien de tests taient excuts dans ce run ? Etc.
On y retrouve galement un accs au rapport de chacun de tests excuts :
54
Pour chacun des tests, un rapport complet et dtaill est disponible dans lequel on retrouve notamment :
Sa dure. Les dtails de chacune des tapes ralises. Russie ou choue. Liste des fichiers attachs. Commentaires du testeur.
On y retrouve galement la liste des anomalies associes, potentiellement reportes lors de lexcution de ce test.
55
A partir de la vue Verify Bugs, il peut trs simplement connatre la liste des bogues rsolus et demander de valider la correction associe. Pour cela il lui suffit de cliquer sur le bouton Verify et le cas de test ayant t utilis lorigine pour dtecter lanomalie sera automatiquement r-excut. Si le test est un succs, et que le testeur estime que la correction est valide, il sera invit marquer le bogue comme rsolu. Dans le cas inverse, il pourra le marquer comme actif nouveau pour le renvoyer vers lquipe de dveloppement. Nous avons vu prcdemment quun plan de test est associ une dfinition de build. Longlet Track permet notamment de visionner la liste des builds disponibles, et den assigner une nouvelle (par exemple : la plus rcente) au plan courant. De ce fait, une vue lui est propose mettant en avant :
Les tests recommands sont lis la notion danalyse de tests impacts. Quand un testeur excute un test manuel, un collecteur analyse le code excut et enregistre cette information. Cette analyse est alors couple au code qui a t modifi dans la dfinition de build courante, et tous les tests qui ont t marqus comme ayant utilis ce code sont alors proposs comme Tests recommands . Il sagit ici dun premier niveau de non rgression. Cela nvite bien entendu pas de jouer les cas de tests pour les nouvelles fonctionnalits.
Chaque fois quun dveloppeur archive (envoie) du code dans le contrle de code source, il a la possibilit dy associer un work item. Celui-ci peut tre un bogue, une tche ou encore un scnario dutilisation ou requirement. Cette information est vitale pour les testeurs car elle permet de savoir si de nouvelles fonctionnalits ont t implmentes et par l-mme, quels tests il faudra jouer voir crer.
56
Proposed (propos). In Design (en cours de ralisation). Ready (prt tre excut).
Voici un exemple de rapport gnr :
57
Le rapport Test Plan Progress quant lui permet de mettre en avant lavancement de laspect excution des plans de tests du projet dquipe. Vous pouvez voir par exemple sur le graphique suivant que 25 tests sur 40 sont actuellement dans un tat Russi . Ceci permet davoir une excellente vision sur la qualit de lapplication et leffort ralis par lquipe de test pour la valider fonctionnellement.
Le dernier rapport disponible permettra davoir une vue diffrente de la progression des tests, plus tabulaire et organise par plan de test, puis par requirement.
58
Les rapports sont vitaux pour assurer le bon droulement dun projet, et dautant plus pour laspect qualit de celui-ci. Cest pour cette raison quil est possible de personnaliser les rapports par dfaut et den crer de nouveaux suivant les besoins des projets. Ceci peut tre ralis trs simplement du fait de lutilisation de Reporting Service 2008.
59
Le Lab Center de loutil Microsoft Test and Lab Manager permet de grer tous les aspects du Lab Management. Le principe est simple : le testeur ajoute au plan de tests des modles de machines virtuelles pralablement crs dans loutil System Center Virtual Machine Manager. Il peut alors crer des modles denvironnements. Un environnement contient potentiellement plusieurs machines virtuelles, comme par exemple : Un serveur SQL, un serveur Web et un client contenant un navigateur web. Chaque machine virtuelle se verra dote de 3 services pralablement installs :
Le
Test Agent : permettant un testeur de lancer lexcution dun test automatis sur cette machine, et de rcolter les diffrentes informations provenant des collecteurs slectionns dans le plan de test. utilis dans le cadre dune dfinition de build, lors de la phase de dploiement de lapplication sur la machine. Un workflow est alors excut sur cette machine pour excuter un certain nombre dinstruction comme par exemple la copie de fichiers, ou lexcution dun installeur (MSI).
Une fois cet environnement cr, il est possible de linstancier autant de fois que ncessaire. On pourra alors en un simple clic gnrer une nouvelle version de ce dernier, dans le but dy excuter des tests.
60
Au-del dun simple outil de cration denvironnements de tests, le Lab Management peut tre exploit lors de lexcution dun test manuel ou automatis. En effet, il est possible de choisir un environnement virtuel lors de lexcution dun test. Toute lexcution se produira alors dans cet environnement. Un des avantages de cette solution est dviter de demander au testeur davoir lapplication installe sur son poste pour pouvoir la tester. Un autre avantage vident est de pouvoir facilement tester lapplication dans plusieurs environnements diffrents, comme par exemple : sur Windows Vista, Windows 7, etc. sans avoir changer de poste.
61
Lorsquun testeur excute un test dans un environnement virtualis, il a sa disposition une nouvelle fonctionnalit nomme : Snapshot . Le principe est simple :
Lorsque le dveloppeur ouvre le bogue cr par le testeur, il a la possibilit de cliquer sur un lien correspondant ce snapshot et par l mme douvrir lenvironnement tel quil tait lorsque le snapshot a t pris. Grce cette fonctionnalit, on peut revenir au moment mme o lerreur a eu lieu : pas uniquement pour la machine cliente, mais pour lensemble des machines de lenvironnement, incluant le serveur de base de donnes, le serveur web, etc.
62
Pour exploiter pleinement tous les aspects dautomatisation du Lab Management, des activits de workflow de build existent permettant davoir un contrle total sur les environnements grs par ce service. On pourra donc, lors dun processus dintgration continue, en plus de la compilation de lapplication, lexcution des tests unitaires automatiques, la gnration de la couverture de code : gnrer ou r-exploiter un environnement du lab management pour dployer lapplication, prte tre teste !
63
Synthse
Les diffrentes analyses montrent que les tests prennent effectivement de plus en plus dimportance en entreprise, et que ceux-ci ont de beaux jours devant eux. Cependant, la mise en uvre de ces tests suppose deux pr-requis :
Dun point de vue technique, sassurer que les dveloppeurs ont facilement
accs aux diffrents types de tests et que leur criture ne se traduit pas par une contrainte mais par un rel gain de productivit.
Dun
point de vue organisationnel, rapprocher le monde des testeurs fonctionnels de celui des dveloppeurs responsables de la correction de bogues, en simplifiant et fluidifiant leur communication.
Et cest exactement sur ces deux points que Visual Studio 2010 innove, en outillant la cration de tests dune manire parfaitement intgre dans lenvironnement de dveloppement et en offrant un rfrentiel commun aux testeurs fonctionnels et aux dveloppeurs sur lensemble du cycle de vie des applications tout en leur permettant dutiliser des outils qui leur sont propres. Ce livre blanc nous aura permis de faire un tour dhorizon de la problmatique des tests et de la rponse que Microsoft y apporte avec Visual Studio 2010.
64
65
Pex (http://research.microsoft.com/projects/pex) est un assistant pour le programmeur. Avec Pex, il est possible dassocier des attributs des tests paramtrs. Dans un test unitaire paramtr, le moteur de Pex gnre automatiquement une suite de tests unitaires avec un taux de couverture de code lev. Pex permet ainsi didentifier les cas aux limites mal grs dans le code. Microsoft Chess (http://research.microsoft.com/projects/CHESS) est un outil automatis pour rechercher des erreurs dans les logiciels multithreads par exploration systmatique. Il dtecte les erreurs, telles que les deadlocks , les suspensions et les violations daccs induites par corruption de donnes, qui sont extrmement difficiles trouver avec les outils de test actuels. Une fois lerreur localise, il fournit une excution entirement reproductible du programme conduisant lerreur, et facilite donc grandement le processus de dbogage. En outre, il propose une couverture de test adapte pour les programmes multithreads. Project White (http://www.codeplex.com/white) est un framework de tests dintgration proposant une API pour tester les applications riches (WPF, WinForm, Win32 et Java JWT). dveloppement de tests unitaires ciblant les services WCF. Les services WCF sappuient souvent sur la notion de contexte WCF (OperationContext et WebOperationContext) pour effectuer diffrentes actions (en particulier les services REST pour lesquels le contexte est ncessaire pour les paramtres et lobtention de codes den-ttes http). WCFMock fournit un ensemble de classes pour supprimer toutes les dpendances explicites avec le contexte de lopration et propose une faon adapte de simuler le comportement de ce contexte. simple dusage et exploite les fonctions du .Net Framework 3.5 comme les Lambda Expressions et les mthodes dextension.
Moq (http://code.google.com/p/moq/) propose une API de Mocking trs MockingBird (http://mockingbird.codeplex.com/) est un ensemble doutils
facilitant le bouchonnage de services web. Le moteur de MockingBird est un intercepteur de messages configurable pour nimporte quel type de service web. MockingBird facilite le dveloppement de services Web en proposant une approche contract first ainsi que lisolation des serveurs de dveloppement et de build vis--vis des dpendances externes.
66
67
68
.Net 2.0, 3.0, 3.5, and 4 Note .Net Microsoft Test and Lab Manager and Microsoft Visual Studio 2010 will both require .Net 4 to operate. However, applications developed by using the listed .Net versions are supported. English, Japanese, Korean, Hindi
Languages
69
Eric Le Loch Spcialiste quipe Team System : http://blogs.msdn.com/ericleloch Florent Santin MVP Team System : http://blogs.developpeur.org/azra Stephane Goudeau Architecte MTC : http://blogs.msdn.com/stephgou Etienne Margraff MVP Team System : http://blogs.developpeur.org/etienne Le blog du MTC Paris : http://blogs.msdn.com/mtcparis/
Liens:
Service Stub Pattern http://www.martinfowler.com/eaaCatalog/serviceStub.html Software Testing http://msdn.microsoft.com/en-us/library/cc188960.aspx MSDN Test Edition ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vsetetesttoc/html/796b7d6dad45-4772-9719-55eaf5490dac.htm Page officielle Team System: http://msdn.microsoft.com/teamsystem Ensemble de ressources Franaises: http://www.team-system.fr Microsoft Visual Studio Team System 2008 Team Foundation Server SP1 and
Visual Studio Team System 2008 Team Foundation Server SP1 VPC Image (Trial) http://www.microsoft.com/downloads/details.aspx?FamilyID=72262ead-e49d43d4-aa45-1da2a27d9a65&displaylang=en
70
Team Foundation Server Administrators Guide http://www.microsoft.com/downloads/details.aspx?familyid=2AED0ECC-155249F1-ABE7-4905155E210A&displaylang=en Guide dinstallation http://www.microsoft.com/downloads/details.aspx?familyid=ff12844f-398c-4fe98b0d-9e84181d9923&displaylang=en Conversion depuis VSS http://www.codeplex.com/Wiki/View.aspx?ProjectName=VssConverterGui Reprise Existant http://www.codeplex.com/MigrationSyncToolkit TFS 2008 System Recommendations http://blogs.msdn.com/bharry/archive/2007/10/18/tfs-2008-system-recommendations.aspx TFS at Microsoft http://blogs.msdn.com/bharry/archive/2006/08/22/712746.aspx http://blogs.msdn.com/bharry/archive/2008/07/03/july-08-devdiv-tfs-dogfoodstatistics.aspx How do I ? (Videos) http://msdn.microsoft.com/en-us/vsts2008/bb507749.aspx?wt.slv=topsectionsee Ressources Francophones http://www.team-system.fr/default.aspx Team System Widgets http://widgets.accentient.com/ Rapport de tests de charge et comparaison (pour 2008) http://www.codeplex.com/loadtestreports Licensing http://www.microsoft.com/Downloads/details.aspx?FamilyID=ce194742-a6e84126-aa30-5c4e969af2a3&displaylang=en TFS Power Tools http://www.microsoft.com/downloads/details.aspx?FamilyId=FBD14EEA-781F45A1-8C46-9F6BA2F68BF0&displaylang=en Blog de lquipe de test Microsoft http://blogs.msdn.com/vstsqualitytools/
71
Blog de lquipe de Team Lab de Microsoft http://blogs.msdn.com/lab_management/ Test Scribe (outil de gnration de documentation de plan de test) http://visualstudiogallery.msdn.microsoft.com/en-us/d18873c7-909d-4788a56e-0c496a1d8bb9 Outil pour gnrer une machine virtuelle prte pour le Lab Management http://vslabmgmt.codeplex.com/documentation
Les tests Logiciels : Une tude de cas avec Visual Studio 2010 Les tests prennent de plus en plus dimportance dans le monde de lentreprise. Fort de ce constat, Microsoft tend sa suite logicielle Visual Studio en couvrant la totalit du spectre de la technique au fonctionnel. Ce Livre Blanc a pour objectif de faire un tat des lieux de lutilisation des tests en entreprise en dtaillant les possibilits quoffre aujourdhui cet environnement.