Tour d’horizon des outils d’aide au développement Java Xavier Baril
Tests unitaires JUnit TestNG xUnit … Cf slides « Test logiciel » http://testng.org xUnit … (C) Xavier Baril
Analyse (statique) du code Règles de codage CheckStyle – http://checkstyle.sourceforge.net Détection de bug FindBugs - http://findbugs.sourceforge.net (C) Xavier Baril
Analyse (dynamique) de code Un outil de couverture de code est utilisé comme outil de mesure de la qualité des tests effectués. Cobertura - http://cobertura.sourceforge.net Outil de profiling : utilisation CPU, mémoire JProfile - http://www.ej-technologies.com (C) Xavier Baril
Packaging / Automatisation Du makefile à … Ant - http://ant.apache.org Maven - http://maven.apache.org « Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. » (C) Xavier Baril
Intégration continue (1/3) Consiste à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression de l'application en cours de développement. (C) Xavier Baril
Intégration continue (2/3) Pour appliquer cette technique, il faut d'abord que : le code source soit partagé (en utilisant des logiciels de gestion de versions tels que CVS ou Subversion) les développeurs intègrent (commit) quotidiennement (au moins) leurs modifications des tests d'intégration soit développés pour valider l'application (avec JUnit par exemple) (C) Xavier Baril
Intégration continue (3/3) Les principaux avantages d'une telle technique de développement sont: les problèmes d'intégration sont détectés et réparés de façon continue, évitant les problèmes de dernières minutes; prévient rapidement en cas de code incompatible ou manquant; test immédiat des unités modifiées; une version est toujours disponible pour test, démonstration ou distribution (C) Xavier Baril