JUnit en livre

Présentation


Ce livre sur l’automatisation des tests avec JUnit s’adresse à toutes les personnes impliquées dans des projets de développement logiciel et désireuses de découvrir le potentiel de JUnit. Quelle que soit la façon dont l’équipe de développement travaille, que vous soyez débutant ou expert, manager, développeur, architecte ou chef de projet, ce livre vous permettra d’appréhender les tests automatiques, de les insérer dans une logique de fabrication de logiciels et de les mettre en œuvre efficacement.
Le premier chapitre est destiné à introduire rapidement JUnit de manière concrète. Cette partie intéressera surtout les développeurs utilisant JUnit pour la première fois. La seconde partie s’adressera autant aux personnes ayant des responsabilités techniques que managériales et permettra de mieux comprendre les enjeux de l’automatisation des tests ainsi que leur imbrication dans le processus de la création de logiciels. Enfin la troisième partie sera dédiée aux techniques avancées de test permettant d’utiliser les tests automatiques comme un élément de compétitivité économique.
Pour tirer le meilleur profit de ce livre, il est intéressant que le lecteur dispose des connaissances de base de la programmation Objet avec le langage Java, la connaissance des Design Patterns étant un plus.
À la fin de cet ouvrage, vous serez capable de concevoir et mettre en œuvre une stratégie de tests automatiques et de tester votre code à différents niveaux.
Les éléments disponibles en téléchargement sur le site www.editions-eni.com, contiennent les codes sources de la calculatrice et du serveur de calcul, les deux projets exemples menés tout au long du livre.

Critiques

“Avec les exemples fournis, il est particulièrement utile pour comprendre ce qu’est vraiment le pilotage par les tests (TDD). Je vais le recommander chaudement à mes étudiants, dont certains ont toujours du mal à mettre en place le TDD sur leurs projets.”

Claude Aubry – Article Original

“L’auteur a su concilier en 288 pages, sensibilisation aux tests, notions et méthodologie de travail avec brio. (…) Un très bon livre pour toute personne souhaitant s’initier aux tests avec JUnit.”

Mike François – Article original

“L’auteur propose une prise en main complète de JUnit et de la manière de l’utiliser, de créer les scripts de tests. Une excellente initiation.”

Journal Programmez – Juin 2011

“Même si le titre vous laisse croire que tout sera lié à Java, le livre vous expliquera de manière très pédagogique toute la complexité et la nécessité d’écrire des tests de qualité. (…) Mais après lecture de l’ouvrage, on comprend que Java et JUnit ne sont que prétexte pour parler des tests, si vous y préférez une autre technologie ce livre ne sera pas non plus du temps perdu.”

Zion – Article Original

“C’est d’ailleurs le second bon point bien agréable, il y a beaucoup de code. Des exemples simples, mais concrets, efficaces et bien choisis. C’est clair, c’est un livre écrit par un développeur pour des développeurs. (…) Et voilà, on est 280 pages plus tard et on a fait un tour d’environ assez agréable sur le sujet des tests en java avec JUnit. C’est complet et pragmatique à la fois. (…) En conclusion, Benoit Gantaume signe là un très bon livre qui couvre un spectre suffisamment large pour intéresser aussi bien les débutants que les confirmés. Les premiers trouveront de quoi s’initier aux tests et tout ce qu’il faut pour s’y mettre, pour les autres, il fourmille de petites astuces bien pratiques. Pour ma part, cela me conforte dans mes pratiques même si je dois parfois me battre pour les pratiquer et les communiquer aux autres.”

Antoine Vernois – Article Original

Pourquoi écrire ce livre ?

JUnit est aujourd’hui bien diffusé et son nom largement connu. Si bien que de nombreux développeurs Java, pour ne pas dire tous, ont au moins une fois dans leur vie vu ou écrit un test JUnit. La plupart auront également lu quelques articles sur la question. Ainsi, beaucoup de développeurs connaissent JUnit. Pourtant, de nombreux développeurs n’écrivent pas ou très peu de tests automatiques, alors qu’ils connaissent l’outil. Savoir ce qu’est un sécateur ne fait pas de nous un jardinier… Ce livre est né de ce constat.

Objectifs du livre

Ce livre a pour objectif de vous aider à mettre en œuvre un outil de test automatique, JUnit. À l’issue de cet ouvrage, vous serez capable de concevoir et de mettre en œuvre une stratégie de tests automatiques et de tester votre code à différents niveaux.

Ce que vous n’y trouverez pas

Ce livre n’est pas une documentation exhaustive de référence sur JUnit. En effet, vous trouverez cela sur Internet, en particulier sur junit.org. Si le premier chapitre y est consacré, c’est avant tout une aide pour vous permettre de démarrer rapidement.

Pré-requis

Les pré-requis sont assez minimes. Il suffit d’avoir les bases de la programmation orientée objet en Java. La connaissance des Design Pattern est un plus : JUnit en contient plusieurs et c’est également un atout important pour l’écriture de tests automatiques.

Sommaire

  1. Préambule
  2. Kit de démarrage
    • Introduction
    • Exemple d’illustration
      • Cahier des charges
      • Détail de l’archive téléchargeable
    • Tester sans outil
      • Contrôle du résultat
      • Rapport de tests
    • Les outils de base
      • Versions de JUnit
      • Structuration des tests
      • Assertions
    • Intégration dans les IDE
    • Conclusion
  3. Qu’est-ce que le test ?
    • Introduction
    • À quoi sert le test ?
    • Concept de qualité
      • Origines du concept
      • Différents points de vue
      • Concept de logiciel juste assez bon
    • Les tests manuels et automatiques
      • Les tests manuels
      • Les tests automatiques
      • Tests automatiques ou tests manuels
    • Automatiser les tests
      • Un développement plus véloce
      • Un retour sur investissement élevé
      • Un outil à entretenir
      • Les tests FIRST
    • Framework de tests
      • Quels tests automatiser ?
      • Différents outils disponibles
      • JUnit
    • Conclusion
  4. Le test dans les méthodologies
    • Introduction
    • Test et Génie logiciel
      • Définition
      • Le triptyque Coût – Qualité – Périmètre
      • Les caractéristiques des tests automatiques
      • Activités fondamentales
    • La place des tests dans les différentes méthodes de gestion de projet
      • Le modèle de la cascade
      • Le cycle en V
      • Les approches agiles
    • Conclusion du chapitre
  5. Comment démarrer ? Mythes et réalités
    • Introduction
    • Feedback
      • Type d’information
      • L’information directe
      • L’information indirecte
    • Comment démarrer ?
      • Changer de paradigme
      • Théorie de l’échantillonnage
    • Risques et précautions
      • L’entretien
      • Corrections de défauts
      • Corriger sans tester
      • Le développeur isolé
    • Conclusion
  6. L’utilisation de bouchons
    • Introduction
    • Le concept de boîte
      • Les tests en boîte noire
      • Les tests en boîte blanche
      • Les tests en boîte grise
    • Utilisation des bouchons
    • Test Unitaire de la classe MachineAEtats
      • Contexte
      • Injection de dépendance
      • Utilisation de bouchons statiques
      • Utilisation de bouchons dynamiques
      • Utilisation de bouchons intelligents
    • Des bouchons prêts à l’emploi avec EasyMock
      • Mode de fonctionnement
      • Exemple
      • Avantages
      • Bilan
    • Conclusion
  7. Modelage de tests
    • Introduction
    • Comment considérer les tests ?
    • Structuration du code de test
      • Symétrie entre code et tests
      • Classer les tests
    • Remaniement de test
      • Pourquoi tester le test ?
      • Comment s’y prendre ?
      • Les trois phases d’un test
      • Exemple de mise en œuvre
    • Signes d’alerte
      • L’invité mystère
      • Guerre des tests
      • Tests fourre-tout
      • Tests hyperactifs
      • Tests indirects
      • Tests obscurs
      • Tests complexes
      • Logique de code spécifique aux tests en production
      • Intervention manuelle
      • Tests capricieux
      • Tests fragiles
      • Rapports illisibles
    • Écrire du code testable
      • Constructeur cher
      • Instanciation directe
      • États globaux et Singletons
      • Classes hyperactives
      • Lignée d’héritage infinie
      • Les Intermédiaires
      • Méthodes complexes
    • Conclusion
  8. Couverture de code
    • Introduction
    • Couverture de code
      • Définition
      • Outils de couverture de code
      • Comment couvrir son code
    • Définir l’objectif
      • Le 100 %
      • Bénéfices
    • La couverture comme outil de gestion de projet
      • Objectif de couverture
      • Limite de la démarche et effets pervers
    • Conclusion
  9. Développement piloté par les tests
    • Introduction
    • Présentation
      • Au cœur du TDD
      • Un nouveau paradigme
      • Limites du TDD
      • Les deux approches du TDD
    • Exemple d’illustration
      • Implémentation du PGCD
      • Dans la calculatrice
      • Du côté serveur
      • Retrospective
    • Implémentation du PPCM
      • Côté serveur
      • Côté calculatrice
      • Rétrospective
    • Conclusion
  10. Trousse à outils
    • Introduction
    • Intégration continue avec Hudson
      • Qu’est-ce que l’intégration continue ?
      • Avantages
      • Hudson
    • Tests de base de données avec DBUnit
      • Présentation
      • Mise en œuvre
    • Tests de performance
      • Avec JUnitPerf
      • Avec ContiPerf
    • Conclusion

5 thoughts on “JUnit en livre

  1. Bonjour,

    Etant donné que le monde informatique évolue très vite, je voudrais savoir si une nouvelle édition est prévue pour ce livre?

    Cordialement,

    • Bonjour,
      Il n’y a pas de ré-édition prévue pour le moment: l’essentiel du contenu reste d’actualité.
      Seuls certains exemples risques de vieillir.
      Le livre décrit plus une approche qu’une librairie particulière.
      A bientôt,

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>