Microsoft Visual Studio Team Suite Dossier réalisé par Frédéric MOTHY et Eric LELEU – Mai 2007
Sommaire Team Suite : Usine logicielle Composition de Team Suite Les points forts et faibles de la solution Les différents types de test Tarifs Conclusion Un peu dhumour
Team Suite : Usine Logicielle Définition : Ensemble des outils mis en œuvre dans le cadre dun développement logiciel, ainsi que les démarches associées à lutilisation des ces outils. Cela ne se limite pas à la production du code source, mais à tous les éléments qui participent à la bonne réalisation du projet (tests, documents, suivis, version…)
Composition de Team System Analyse dynamique du code Visual Studio Team Edition Software Architects Analyse Statique du CodeProfiler de CodeTest UnitaireCouverture du CodeClient Team Foundation (inclus une CAL)Visual Studio 2005 Professional EditionTest de montée en chargeTests ManuelGestion des campagnes de testsConcepteur dapplicationConcepteur dinfrastructure Visual Studio Team Edition Software Developers Visual Studio Team Edition Software Testers Concepteur de ClasseConcepteur de déploiementVisio et modélisation UML
Composition de Team System – Suite… Ce logiciel intègre des outils qui couvrent tout le cycle de vie des logiciels. Il intègre les outils suivants : Team Edition for Software Architects (Concepteur d'application, Concepteur d'infrastructure, Concepteur de déploiement) Team Edition for Software developpers ( Analyse dynamique et Analyse statique du code, Profiler de code) Team Edition for Software Testers (Tests de montée en charge, Tests manuels, Gestion des campagnes de tests, Tests Web) Team Edition for Database Professionnals (Comparaison des schémas / données, Gestion des déploiements, Automatisation des tests, Générations de jeux d'essai)
Composition de Team System – Suite… Microsoft Visual Studio Team System comporte : Dune part,les outils nécessaires à la création dapplications -Application Web Form (site web ou client Léger) -Application Win Form (programme windows ou client lourd). Dautre part, des outils de test : -Tests unitaires -Couverture de code -Gestionnaire de tests -Tests web -Tests de montée en charge.
Composition de Team System – Suite… Puis, des outils de mesure de qualité : -Analyse statique -Analyse dynamique (mémoire et temps dexécution) Et enfin des outils pour gérer le projet : -Gestionnaire de version -Fiches de suivi (tâches, bugs, etc...) -Portail -Tableaux de bord.
Les points forts et les points faibles Les outils Microsoft ne sont pas innovants : il existe déjà des outils équivalents sur le marché de lopen source, du monde java (JUNIT) et dans le monde.Net (NUNIT). Ces différents outils peuvent dans certains cas avoir des fonctionnalités plus avancées et dune plus grande maturité. Les avantages de Team System : une prise en main plus rapide plus grande intuitivité pas de sélection et dintégration doutils divers. Team System met à disposition un référentiel unique de toutes les données et métriques liés au projet. Conclusion : Cest un « outil clé en main ».
Les différents types de test « Team Suite » propose un ensemble cohérent de fonctionnalités intégrées dans Visual Studio pour assurer la qualité des applications ou des services Web : tests manuels, tests dinterfaces (Web), tests unitaires, tests de performance, tests génériques (réutilisation des tests existants). Ces tests peuvent être organisés en campagnes pour cibler des fonctionnalités ou des versions des applications.
Les différents types de test – suite… Test de montée en charge (Team Test Load Agent) Le test de montée en charge simule des utilisateurs virtuels pour valider la capacité à supporter la charge des applications web. Les utilisateurs virtuels exécutent différents scénarios enregistrés directement depuis le navigateur. Important : Les résultats obtenus sont consolidés en un point central, facilitant ainsi lanalyse. Tests Unitaires Microsoft Visual Studio Team System génère automatiquement des tests unitaires qui invoquent les méthodes des classes et vérifient les valeurs de retour. Les outils fournis permettent dinjecter des jeux de données.
Les différents types de test – suite… Test Web : Enregistrement dun parcours dans un navigateur (requêtes HTTP) pour simuler un utilisateur. Il est possible de « variabiliser » les données, dutiliser des jeux de tests. Test Générique : Un test générique est un programme existant encapsulé pour fonctionner comme un test dans Visual Studio. Exemples : un programme test qui utilise un fichier XML spécifique (appelé « un fichier de résultat sommaire») pour communiquer le détail des résultats. Test Manuel: Le type de test manuel est utilisé lorsque les étapes du test doivent être effectuées par un ingénieur chargé des tests et non par un script automatisé.
Les différents types de test – suite… Analyse statique de code Analyse du code à la compilation afin dassurer le respect des conventions de codage (règles de nommage, règles darchitecture, …). Couverture de code Détection du code parcouru par les tests unitaires. Un taux de couverture minimum doit être atteint pour que les tests unitaires soient réellement utiles. Analyse dynamique et Profiler de code Analyse des performances des applications afin didentifier les goulets détranglement.
Les différents types de test – suite… Gestion des campagnes de test Organisation dans le temps des tests à exécuter (de montée en charge, unitaires, manuels, web). Test Ordonné: Un test ordonné est utilisé pour exécuter un ensemble de tests existants dans un ordre spécifique.
Tarification Avec le MSDN Universel actuel, les clients peuvent obtenir : Visual Studio Team Systems pour Développeur Ou Software Architects Ou Software Testers à un prix plus ou moins équivalent. Visual Studio Team Suite Prix de départ Developer Même Prix Architect Même Prix Test Même Prix MSDN Premium ouou SolutionsTarifs Software Architects5 899 Software Developers5 899 Software Testers5 899 Team System Suite Les tarifs sont les suivants (uniquement pour 1 à 4 licences, avec abonnement MSDN Premium) :
Conclusion La solution Team Suite de Microsoft : -Couvre plusieurs types de test -Ne se limite pas à la production du code source mais à tous les éléments qui participe à la bonne réalisation du projet (Tests, Documentation, Suivis, Version…) -rivalise avec certains produits du marché qui, pris individuellement, seraient bien meilleurs. Cependant, le concept dusine logicielle (clé en main), lui confère un atout indéniable.
Concevoir une application critique Essayer daméliorer la qualité du logiciel en augmentant la quantité de tests revient à essayer de perdre du poids en se pesant plus souvent. Si vous voulez perdre du poids, nachetez pas un nouveau pèse personne, faites plutôt un régime. Si vous voulez améliorer votre logiciel, ne le testez pas davantage. Developpez le mieux