lundi, février 13 2012

[Test] : Cacique + Selenium IDE + Selenium-Grid : pour des tests automatisés et industrialisés

cacique_logo_100.pngLa mise en œuvre des tests fonctionnels et de non-régression est difficile car elle fait appel aux équipes de spécification/MOA (qui définissent quoi tester sans pouvoir le coder) et aux équipes de développement qui automatisent les tests. Malheureusement, on retrouve cette segmentation dans les outils, avec:

  • Selenium IDE (plug-in de firefox), facile a utiliser mais ne permettant pas d'industrialiser les tests.
  • Selenium-grid, permettant l’exécution de tests sur différentes plateforme (OS/ navigateurs) mais sans aucune interface utilisateur.
A l'affut d'une solution permettant de conjuguer le meilleurs de ces 2 outils, il semble que Cacique soit la pierre angulaire qui permette de parvenir à une solution utilisable et industrialisée. En voici une démonstration.

Lire la suite...

mardi, décembre 6 2011

Intégration continue en PHP : Hudson/Jenkins Ant ou Phing, ...

logo_jenkins.pngL'intégration continue est une pratique de génie logiciel ayant pour origine le besoin de vérifier que l'avancement des travaux de développement ne provoque pas de régression. Cette pratique agile nécessite un outillage significatif : serveur d’intégration continue, script de déploiement, outil d'analyse, tests unitaires ... On ne détaillera pas ici l’intérêt évident de cet outillage, mais sa mise en œuvre pour PHP avec Jenkins sous Ubuntu/Debian.

Lire la suite...

samedi, juillet 2 2011

Article : Usine de Développement & Intégration Continue sur Decrypt

decrypt.jpgDecrypt est le blog d'Ysance société qui m’emploie. Je publie sur Decrypt un article sur l'intégration continue. En effet, le développement de projet utilisant des méthodes agiles tend à se généraliser. Si la méthode Scrum est loin d’être plébiscitée, on observe que les différentes équipes piochent dans la boite à outils de l’agilité en fonction de leur besoin, de leur culture et du projet. Parmi ces outils, on trouve l’intégration continue. L’intégration continue est une pratique de génie logiciel ayant pour objectif de vérifier que l’avancement des travaux de développement ne provoque pas de régression.

Lire la suite...

jeudi, avril 14 2011

PHP PDO: insertion SQL multiple en une seul requete

requete_sql_insert.png Un select peut retourner plusieurs résultats généralement sous la forme d'un tableau que php manipule facilement. Un update peut mettre à jour plusieurs enregistrements en un seul appel. Mais pour l'insert si on ne connait pas le nombre de lignes à insérer ... c'est plus compliqué.

Devant cette problématique récurrente, voici une solution élégante pour insérer un nombre variable de champs en une seule requête avec PDO.

Lire la suite...

lundi, novembre 29 2010

Stratégie de tests: Automatisation de tests fonctionnels de non-regression. PHP-unit Selenium et PHP

L'écosystème PHP est assez pauvre en outils de test libres ou gratuits. Le couple Selenium / PHP-unit est souvent cité mais moins souvent utilisé. La mise en place d'une plateforme de test et la mise en œuvre de celle-ci est un exercice délicat. Obtenir une plateforme de test multi-navigateur, des scénarios répétés avec des jeux de données différents, éprouver les cas d'erreurs et générer un rapport de test détaillée sont autant de problématiques détaillées dans ce billet.

Lire la suite...

mardi, janvier 19 2010

Les tests : la pratique pour le Web et le PHP

Devant la réalité des contraintes d'une technologie donnée, le bon sens oblige à mettre en place une stratégie de test adaptée. Dans la genèse de création d'une application web, on fait appel à des types de tests spécifiques, absent de la théorie et à l'inverse des types de tests que l'on penserait incontournables (parce qu'on nous les enseigne en cour ?) sont pourtant écartés.

Lire la suite...

jeudi, janvier 14 2010

Les tests : la théorie

L'activité de codage de logiciels engendre la nécessité de tester ce qui a été écrit. Cette problématique touche tous les langages et toutes les architectures. Si les façons théoriques de tester forment un ensemble cohérent et élégant. La réalité des tests employés peut-être très différente. Non par laxisme, mais par l'inadéquation de la théorie pour une architecture donnée. Inversement, d'autres tests que ceux prévues par la théorie peuvent être nécessaires.

Lire la suite...

vendredi, décembre 18 2009

Atelier de Génie logiciel (AGL) Web PHP et open-source

On reproche historiquement au PHP d'être un langage de script fait pour le bricolage plutôt que pour le développement de système d'information. Pourtant, la démarche d'AGL s'applique à l'écosystème PHP. Les outils disponibles permettent facilement de monter un AGL PHP de bon niveau en intégrant conception UML et modélisation. De plus, l'emploi de logiciel open-source offre la mise en place d'un tel dispositif sans coût de licence.

Lire la suite...

mercredi, décembre 9 2009

Les types d'outils pour un Atelier de génie logiciel (AGL) Web

Un atelier de génie logiciel (AGL) est un ensemble d'outils permettant de produire des programmes de manière industrielle. Les projets Web ne peuvent pas faire l'économie de cette démarche. Ce billet identifie les types d'outils applicables à un AGL web. A partir des types identifiés on proposera des outils permettant la constitution d'un AGL PHP.

Lire la suite...

mardi, décembre 1 2009

Méthode Agile et organisation projet : Scrum partout, innovation ou effet de mode ?

Tout le monde en parle, tout le monde voudrait en faire, la méthode Scrum est à la mode dans les projets.

Lire la suite...

vendredi, novembre 27 2009

installer PDT 2.1.1 sous Eclipse 3.5.1

PDT (PHP Development Tool) est un envirronement de développement open-source. Il s'appuit sur Eclipse. Installer PDT à partir de la version d'Eclipse dans le dêpot d'Ubuntu Karmic (3.5.1+repack~1-0ubuntu3) n'est pas facile. L'installation via les méthodes indiquées sur le site d'Eclipse échoue suite à des problèmes de dépendances non-satisfaites.

Lire la suite...

mardi, octobre 20 2009

Architecture : Le Design Pattern MVC en PHP

On désigne par design pattern (patron de conception) une manière récurrente de résoudre un problème de programmation; généralement via la programmation orienté objet, mais pas toujours. Au fil du temps,certaines conceptions sont devenues récurrentes face à certaines situations et elles ont été documentées, nommées et standardisées. Dans le domaine du web, le Design Pattern Modèle Vue Controleur (MVC) est l'un d'eux.

Lire la suite...

samedi, février 4 2006

Nalis dans le magazine Direction PHP

Retrouvez Nalis dans DirectionPHP. Je suis l'auteur de l'article "Démarche de création d"un Atelier de Génie Logiciel" en php paru ce mois de janvier dans DirectionPHP. Direction|PHP est le premier mensuel francophone dédié aux professionnels de la plate-forme PHP-MySQL, publié en format PDF et distribué électroniquement.

Lire la suite...

jeudi, novembre 17 2005

Démarche de mise en place d'un Atelier de Génie Logiciel

Pour être efficace, un ouvrier doit avoir des outils adaptés à son travail. Il en est de même pour toutes les professions. Les informaticiens n'échappent pas à la règle. Il est possible de développer une application avec le bloc-note de Windows mais ce n'est pas la solution la plus efficace. D'autres applications peuvent être plus efficaces dans ce rôle. Par ailleurs, la combinaison d'applications entre elles peut venir enrichir la qualité et la rapidité du développement. Nalis met en oeuvre une démarche d'Atelier de Génie Logiciel (AGL) pour être efficace et pour apporter des réponses de qualités aux attentes de ces clients. Il est également nécessaire de travailler suivant un processus efficace. D'abord, il est intéressant de présenter les outils, méthodes et principes de la démarche. Ensuite, le propos sera illustré par la présentation de l'AGL Nalis. Enfin, on mesurera les résultats concrets de l'application d'une démarche AGL avec le CMMI (Capability Maturity Model + Integration).

Lire la suite...

dimanche, octobre 16 2005

L'importance de l'organisation projet

Pour encore beaucoup de décideurs, l'organisation projet et la gestion de projet sont des choses qui prennent du temps et qui sont inutiles. Les projets d'applications web n'échappent pas à ces statistiques. En 2004 : 18% des projets informatiques sont des échecs ou sont abandonnés, 53% sont qualifié de mitigés et seulement 29% sont réussis( étude publiée par le Standish Group ). Les investissements perdus inutillement dans ces projets sont énormes. Ces chiffres donnent le vertige. Quelles sont les causes de ces échec ? Quels méthodes peut-on mettre en œuvre pour se prémunir de tels statistiques ?

Lire la suite...