Julien Smadja

Julien Smadja est consultant chez Xebia où il intervient notamment sur des problématiques liées à la testabilité et la qualité des projets. Intéressé par l'intégration continue, il participe à l'évangélisation de produits comme Jenkins et Sonar.

 

Peut-on faire du TDD sur du code existant ?

Article publié par Julien Smadja le 23 décembre 2011.

Catégorie(s) : Java / JEE

 

4 commentaires »

Notre quotidien de développeur consiste très souvent à modifier du code existant. Certes, nous avons parfois la chance de développer de nouveaux modules tout frais, tout neufs et le Test Driven Development est à son avantage.

Mais comment peut-on mettre en pratique le TDD sur du code déjà écrit, parfois mal pensé et non testé. Cet article va partir d’un exemple concret, une classe comme on pourrait en trouver sur tous les projets. Le but est de commencer une démarche TDD et de pousser au maximum son efficacité (mise en évidence d’un bug potentiel, ajout d’une nouvelle fonctionnalité, refactoring du code et refactoring des tests). Au final, la classe sera beaucoup plus apte à subir le changement et surtout, elle sera testée et couvrira tous les cas d’utilisation.

Lire la suite de cet article »

Visuwall – Mixer vos outils de build et de qualité

Article publié par Julien Smadja et Arnaud Lemaire le 2 décembre 2011.

Catégorie(s) : Java / JEE, Méthodes agiles, Tests

 

4 commentaires »

Visuwall est un outil agrégeant et synthétisant les métriques fournies par Hudson, Jenkins, Bamboo, Teamcity et Sonar.

Pour faire simple, imaginez que sur un seul écran vous puissiez voir en un clin d’œil l’état de vos builds (succès/instabilité/échec), le nombre de tests unitaires et d’intégration agrémenté de métriques telles le nombre de lignes de code, la couverture de code et le respect des normes de codages.

Mieux qu’un long discours, nous vous proposons une courte vidéo de 3 minutes qui démontre la facilité avec laquelle vous pouvez démarrer facilement avec l’outil.

Si l’outil vous intéresse, il est disponible au téléchargement et le code source est à votre disposition sur github.

Si vous désirez en savoir plus sur le développement de ce projet, nous vous proposons une rétrospective de ces derniers mois, en partant de la genèse du projet jusqu’à son état actuel.

Lire la suite de cet article »

Tester les services asynchrones avec Awaitility

Article publié par Julien Smadja le 23 mars 2011.

Catégorie(s) : Java / JEE, Tests

 

2 commentaires »

Mots-clefs :, ,

Les tests d’intégration impliquent souvent plusieurs composants d’une architecture technique (webservices, serveurs de mail, …). Si une action s’exécute sur un composant A qui fait appel à un composant B et si la condition à vérifier dépend de la bonne exécution de B, vous êtes dans un cas d’asynchronisme. La première idée qui vient à l’esprit est d’utiliser un timer, de mettre en pause l’exécution du test pour laisser le temps à l’action de se réaliser. On comprend très vite qu’une optimisation est à portée de main, et si au lieu d’attendre un temps constant on pouvait gagner du temps si l’action s’est réalisée plus rapidement que prévu.

Nous verrons dans cet article qu’il est possible de développer des tests automatisés capables de s’adapter facilement aux contraintes d’asynchronismes et de se passer d’un blocage à temps constant grâce à l’API Awaitility.

Lire la suite de cet article »

Testabilité des EJB 3.1. Prêt pour du TDD ?

Article publié par Julien Smadja le 2 février 2011.

Catégorie(s) : Java / JEE

 

7 commentaires »

La testabilité est devenue un facteur à prendre en compte lors du choix d’un composant technique. Pour les EJB 3.0, il existait plusieurs manières de tester des services développés, Ejb3unit (figé depuis mi-2009) ou Arquillian (uniquement côté JBoss AS). Les EJB 3.1 offrent enfin une solution native, prête à l’emploi et simple à manipuler : l’EJB Container.

Cet article présente l’utilité de l’EJB Container et la manière de l’utiliser ; il s’appuie pour cela sur l’écriture d’un service et d’une suite de tests exécutables sur Glassfish 3 et sur JBoss 6.

Lire la suite de cet article »

 

Page optimized by WP Minify WordPress Plugin