Posts Tagged ‘Open Source’

Open source Sushi, Selenium Sandwich et Fitnesse Jus d’orange

Tuesday, May 5th, 2009

Crédits photo: Maki sushi, Piled on, Oranges

Moins d’une semaine après, voici un petit compte rendu de l’After Work sur les Outils de test open source. Environ 30 personnes ont assisté à cette présentation et les consultants étaient nombreux à être présent.

Après une rapide présentation de la société et de ses opportunités, Virginie Urtado a laissé la place à Gilles Mantel pour entrer dans le vif du sujet des outils de tests.

Gilles a annoncé son ambition de dérouler cette présentation comme on peut le faire régulièrement durant les cours du soir des consultants Valtech. Sa présentation fut le résultat de recherches sur l’actualité des différentes briques open source connues et la consolidation des connaissances et des retours terrain des consultants.

Gilles a tout d’abord fait un premier rappel sur la distinction entre open source et gratuit. Pour une organisation, l’indicateur principal qui guide ce choix est le TCO (Total Cost Of Ownership) ou Coût Total de Possession. C’est une valeur qui rend compte du risque lié au choix de composants réalisés par une communauté. On évalue la popularité, la communauté, etc. Par rapport à l’offre, il s’attendait à fournir un focus très précis sur les quelques open sources qui outillent le test logiciel mais force est de constater qu’il a plutôt eu affaire à la multitude et la multiplicité de l’offre en la matière.
En clarifiant que cette présentation n’était pas une étude du Gartner ou du Forester, il a plutôt cherché à introduire une vision empirique en introduisant une classification simple :4 catégories (tests unitaires, drivers, frameworks, référentiels de test) sur plusieurs niveaux (populaire, mourant, etc), et même des « duels » !

Première catégorie, les tests unitaires

que l’on ne présente plus. Ces outils permettent de tester au plus profond du logiciel, c’est à dire au niveau classe ou méthode.
Junit (Java, 1998) > TestNG (Java) > SUnit (Smalltalk)
Une nouvelle variante apparaît en 2003, le Behavior Driven Developement (BDD). Cette approche novatrice permet d’écrire une spécification (le comportement) pour guider l’écriture du code. La spécification doit alors respecter une syntaxe particulière:
Given (Etant donné que) {condition initiale}
When (Quand) {action}
Then (Alors) {comportement attendu}

On trouve dans ce rayon:
Jbehave (Java) > Rspec (Ruby) > EasyB (Groovy, Java) > Cucumber (Ruby)

Les tests fonctionnels: les drivers

On appelle driver de test un script de test qui permet de piloter le passage des tests.
Dans le monde du web: Selenium, Watir (sans partie serveur), Canoo Webtest sont trois outils populaires. En java/SWING, on trouve Marathon, Frankeinstein et pour SWT: SWTBot ou Abbot. Pour les web services, SOAP UI reste très populaire; et pyWinAuto permet, lui, de tester les application au niveau du système d’exploitation Windows via la langage Python.
Le premier duel de la soirée a vu s’affronter Selenium et Watij.
Ce qu’il faut retenir, c’est qu’il ne faut pas forcément choisir le meilleur mais plutôt le plus adapté à ses besoins.

Tests fonctionnels: les frameworks

sont des infrastructures de tests qui permettent de piloter l’exécution des tests. Ces frameworks sont « keyword driven » c’est-à-dire qu’ils définissent un certain formalisme pour décrire les tests. Le framework qui monte est Robot. FitNesse a phagocyté FIT et c’est le plus populaire actuellement. Chez Valtech, nous pensons que Cucumber possède de bons atouts.

La démarche suivante consiste à coupler un framework à un driver pour piloter la bonne infrastructure cible, le « system under test ».

Outils de test de charge

OpenSTA reste très populaire mais en fin de vie, Jmeter étant le plus populaire. Dans la rubrique extra-terrestre, on peut citer Tsung un outil rédigé en ErLang. Attention, WebLoad n’est pas réellement open-source. Seule la partie pour un seul poste utilisateur est libre.
Le second duel opposa: OpenSTA et JMeter. Gilles a utilisé une analogie amusante: c’est un peu Sampras contre Federer car comme Sampras qui est un sportif à la retraite, OpenSTA n’est plus forcément beaucoup utilisé…

Les référentiels de tests

sont des gestionnaires de test. Le plus célèbre de ces logiciels est propriétaire. Il s’agit d’HP (anciennement Mercury) Quality Center qui permet de gérer une campagne de test: les cas de test, les mesures des métriques, etc. Ces outils permettent de s’interfacer avec des drivers automatisés. Par exemple, Quality Center s’interface avec Quick test pro (non open-source). Justement, côté open-source, on trouve TestLink qui est très similaire à Quality Center.
On retrouve aussi FitNesse qui permet d’organiser les tests dans son wiki natif. Salomé-TMF n’est malheureusement plus trop maintenu mais a été écris en français ;-) . On sent ici la paternité de France Telecom. Une fonctionnalité clé de ce type d’outil est leur capacité d’import/export dans les outils bureautiques qui sont utilisés massivement par les équipes d’assurance qualité ou les maîtrises d’ouvrage.
Le dernier duel de la soirée fut celui de TestLink contre Salomé-TMF.

Cette présentation nous a appris que l’open-source couvre l’ensemble du spectre fonctionnel lié aux tests ce qui représente une progression par rapport à l’état des lieux 10 ans plus tôt par exemple. La faiblesse des outils open-source provient peut-être du ciblage technologique, il existe souvent plus de composants que de technologies. Pour conclure sa présentation, Gilles nous a expliqué deux formules choc dont il a le secret:

  • l’open-source aime l’open-source: aujourd’hui, il y a d’autant plus de contributions open source que le langage est ouvert.
  • chose qui nous tient à cœur chez Valtech, l’agilité aime l’open-source: l’agilité favorisant la simplicité, les meilleurs outils open source très spécialisés adressent le problème qu’ils cherchent à résoudre de façon simple.

Nous avons pu ensuite déguster des maki, des pains surprise, et diverses boissons. Ce moment est particulièrement propice aux discutions et j’en profite toujours pour demander au public son ressentit sur la séance écoulée. Enfin, le groupe s’est scindé en deux. La grande salle fut réservée à Etienne Charignon assisté de Grégory Paul pour une démonstration de Selenium. Quant à Gilles, il a réalisé une démonstration de Fitnesse dans une seconde salle.

Ce fut une soirée riche que je qualifierait d’instructive et de sympathique. Le prochain After Work sera consacré à une méthode agile passionnante qui prend ses racines dans le monde de la production industrielle ! Rendez-vous le 10 juin prochain pour un After Work sur le Lean Software Developement.

Edit:
famfamfam silk iconTélécharger la présentation

Outils de tests open source en “After Work”

Friday, April 24th, 2009

La soirée Valtech After Work sur les outils de test open sourceVous êtes invités à venir découvrir le 28 avril les outils de tests open source au travers de plusieurs présentations qui auront lieu lors du prochain Valtech After Work.

Le principe du Valtech After Work est de venir découvrir gratuitement un sujet chez Valtech. Les opportunités de carrière de Valtech sont aussi présentées et vous pouvez discuter avec des consultants qui peuvent répondre à toutes vos questions.
Inscrivez-vous dès-à-présent, les précédentes sessions ont eu pas mal de succès et je prédis également une forte audience cette fois-ci.

Comme vous le savez, nous faisons de l’agilité une valeur fondamentale chez Valtech. Comme l’explique très bien Emmanuel Chenu, les bénéfices de l’agilité ne se font sentir que lorsque les équipes ont adopté les pratiques invisibles du management. Ce sont donc bien les pratiques techniques comme le TDD, ou les tests de recette automatisés qui vous font maîtriser le chaos de votre logiciel. C’est dans cette démarche que les outils de test deviennent un choix crucial pour votre assurance-sérénité. Après cette soirée, vous en saurez plus sur les meilleurs outils de tests open source que nous recommandons.

Voici des comptes-rendus des sessions précédentes:

register Inscription

Edit: Ce sont Gilles Mantel, Etienne Charignon et Grégory Paul qui vous présenteront cette session.

Forum Decideo 2009 : Business Intelligence Open Source

Wednesday, April 15th, 2009

logo de la conférenceValtech Technology, Gold Partner de l’éditeur Talend, suit de près l’évolution du marché de la Business Intelligence vers les solutions décisionnelles Open Source. Preuve à l’appui : sa présence aux conférences de l’édition 2009 du Forum Decideo Open Source !

Retours d’expérience utilisateurs et ateliers de démo sur les plateformes SpagoBI, Jedox Palo, JasperSoft, Actuate ont été au programme de cette journée qui a mis en évidence la montée en puissance et en maturité de ces nouvelles offres, et dont l’intérêt ne peut être que favorisé par la conjoncture actuelle : pilotage stratégique accru, besoin de solutions simples et rapides à mettre à oeuvre, coût initial moindre… Ainsi, comme le montre l’Observatoire du Logiciel Libre (www.ob2l.com) le décisionnel Open Source est en phase d’adoption,  avec +56% de personnes formées entre 2007 et 2008 !

Ces plateformes décisionnelles, toutes développées nativement en Java, bénéficient notamment des nouvelles technologies Web 2.0 et RIA, devenues également matures, et indispensables par exemple pour les solutions de reporting ad hoc (tel JasperServer), où l’utilisateur génère ses rapports via l’interface Web par glisser-déposer. Elles s’enrichissent également de capacité d’analyse en mémoire (grâce à la montée en puissance des machines actuelles), et d’offre en mode SaaS (à l’image de la version 3.5 de JasperSoft). L’allemand Jedox a ainsi annoncé en début d’année la mise au point d’une solution permettant de diminuer de 40 fois les temps d’accès aux données multidimensionnelles chargées en mémoire.

En 2009, l’open source couvre désormais tous les aspects de la chaîne décisionnelle : ETL (notamment avec Talend qui s’impose désormais comme le leader de ce marché Open Source) – Stockage de Données (SGBD, moteurs OLAP), Portail BI, Restitution (Analyse, Dashboard), Datamining. Aussi, le respect des standards technologiques permet l’assemblage de plusieurs briques décisionnelles. Pour l’exemple, Palo propose son propre ETL pour le chargement de son cube OLAP, mais on peut tout aussi bien l’interfacer avec Talend, qui propose en standard un connecteur Palo.

Enfin, les éditeurs de ce segment proposent tous des outils en téléchargement gratuit, mais prolongent leurs solutions décisionnelles par des offres à souscription. A l’image de l’éditeur Actuate, qui a offert BIRT à la communauté Eclipse, un outil de design de rapport destiné aux développeurs, et qui propose la suite payante Interactive Web Reporting pour le design interactif destiné aux end users.

Fiabilité, robustesse, facilité d’intégration, coûts raisonnables, innovation… Telles ont été les qualités de ces plateformes louées par les utilisateurs de cette édition 2009. Si, comme il l’a été rappelé lors de l’ouverture de cette journée, 2008 a vu la professionnalisation de la BI Open Source, les prochaines années verront à coup sûr leur adoption à plus large échelle.

Afterwork GWT du 17 Décembre 2008

Thursday, December 25th, 2008

La semaine dernière, avec Pascal, nous présentions une seconde fois l’after work GWT (voir le post précédent pour le 1er afterwork).

Si vous n’êtes pas très saumon fumé ni champagne, mais plutôt Eclipse et Widget, je vous propose de réveillonner avec notre présentation mise à jour, ainsi que les workspaces d’execices et de correction ! ;-)

Ces workspaces sont utilisables sous windows (avec un JDK 5 minimum).

Pour n’avoir aucun problème, vous devrez installer gwt et gwtext C:\dev, selon l’arborescence suivante (des chemins en dur sont présents dans les .launch entre autres) :

C:\dev\gwt\gwt-windows-1.5.3

C:\dev\gwt\gwtext-2.0.5

Pour Linux et MacOsX, le mieux est de récupérer les projets et de corriger les chemins de lancement (.launch).

Le succès était encore une fois au rendez vous, je remercie encore l’organisation côté Valtech Technology Consulting et côté Valtech Training !

Joyeux Noël à tous !

AfterWork GWT : présentations et TP

Aquarium Sun

Tuesday, December 23rd, 2008

The Aquarium Paris s’est déroulé Vendredi 12 Décembre, cette conférence était consacrée aux solutions Open Source de Sun, du middleware au client riche en passant par les ESB.

Tout d’abord, Sun a présenté sa stratégie commerciale autour de ses solutions Open Source, avec un périmètre élargi depuis le rachat de MySql début 2008.
Ensuite une dizaine de présentations se sont succédées, dont celle de Romain Linsolas de Valtech sur Hudson l’outil d’intégration continue.

JEE6
La présentation JEE6 par Roberto Chinicci (Spec Leader J2EE) est certainement celle qui était la plus attendue.

Avec JEE6 pas de révolution mais quelques nouveautés :
RestWS : support des Services Web en mode REST
EJBLite : déploiement d’un EJB en mode embarqué avec packaging dans un War
WebBeans : unification du modèle de développement JSF et EJB (standardisation du modèle de développement Seam)
ValidationBean : API permettant la validation des beans utilisable dans un contexte JPA et/ou JSF (devrait ressembler à l’API Hibernate Validator)
et la poursuite des simplifications opérées par JEE5 :
• Allègement de l’API, certaines librairies ne seront plus embarquées par défaut mais seront optionnelles (Entity Beans EJB 2, JAX-PRC…)
• Simplification de la configuration des applications web : configuration dynamique du fichier web.xml à partir d’annotations Java 5
• Plus de flexibilité : il sera enfin possible d’utiliser des threads dans JEE6.
• Les profils : un profil regroupera un sous ensemble de l’API JEE, actuellement un seul profil est prévu (Web Profile). Un serveur d’application pourra ainsi limiter son support uniquement à un profil et non plus à toute la plateforme entière. Cela devrait simplifier l’émergence de nouveaux acteurs  JEE (Spring Application Server par exemple).

Dans le détail JEE6 devrait être constitué des APIS suivantes :
EJB 3.1
∘ Plus besoin de déclarer les interfaces locales
@Singleton pour déclarer un EJB Session du type singleton
@Asynchronous pour déclarer une méthode asynchrone sur un EJB Session
∘ Convention de nommage JNDI par défaut : java:global/(app)/(module)/(bean)#interface
Servlet 3.0
∘ Configuration dynamique des Servlets à partir d’annotations Java 5
∘ La configuration et l’intégration des frameworks web Open Source sera simplifiée à partir de point d’extension (web-fragment.xml)
∘ API asynchrone : standardisation des principes du projet Comet (Reverse Ajax) qui permet du faire du push d’information depuis le serveur vers un client
JPA 2.0
JSF 2.0
∘ Mécanisme de template ressemblant à Facelet
∘ Cycle de vie compatible Ajax (?)
JAX-RS 1.1
JAXB 2.2

La version finale de JEE6 est prévue pour début 2009 et l’implémentation de référence devrait suivre avec GlassFishV3 courant 2009.

GlassFish V3
A propos de GlassFish V3, Alexis Moussine Pouchkine au cours de sa présentation a surtout insisté sur la rapidité de démarrage (grâce à OSGI seuls les modules nécessaires sont chargés en mémoire), la légèreté du serveur d’application (26 mégas) et la possibilité d’utiliser GlassFish en mode embarqué (à la mode en ce moment).

Grizzly Comet

J’ai également assisté à la présentation de Grizzly Comet par Jean François Arcand. Grizzly (le moteur HTTP de GlassFish) simplifie l’intégration avec l’API Comet (permet de faire du Reverse Ajax). Grizzly est prévu pour traiter des requêtes HTTP en mode asynchrone : le dialogue entre le client et le serveur n’est plus en mode requête/réponse. Le serveur est capable de pousser des informations vers le client. La requête HTTP n’est donc plus attachée à un seul thread, l’envoi de la réponse a lieu plus tard dans un autre thread, l’API Comet se chargeant de gérer le contexte.

Une application de démonstration du type Twitter a permis de se rendre compte de la simplicité et de l’efficacité de Grizzly Comet, mais ce genre de technologie semble à proscrire lors d’une utilisation derrière des proxys.
A noter que l’API Comet peut également fonctionner sur Tomcat et bientôt Jetty et que les concepts sont repris dans l’API JSF IceFaces.

JavaFX
Java FX était à l’honneur, la solution RIA de Sun. Les deux présentations ont permis à l’auditoire de se faire une idée sur le produit : globalement un concurrent de Flash à partir d’un langage de Script basé sur Java. Une application JavaFX peut se déployer dans un navigateur, en mode standalone ou bien sur un téléphone portable. Visuellement c’était très beau mais je ne pense pas que cette API soit utilisable actuellement pour le développement d’applications de gestion. Wait and See…
En ce qui concerne l’outillage un plugin JavaFX existe pour NetBeans 6.5. (un plugin eclipse existe également).

Presentation de GWT à l’AfterWork du 25 Novembre 2008

Sunday, November 30th, 2008

Article mis à jour lors de la seconde présentation Afterwork GWT
Lors de cette soirée, Pascal Ognibene (groupe avec les ordinateurs portables) et moi même (groupe dans la salle de formation) avons pu présenter la technologie GWT, en manipulant un peu.

Participants GWT After Work 25 Novembre 2008

La présentation s’est déroulée en 5 étapes :

  • Présentation de GWT (historique, raisons de la création du projet, ce que çà fait, ne fait pas)
  • Création d’un projet GWT à l’aide des scripts de génération fournis
  • Création d’une application (partie cliente)
  • Création d’une application (partie serveur, avec les appels asynchrones RPC)
  • Conclusion

Certes s’il est vrai qu’il est difficile de pouvoir manipuler lors d’une présentation de 2h30, les participants (venus nombreux >50 en tout, de profil plutôt techniques , en tout cas dans mon groupe ) ont pu découvrir ce qu’il était possible de faire avec GWT, et dans quelles conditions (debugger, tout en java, dans eclipse, etc…)

Participants GWT After Work 25 Novembre 2008

En tout cas, les premiers retours sur cette soirée sont positifs, que ce soit des participants ou des organisateurs (Valtech Technology Consulting Paris et Valtech Training) que je remercie pour leur temps et leur efficacité !

Par ailleurs, tous les inscrits n’ont pu participer à cette session par manque de place; pour ceux qui sont intéressés, vous pouvez réserver votre soirée du Mercredi 17 Décembre, et vous inscrire à la session supplémentaire AfterWork Valtech GWT.

Enfin, chose promise, chose dûe :

Voici ci dessous en animation Flash et en pièce jointe de ce post la présentation qui a été donnée lors de cette soirée.

after_work_gwt odp

after_work_gwt pdf

after_work_gwt power point

Journée The Aquarium chez Sun, vendredi 12 décembre

Monday, November 17th, 2008

Alexis Moussine-Pouchkine de Sun nous informe qu’une journée Open Source chez Sun est organisée dans leurs locaux de l’avenue Iena, à Paris.

Notons des sujets d’actualité comme GlassFish, Grizzly Comet, MySQL, Java FX, OpenSSO et REST. En présentateurs: Alexis, Jean-François Arcand himself, ainsi que la plupart des responsables des outils ou specs qui seront discutés!

Cours du soir Selenium: les slides

Friday, July 11th, 2008

Suite au cours Selenium donnée par Philippe lundi dernier, voici les slides pour vous!

Sonar

Sunday, July 6th, 2008

Sonar, l’outil présenté jeudi dernier à Valtech, est un projet Open source de la société Hortis (basée en Suisse), hébergé sur Codehaus.
Sonar est un agrégateur de résultats d’analyse de règles de codage. Il s’interface avec des outils d’analyse de code et de test afin d’agréger leurs résultats, et les consolider afin de, par exemple, faire de l’analyse multi-projets. C’est d’ailleurs dans le cadre d’un parc de projets volumineux que Sonar prend tout son sens, en comparaison avec des outils comme Maven Dashboard.
(more…)

Présentation de Sonar, “la Logan des outils de qualimétrie”

Sunday, July 6th, 2008

Jeudi dernier, Freddy Mallet nous a fait le plaisir de nous présenter Sonar, l’outil de qualimétrie développé principalement par ses collègues de Hortis. Voici les slides, ainsi que quelques commentaires.

A Valtech, nous apprécions beaucoup cet outil, nettement en avance par rapport à ses concurrents Open Source comme XRadar, QALab ou Panopticode. Aujourd’hui, nous l’utilisons souvent à côté d’un outil tel que Maven Dashboard. Maven Dashboard est très bien pour obtenir des métriques sur un projet simple, mais devient plus difficile à gérer pour de multiples projets. (détail amusant: je suis actuellement sur un projet où travaille également David Vincente, le committer principal sur Maven Dashboard).

A mon avis, les avantages de Sonar sont les suivants:

  • c’est le plus complet des outils de qualimétrie open-source
  • le développement est actif; par exemple, XRadar, le plus ambitieux des autres outils OSS, sorti initialement il y a plus de 4 ans, était considéré mort l’année dernière (une nouvelle version est sortie récemment)
  • l’équipe est ambitieuse: de nombreuses fonctionnalités sont prévues et il semble y avoir les ressources qui conviennent pour les développer
  • l’équipe joue à fond le jeu avec la communauté open-source. Reconnaissant que Sonar ne peut se battre avec les spécialistes des logiciels de qualimétrie propriétaires tels que CAST ou Metrixware, ils ont cherché à s’attirer les faveurs des développeurs eux-mêmes. Le site principal est par exemple passé de http://sonar.hortis.ch/ à http://sonar.codehaus.org/ et la prochaine étape du développement verra l’introduction de plugins, ce qui permettra à un plus vaste public de contribuer.

    Bref, Sonar arrive comme une bouffée d’air frais dans le monde des outils de qualimétrie. Même si son avenir n’est pas encore tout tracé (en particulier, Hortis a une partition délicate à jouer pour rentabiliser les frais de développement), la bienveillance et l’intérêt du monde open-source lui sont déjà assurés. Et le “mindshare“, dans le monde open-source, c’est le critère principal de réussite d’un projet.