Selenium : du vrai test-driven development pour le web 2.0

Le test-driven development (pratique très liée à l’eXtrem Programming) passe peu à peu dans les moeurs des développeurs web et c’est tant mieux. Mais à l’heure du web 2.0, les principaux frameworks avaient une grosse lacune : la quasi-absence de tests sur les fonctions Javascript.

Quand on sait l’importance qu’a repris javascript depuis l’avènement d’AJAX, c’était même plus qu’un manque, et cela obligeait à limiter les tests unitaires aux seules classes métier d’un projet… ce qui devenait ridicule étant donnée la part prépondérante de l’interface homme-machine dans les temps de développement !

Selenium apporte depuis quelques temps déjà (il vient de sortir dans sa version 0.7) une réponse très satisfaisante à ce problème via 2 produits open-source :

Selenium IDE est un plug-in pour firefox qui vous permet d’enregistrer des scénarios tests de manière simplissime et de les réexcuter à l’envie.

Selenium Core est système vous permettant de programmer directement vos tests en tappant vos instructions dans des tables HTML. Ces tests peuvent être ensuite automatisés et intégrés à votre petite « software factory ».

Le tout fonctionne à base de Javascript et simule vraiment les actions d’un utilisateur dans un navigateur web. Bref, si vous voulez vous mettre au test-driven development et au web 2.0, Selenium me semble à ce jour incontournable.