Archive for septembre 2007

Le plugin Eclipse openQA Selenium IDE

septembre 18, 2007

Je continue sur le sujet des tests en général et celui des applications web en particulier. Je désire un outil de test au niveau interface web orienté utilisateur, simple d’utilisation, accessible aux non développeurs. De préférence, cet outil doit fonctionner directement dans un navigateur web et permettre d’enregistrer les tests à partir d’une navigation sur le site. Tout ceci pour faciliter des tests d’acceptance.

Je me suis orienté sur OpenQA Selenium IDE. QA signifie ici Quality Assurance ou en français Assurance Qualité. Rien ne vous empêche naturellement de regarder les autres outils de la famille Selenium. Dans un premier temps, j’y ai renoncé à approfondir les autres pour me contenter de Selenium IDE. La version actuelle est la 0.8.7 datant du 21/03/2007. Il s’agit d’un outil de test s’exécutant directement dans le navigateur web, sous forme d’extension (plugin) pour Firefox. Pour enregistrer, le test il suffit d’appuyer sur le bouton d’enregistrement et d’exécuter le test qu’on désire rejouer plus tard.

Il faut avouer que il est parfois nécessaire de modifier le résultat de l’enregistrement. Heureusement, la syntaxe des actions est relativement simple . Il s’agit un triplet commande, cible valeur. Un exemple simple est le renseignement d’un champ dans un formulaire (type, nom du champ, valeur). La partie valeur est parfois inutilisée comme par exemple lors du click sur un bouton. Certaines commandes se terminent par wait pour signifier d’attendre la réponse du serveur, il existe un timeout par défaut. Le format d’enregistrement des tests est en HTML. C’est un peu surprenant mais tout à fait utilisable, les actions sont placées dans un tableau HTML.

Un exemple de code utile est de générer du texte aléatoire, par exemple pour enregistrer un référence unique. Il suffit d’ajouter un peu de javascript.

<tr>
<td>store</td>
<td>javascript{'subject' + (new Date()).getTime()}</td>
<td>subject</td>
</tr>
<tr>
<td>type</td>
<td>subject</td>
<td>${subject}</td>
</tr>
<tr>
<td>assertTextPresent</td>
<td></td>
<td>${subject}</td>
</tr>

Il existe plusieurs commandes d’assertion assertTitle assertTextPresent… Mais une particularité de cet outil est d’avoir des commandes commençant par verify (verifyTitle, verifyTextPresent….). Les commandes « assert » arrête le test si la condition n’est pas vérifiée. Verify continue le test. Ces commandes Verify sont contraires aux principes des tests unitaires. Si vous voulez vérifier deux choses et ne pas s’arrêter au premier test, il faudrait écrire deux méthodes de test différentes. Mais ici, nous sommes bien en test d’acceptance, donc il est envisageable d’avoir ce genre de commande pour collecter le maximum d’information. Dernier point les commandes sont de haut niveau orientées utilisateur, il n’est pas possible d’étendre ce jeux de commandes.

Ce projet est finalement très facile à pendre en main. Je reproche un peu le manque de documentation, il existe bien une FAQ un wiki mais il n’y a pas grand chose dedans. Il est possible après de faire des « testSuite » c’est à dire regrouper les différents scénarios de tests dans un seul fichier qui appelle les autres fichiers, nommons le testsuite.html.

<table>
<tr>
<td>Test suite for the whole application</td>
</tr>
<tr>
<td><a target="testFrame" href="test1.html">Test1</a></td>
</tr>
<tr>
<td><a target="testFrame" href="test2.html">Test2</a></td>
</tr>
</table>

Pour exécuter la suite de test, il faut appeler l’url chrome://selenium-ide/content/selenium/TestRunner.html?
baseURL=http://localhost&test=file:///dir/testsuite.html&auto=true. A vous d’adapter les bons paramètres. Ce principe des tests suite est inspiré directement de JUnit. Il est cependant pas possible de combiner ces « tests suites » pour former d’autres « tests suites » suivant le modèle de JUnit.

Enfin, j’ai trouvé un pdf de présentation en français.

Le logiciel commercial Jira de gestion des anomalies

septembre 16, 2007

Attention, pour une fois je ne vais pas parler d’un logiciel libre, mais d’un logiciel commercial. Jira est un logiciel de gestion des anomalies et des faits techniques, ou plus simplement suivi de bug. On trouve parfois aussi l’anglicisme bug tracking.

Il existe également des alternatives parmi les logiciels libre dont le célèbre bugzilla. Je n’ai pas encore suffisamment de recul pour pouvoir juger ces différents logiciel. Simplement Jira se veut en avance sur ses concurrents commerciaux ou libres.

Le logiciel Jira est commercialisé par la société Australienne Atlassian fondée en 2002. Je n’ai pas trouvé de chiffres concernant le nombre d’employés ou le chiffre d’affaire. Les autres solutions de cette société sont confluence (wiki et blog d’entreprise), Crowd (solution de SSO ou Single Sign On) et Bamboo. Tous les logiciels de Atlassian sont gratuits pour les projets open source, donc Jira est assez courant sur Internet. il est possible d’avoir une licence gratuite pour une utilisation personnelle de certains logiciels ou d’avoir une version d’évaluation.

Installation de phpBB sur WAMP5

septembre 5, 2007

PhpBB est un forum libre écrit en PHP, s’appuyant sur une base de données relationnelle. C’est une application assez courante sur Internet. Cette application est vraiment simple d’utilisation, il existe une interface d’administration qui évite d’aller modifier directement la base de données. Il existe de nombreuses possibilités d’adaptation de l’interface graphique (thème). Il également possible d’avoir une interface en français.

Cette application est le candidat idéal pour une installation sur WAMP5. Ce lien sur le forum du site phpBB-fr.com explique comment installer phpBB sur WAMP5. Il explique également l’installation de WAMP5.

Il existe d’autres applications eGroupware serait un bon candidat pour une application numéro 2. Par contre l’installation semble être un peu plus complexe. A voir ?

Logiciels pour démarrer avec le langage PHP

septembre 2, 2007

Le langage PHP (Hypertext Preprocessor). est certainement le langage le plus employé pour créer des sites web dynamiques. Il existe deux logiciels pour Windows permettant de tester ce langage : EasyPHP et WAMP5. Attention il s’agit des logiciels pour le développement et non pour la production comportant tout les logiciels nécessaires pour la création de site Web dynamique (PHP, mySQL et Apache). Les sites web de présentation de ces logiciels existe en français. Dernier point, ils sont tous les deux libres.

EasyPHP utilisait dans sa version 1.8 le langage PHP version 4. La version 2 qui doit intégrer la version 5 du langage reste en version beta depuis un certain temps (sortie en décembre 2006). Je me suis tourné donc vers WAMP5 (pour Windows, Apache, MySQL et PHP). la version 1.7.2 de WAMP5 date du 05/06/2007. Il comporte PHP version 5.2.3, MySQL 5.0.41. Il comporte également Apache et phpmyadmin, l’interface d’administration de MySQL. WAMP5 tout comme EasyPHP s’installe sans aucun problème. Je conseille simplement de choisir un démarrage manuelle qui permettra d’éviter les conflits si vous désirez avoir une autre installation d’Apache ou de MySQL.