La stratégie de test d’une architecture REST (1/3) – Test unitaire d’une ressource

Cet article est le premier d’une série de 3 articles traitant de la stratégie de test d’une architecture REST. Il fait suite au billet sur les types de test utilisés sur un projet Agile. Par l’exemple, nous allons mettre en place une stratégie de tests sur un code d’exposition de web services REST en Java. L’exemple de code se basera sur le framework REST Jersey, RI de Sun de la JSR-311 déjà présenté dans un précédent article. Le but de ces trois articles est de présenter un harnais de tests pouvant couvrir la mise en place de Web services REST. Ce premier article s’attardera sur les tests unitaires tandis que les suivants étudieront les tests d’intégration puis les tests de recette.

Lire la suite

TED 2009

La semaine dernière, j’ai inversé les rôles en assistant à une conférence. Pas n’importe laquelle, la Rolls Royce des conférences : TED www.ted.com. Evènement très peu connu en France, il n’en demeure pas moins depuis 25 ans la conférence de référence aux US sur les thèmes Technology, Entertainment et Design. Disons que c’est l’évènement incontournable aux US. Vous comprenez maintenant ce que j’y suis allé faire ? Rencontrer des speakers hors du commun et rechercher des idées d’inspiration pour l’USI ( Ideas worth spreading est le moteur de TED ).
Lire la suite

La faute à Scrum

Plusieurs grandes figures de la communauté agile se sont récemment exprimées sur Scrum, l’agile, et ses premiers gros projets en déroute (James Shore, Alistair Cockburn, Alan Shalloway, Ron Jeffries et Martin Fowler). La lecture de ces articles (que je vous conseille vivement) et mes dernières expériences de coaching m’ont donné envie de partager mes réflexions via le blog.

Les méthodes agiles entrent dans la douloureuse période de l’adolescence.

A cet âge, on est convaincu d’avoir compris pourquoi le monde du développement logiciel tourne à l’envers et trouvé ce qu’il faut faire pour tout changer.

Lire la suite

Gestion de version distribuée et build incassable

Dans un précédent article, nous avons introduit les concepts qui accompagnent la gestion de versions distribuée afin de comprendre son fonctionnement de base. À l’aide de ces quelques concepts, nous allons voir comment il est possible de mettre en place un build d’Intégration Continue « incassable » sans effort (ie. sans développement d’une infrastructure dédiée : avec un gestionnaire de versions non distribué celà reste possible avec un peu de développement ou avec encore avec la solution TeamCity de JetBrains) grâce à la flexibilité de ce type d’outils. Git continuera à nous servir d’exemple mais cette fois-ci, les détails d’implémentation (en comparaison avec Mercurial ou Bazaar) auront leur importance dans la mise en place de la solution.
Lire la suite

Quels sont les types de tests que l’on utilise sur un projet agile ?

Constat

Typiquement lorsqu’une équipe de développement commence à appliquer les différentes pratiques issues de méthodes agiles comme eXtreme Programming, la question des tests finit par venir. Lorsque l’équipe a compris la nécessité d’écrire des tests, elle risque de se heurter très rapidement à quelques obstacles. Un de ceux là concerne notamment les types de tests.

C’est ainsi que l’on se retrouve généralement avec un jeu de tests JUnit qui vérifient par exemple les résultats des appels HTTP vers des Web Services REST déployés dans des serveurs applicatifs avec leurs bases de données et systèmes de fichiers. Quels sont les obstacles ? Des tests longs à exécuter car ils doivent s’intégrer avec certains environnements et complexes à développer puisqu’ils prennent en compte ces environnements bien particuliers.

Dans ce cas, il convient alors de séparer les tests unitaires des tests d’intégration.
Lire la suite

CR du séminaire SpringSource « Expert Tomcat » [1/2]

Mardi 20 janvier dernier avait lieu le séminaire « Expert Tomcat » organisé par SpringSource. Une fois n’est pas coutume, il n’a pas été question de développement d’applications Web Java mais de problématiques avancées de production avec au menu : déploiement à grande échelle, optimisation de performances ou bien encore résolution d’incidents de production. Filip Hanik de SpringSource et committer actif sur le projet assurait la présentation.

Lire la suite

Des principes (ou quelques idées…) REST et du Mashup

Lorsqu’on parle de ressource et de REST en général, on associe souvent la notion de services, une représentation XML ou JSON d’un résultat, d’une donnée…On ne pense que rarement à la notion de ressource comme pouvant retourner une IHM ou une portion d’IHM, c’est-à-dire, de la donnée mise en forme.

Ici, l’idée est simple : utiliser des ressources REST – proposant une représentation HTML – pour agréger et construire une nouvelle IHM côté client, dans le navigateur.

Lire la suite