design-up::la programmation pilotée par les tests

design-up::la programmation pilotée par les tests         accueil :: a propos :: services :: articles :: ressources :: contact   accueil  articles  extreme programming  tests unitaires la programmation pilotée par les tests dossier réalisé par régis medina et thomas novelle lorsqu'on s'intéresse aux tests qu'effectuent les développeurs au quotidien, on constate que la stratégie la plus répandue consiste à truffer le code de traces temporaires, lancer l'application, appuyer sur quelques boutons pour "remuer" la fonctionnalité en cours de développement, et enfin vérifier dans les traces le bon comportement de l'ensemble. cette stratégie est malheureusement loin d'être efficace pour au moins deux raisons : la mise en place du contexte de test, l'éxécution proprement dite et l'interprétation des résultats sont trop coûteux en temps. les développeurs vont y passer le moins de temps possible, surtout - et c'est paradoxal - à l'approche des livraisons, quand la nécessité de faire vite l'emporte sur la nécessité de faire bien. les tests ne portent en général que sur la fonctionnalité en cours de développement, et trop peu de régressions sont ainsi détectées. l'extreme programming propose une solution pour améliorer cette situation, sous la forme des tests unitaires ou de la programmation pilotée par les tests : pour chaque classe de l'application, les développeurs écrivent une classe chargée de la tester et de vérifier le résultat de ces tests de manière automatique, c'est-à-dire sans intervention du développeur. par rapport aux tests manuels évoqués précédemment, la granularité des tests unitaires est extrêmement fine - ils portent en effet sur des portions de quelques lignes de code uniquement. la question se pose alors de leur validité : comment peuvent-ils garantir le comportement d'ensemble de l'application ? en fait, l'intérêt des tests unitaires n'est pas là. dans un projet xp, ce rôle est pris en charge par d'autres types de tests, appelés tests fonctionnels ou tests de recette, qui valident chaque fonctionnalité de l'application dans son ensemble et permettent ainsi de mesurer l'avancement du projet. le tableau suivant précise les différences entre ces deux types de tests : tests unitaires tests de recette ecrits par... les développeurs le client ou son représentant portent sur... des méthodes unitaires l'ensemble de l'application approche... boîte blanche boîte noire concernent le client non oui les tests de recette sont clairement plus intéressants dans l'absolu, mais ils sont généralement assez coûteux à mettre en oeuvre. a l'inverse, les tests unitaires sont beaucoup plus légers : la mise en place du contexte de test et la vérification du résultat sont le plus souvent très simples, et le coût d'écriture des tests est très réduit. ils peuvent être exécutés très tôt dans le développement d'une tâche (les tests de recette ne peuvent être lancés que lorsque la fonctionnalité complète est implémentée). ils peuvent être lancés à chaque compilation de la classe (les tests de recette ne peuvent être lancés que lorsque toute l'application est compilée). les tests unitaires apportent donc un feedback beaucoup plus rapide que les tests de recette, pour un coût nettement plus réduit. xp exploite cet avantage à l'extrême en proposant d'écrire les tests unitaires avant le code proprement dit. cela permet d'explorer à la fois le problème et la conception avant de passer à l'implémentation, mais cela permet surtout de savoir exactement quand s'arrêter : on arrête de développer une méthode ou une classe lorsque tous ses tests passent. en pratique, c'est surtout ce dernier point qui nous fait apprécier les tests unitaires. ils apportent un sentiment d'avancement concret, et le fait d'avoir plusieurs fois par jour l'ensemble des tests unitaires qui passe à 100% nous donne confiance dans le code et nous permet d'avancer rapidement. bien sûr, l'adoption de cette pratique n'est ni gratuite ni immédiate. il faut d'abord apprendre à utiliser un framework de tests, et surtout ensuite apprendre à organiser son code pour le rendre testable unitairement. l'objectif de ce dossier est de faciliter cet apprentissage en montrant : un exemple simple de mise en oeuvre de la démarche, les bases de l'utilisation d'un framework de tests, quelques tactiques habituelles de test.   exemple de test unitaire tests unitaires introduction   exemple   junit   tactiques   conclusion         - dernière mise à jour le 18/07/2006 -

Acceuil

suivante

design-up::la programmation pilotée par les tests  Le vaccin antisida échoue aux tests  Des tests en tous genres pour pièger vos amis ! - VosPassions.com  Pc Dossier - Annuaire des tests et dossiers Pc  Test Grossesse Tout savoir sur le Test de Grossesse  Tests produits, avis, demandes d'avis  Jeux Video et jeux PC : actualités, tests, previews, astuces tips ...  Tests delirants, tests de personnalité, love test, test sur la ...  Quizz et tests gratuits : Psycho-Tests, Test QI, Tests de ...  Test gratuit & Quizz gratuit - Psycho-Tests, Test QI, Tests de ...  Test your French  Usertests.fr - Accueil  Nexen.net : portail PHP et MySQL - Skoll : distribution des tests ...  Tests de conformité aux CSS 2  Tests et previews de jeux vidéo  PsicoActiva: Tests psicológicos  Communauté : Tests oldies de la semaine par Jeuxvideo.fr  Tests Previews Dossiers - Jeux PC et Console  1001 Tests  Queendom.com: Tests, Tests, Tests and more Tests, The biggest ...  Code de la route : Codeclic.com - Test du code de la route  Yahoo! Jeux - Tests (QI, Q.I., Quotient intellectuel)  Test de Matos - PC INpact  ÉduSCOL - Préparation ASSR et ASR/Entraînements et tests  01net. : Accueil - Toute l'informatique avec 01Informatique, L ...  01net. : Produits - Toute l'informatique avec 01Informatique, L ...  Tests et training de QI  www.TestCity.de - "ein Test für alle Fälle" - die ultimative Test ...  Test-e-Performance : Expert en solution de monitoring des ...  qi, test qi, test de qi, test personnalité, test intelligence  Les Culino-tests  Action Innocence Filtra - Test de contrôle parental - Bechmarkt de ...  ::: tests de connaissances professionnelles en ligne  Tests de personnalités rigolos pour mieux se connaître  L'annuaire des tests de hardware sur Test-Hardware.net  Cyberprof teste vos connaissances linguistiques et littéraires ...  Tests de jeux vidéo PC  LANGUE FRANCAISE.RU - Tests sur la France  mensa-france - admission - test  La source mondiale pour des tests comparatifs de qualité - alatest.fr  laboratoire de test industriel et essai industriel  Permis Bateau- Bateau école Richard  Tests statistiques  Thot / Le répertoire Thot des tests d’orientation en ligne ...  Tests d'anglais en ligne - Testez votre anglais gratuitement  Test Driven Development - Wikipédia  Simone Veil opposée aux tests ADN  Tests - Forum des développeurs  Testmoral : Piegez vos amis avec humour! Piege  Liste des tests - LiveWii  Tests  Tests et comparatifs de produits Geek, Gamers, PC, insolites ...  Tests médicaux - Service Vie  AOL Tests & quiz : mieux se connaître et progresser -  Tests : LCD 26 et 27 pouces, Acer et Dell (page 1: 26 pouces Acer ...  caraudiovideo autoradio, navigation gps, multimédia - Tests  Les Numeriques  MEGAPSY vous propose des tests de personnalité a prix reduit, une ...  Test-orientation.com : Test d'orientation scolaire - Test d ...  Test materiel informatique  Tests