Spring, Hibernate, DBUnit et Surefire – Parallélisez vos tests

Article publié par Jean Helou le 3 février 2012.

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

 

5 commentaires »

Les DAO (Data Access Object) ou repository des applications contiennent souvent de l’information importante sur la façon dont les données d’une base doivent être consultées. Cette information prend la forme d’une logique métier qui est encodée dans un ou plusieurs langages, souvent un langage déclaratif (SQL, HSQL, JPQL, etc.) et un langage impératif (Java, Groovy, Scala, etc.).
Tester cette logique d’accès polyglotte peut s’avérer complexe et lent car ce type de test se prète mal aux techniques classiques de mock et nécessite plutôt l’écriture de tests d’intégration qui chargent une partie du contexte réel d’exécution. Par conséquent, les tests de cette couche sont parfois délaissés, voire abandonnés.

Cet article se propose de vous montrer comment réaliser de tels tests, avec un niveau d’isolation suffisant pour la parallélisation dans un processus multithread, tout en essayant de trouver le meilleur compromis avec le temps d’exécution de chaque test. Ces tests sont présentés dans une configuration très classique utilisant Spring et JPA/Hibernate.
L’implémentation utilise une base HSQLDB et quelques bibliothèques pour faciliter l’écriture du code, en essayant de rester aussi léger que possible. Les tests sont isolés pour que vous puissiez activer l’exécution parallèle du plugin Surefire de Maven au niveau des classes de test. Vous pourrez facilement dériver l’implémentation nécessaire à isoler vos tests au niveau des méthodes si vous le souhaitez.

Lire la suite de cet article »

Xebia à l’Agile Tour Rennes

Article publié par Gilles Mantel le 30 septembre 2011.

Catégorie(s) : Méthodes agiles

 

Aucun commentaire »

Le jeudi 6 octobre prochain se tiendra l’étape Rennaise de l’Agile Tour 2011.

J’ai le plaisir d’avoir été sélectionné pour animer ma session traitant du retour sur investissement de l’automatisation des tests. Sous la houlette de Laurent Morisseau et d’une équipe d’organisateurs investis, cette étape s’annonce déjà comme une belle réussite, en espérant ne pas leur porter malchance avec cette prédiction enthousiaste. Le programme concocté pour l’occasion présente un bon équilibre entre sessions pour débutants et sujets avancés, présentations magistrales et ateliers. Le programme fait aussi la part belle aux principes de Kanban pour l’informatique.

De mon côté j’ai pour l’instant porté mon choix sur les sessions suivantes :

Les inscriptions sont toujours ouvertes et la participation aux frais reste très abordable.

Revue de Presse Xebia

Article publié par Xebia France le 24 mai 2011.

Catégorie(s) : Revue de presse

 

6 commentaires »

Revue de Presse Xebia
La revue de presse de l’actualité Java/JEE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Le coin de la technique

Lire la suite de cet article »

Performance – Maîtriser son framework de test, The Grinder

Article publié par Issam El Fatmi le 31 mars 2011.

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

 

Aucun commentaire »

La performance a été souvent considérée comme étant le parent pauvre des applications. Afin de combler ce défaut et de détecter les éventuels points de faiblesse des applications, plusieurs outils propriétaires et open source ont vu le jour sur le marché: Compuware/Qaload, LoadRunner, OpenSTA, JMeter, etc, et notamment The Grinder. L’adoption de ce dernier fut moins évidente que celle de son homologue côté Apache, du fait de l’absence de support et d’une interface GUI pour la définition, la configuration et le paramétrage des scripts ; ce manque de l’aspect « cliquodrome » a fait croire aux utilisateurs que l’outil est à mettre uniquement dans les mains d’un développeur python, et a également conduit à en dissimuler les talents.
Le but de cet article est de donner un ensemble de guidelines pour faire un meilleur usage de l’outil.

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 »

Livre blanc – Qualité logicielle

Article publié par Frédéric Dubois et Séven Le Mesle le 21 décembre 2010.

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

 

6 commentaires »

Livre-blanc-qualité-logicielleNous avons le plaisir de vous présenter notre livre blanc sur la qualité logicielle écrit par Frédéric Dubois, avec la participation de Séven Le Mesle.

Objet du désir, la qualité logicielle est régulièrement invoquée sur le mode incantatoire au démarrage d’un projet de développement logiciel.

Assurance qualité, direction qualité, responsable qualité, qualimétrie, processus unifié, modèle de maturité… nombreux sont les dispositifs visant à garantir que le résultat du développement sera source de fierté pour ceux qui l’ont conçu, de contentement pour ceux qui l’ont financé, de soulagement pour ceux qui devront le maintenir et de satisfaction pour ceux qui l’utilisent et l’exploitent.

Dans un premier temps, ce livre blanc s’attache à définir ce qu’est la qualité logicielle, et à analyser les raisons de son évanescence. Il décrit ensuite un ensemble de pratiques d’ingénierie qui, selon nous, et appliquées de façon systématique, permettent d’écrire, à moindre coût, des logiciels de très haute qualité

Nous espérons que vous prendrez plaisir à le lire.

Télécharger le Livre blanc qualité logicielle.

NoThunes, tests en tout genre et qualité de code

Article publié par Aurélien Maury le 9 décembre 2010.

Catégorie(s) : Divers, Tests

 

Un commentaire »

Mots-clefs :, , ,

Avec un peu de retard sur les autres, voici le cinquième article de cette série sur Grails. Nous allons parler ici de :

  • Tests unitaires
  • Tests d’intégration
  • Mesures de qualité de code
  • Intégration continue

En appliquant le tout à notre projet test bien aimé : NoThunes.

Lire la suite de cet article »

Xebia à la conférence Agile France 2010

Article publié par Xebia France le 10 mai 2010.

Catégorie(s) : Méthodes agiles

 

Aucun commentaire »

agile france 2010
La conférence Agile France 2010 se tiendra à Paris les 31 mai et 1er juin prochain.
Avec plus de 70 conférences et ateliers répartis sur six à sept salles en parallèle, cette conférence s’impose comme une des principales conférences sur l’agilité en Europe. Pour un prix attractif (270 €), nous vous encourageons à venir chercher de nouvelles idées, partager vos expériences et rencontrer des gens passionnés par l’agilité.

Comme en 2008 et 2009, Xebia participera à cette édition au travers de 3 présentations animées par des consultants Xebia :

Lire la suite de cet article »

Revue de Presse Xebia

Article publié par Xebia France le 15 mars 2010.

Catégorie(s) : Revue de presse

 

Un commentaire »

Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Le coin de la technique

Evènements de notre communauté en France et à l’étranger

Lire la suite de cet article »

Selenium – Could not start Selenium session: Internal Server Error

Article publié par Amin Fathallah le 19 janvier 2010.

Catégorie(s) : Java / JEE

 

2 commentaires »

Lors de l’intégration des tests unitaires Selenium avec Hudson sur un environnement graphique Linux, j’ai été confronté à l’exception « Selenium – Could not start Selenium session : Failed to start new browser session : Error while launching browser » qui empêchait Selenium Remote Control (RC) d’ouvrir une instance du navigateur Firefox pour le jeu des tests.

La trace de l’exception est la suivante :

java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: Error while launching browser
	at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:89)
	at com.mycompany.selenese.util.HomePageTest.setUp(BaseTestCase.java:39)
	at junit.framework.TestCase.runBare(TestCase.java:125)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:118)
(30 more lines...)

En fouillant un peu, j’ai constaté que cette exception est dûe principalement à une mauvaise configuration du profil Firefox utilisé pour le jeu des tests. Il est cependant possible de la résoudre en positionnant la variable browser avec la valeur « *firefox » suivie d’un espace et du chemin absolu du bin Firefox sur le système cible (firefox.exe sous windows et firefox-bin sous linux).

Lire la suite de cet article »

 

Page optimized by WP Minify WordPress Plugin