DotNetHub - Session n°1 - Moles, Stubs et Pex - Test Unitaires Isolés et Paramétrisés

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Informations Générales

Jonathan 'Peli' de Halleux Session n°1 à Louvain-La-Neuve
Mercredi 20 Janvier 2010 à 18h30
Conférence par Jonathan "Peli" de Halleux de Microsoft Research - Redmond - USA

II. Description de la session

L'utilisation de tests unitaires est une technique de développent populaire et efficace.

Elle repose sur le fait que chaque test valide une unité de code en isolation.
En réalité, exécuter du code en isolation est beaucoup plus compliqué qu'il n'y parait : le code appelle un service web, une base de donnée, lit un ficher, etc...
Dès lors, les tests unitaires, supposés très rapide et robustes, deviennent lents et non-déterministes à cause de diverses dépendances externes.

Dans le meilleur des cas, le développeur introduit un niveau d'abstraction, e.g. des interfaces, entre le code et les dépendances. Ceci permet d'exécuter le code avec des dépendances factices (mocks) en isolation. Néanmoins, il est aussi très commun de trouver des dépendances pour lesquels il n'existe pas d'abstraction, appels à des méthodes statiques, utilisation de types scellés avec constructeurs internes, etc... Dans cette présentation, nous parlerons de Stubs, Moles, un outil qui permet d'écrire des tests unitaires en isolation facilement avec ou sans abstraction.
Nous parlerons aussi de Pex, un outil dont le but est de générer une suite de tests avec un maximum de couverture de code.

Stubs, Moles et Pex sont disponibles en téléchargement sur le site DevLabs de MSDN.

III. A propos de Jonathan 'Peli' de Halleux

En quelques années seulement "Peli" est devenu incontournable.
En 2004, il obtint un doctorat en Mathématiques Appliqués à l'université de Louvain, puis rejoint Microsoft et travailla jusqu'en 2006 sur la CLR sur le compilateur "Just In Time" en temps que "Software Design Engineer in Test".
En Octobre 2006, il rejoint alors Foundations for Software EngineeringFoundations for Software Engineering.

Il travailla entre autre sur les outils MbUnitMbUnit, QuickGraphQuickGraph et sur une série d'add-in pour le Reflectord'add-in pour le Reflector.
Plus récemment, on lui doit CodeContractsCodeContracts et ChessChess.

IV. Lieu de la session

Adresse Expert IT SA Belgium
Rue de Clairvaux, 10
1348 Louvain-La-Neuve
Expert IT
Horaires La salle sera ouverte à partir de 18h00
La session aura lieu de 18h30 à 20h30
Catering Une collation (sandwichs et boissons) sera proposée en cours de session

Un remerciement tout particulier à Expert ITExpert IT de nous accueillir pour cette session !

V. Concours

Une licence de NDepend sera offerte à l'un des participants par tirage au sort.
NDepend NDepend

VI. Ressources et téléchargement

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2010 DotNetHub ASBL. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.