SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
1
Retour d’expérience JBehave
13/10/15
2
Présentation du GIRC AA
• Structure unique de développement, de recette et de
maintenance du système d'information de la retraite
complémentaire Agirc-Arrco.
• Nous assurons l'exploitation de 100% des fichiers
nationaux, la sécurisation des données de 11,8 millions de
retraités et de 18 millions d'actifs, ainsi que la production
de l'Usine Retraite pour nos groupes membres (Apicil,
Humanis, Klésia)
3
Quelques chiffres
4
Contexte
• Schéma Directeur en 2011-2014
 Orientation du SI vers les systèmes ouverts
 Préférence à l’Open Source dans le choix des outils
 Orientation Agile de l’édition logicielle
 Réduction des coûts
• Principaux axes
 AIX => Linux
 DB2 => PostGreSQL
 Websphere => JBoss
 Cobol => Java (batch)
 …
 ALM => Squash TM / Jira
5
Sommaire
• Behaviour Driven Development
• Framework JBehave
• Cycle de vie des stories
• Notre implémentation (IHM, Batch, WS, ...)
• Intégration JBehave dans Squash TA
• Présentation du résultat
• Travaux en cours
6
BDD (Wikipédia)
• Behavior driven development (ou BDD) est une
méthode agile qui encourage la collaboration entre les
développeurs, les responsables qualités, les intervenants
non-techniques et les entreprises participant à un projet de
logiciel
• Réponse au TDD
 Technique de développement de logiciel qui préconise
d'écrire les tests unitaires avant d'écrire le code source d'un
logiciel. (Wikipédia)
7
Principes BDD
• La participation des parties prenantes dans le
processus par le biais de l'extérieur dans le
développement de logiciels outside-in software
development
• L'utilisation d'exemples pour décrire le comportement de
la demande, ou d'unités de code
• Automatisation de ces exemples pour fournir rapidement
des commentaires et des tests de non-régression
8
Framework JBehave
• JBehave is a framework for Behaviour-Driven
Development (BDD)…, and is intended to make these
practices more accessible and intuitive to newcomers and
experts alike. (Jbehave.org)
• Uniquement un framework, il définit :
 les concepts
STORY : le cas de test
GIVEN, WHEN, THEN : mots clés d’articulation de la story
(“Etant donné que”, “Quand” et “Alors”)
STEP : ses étapes (à implémenter)
 Et la mécanique d’implémentation
9
Principes de mise en œuvre
• Les « stories » sont décrites dans un langage intelligible
• Les steps (mots clés) correspondants sont développés
• Les stories sont configurées et exécutées via
 JUnit (Eclipse, NetBeans, …)
 Maven (Jenkins, Bamboo, …)
 …
• Les résultats sont restitués au format HTML
10
Cycle de vie des stories
• Initiées très tôt dans le processus
 Par nos bureaux d’études (pas les développeurs)
 En phase de spécification détaillée / conception (pas après
le développement)
• Evoluent durant les sprints de développement et les
phases de qualification / recette
• Figées (tag) lors de la livraison de la version finale de
l’application
11
Exemples d’implémentation
• Les « steps » développés correspondent à nos contextes
applicatifs
 Batch
Lancer un batch
Vérifier le code retour
Vérifier le statut
…
 IHM
Lancer une application (Web)
Cliquer sur un bouton
Remplir un formulaire
Changer d’onglet
…
12
Exemples d’implémentation
 Technique
SQL
 Exécuter un script
 Vérifier les données
Fichier
 Déposer un fichier
 Vérifier le contenu du fichier en fin de traitement
WS/TWS/FTF
• Génération et stockage
 d’identifiants
 de dates (vieillissement de données),
 de données aléatoires
• Rejeu quel que soit l’état de la base de données (pas de purge
globale)
13
Exemple de story (Batch)
14
Exemple de story (IHM)
15
Implémentation d’un step
16
Intégration JBehave
Squash
TM
Exécution
d’une itération
de campagne 1 Squash
TA
17
Intégration JBehave
Squash
TM
SVN
Exécution
d’une itération
de campagne 1
Checkout
des
stories
2Squash
TA
18
Intégration JBehave
Squash
TM
SVN
Exécution
d’une itération
de campagne 1
Checkout
des
stories
Workspace TA
Projet -
OTA
Steps
OTA
use
Dépôt et
lancement
2
3
Squash
TA
19
Intégration JBehave
Squash
TM
SVN
Exécution
d’une itération
de campagne 1
Checkout
des
stories
Workspace TA
Projet -
OTA
Steps
OTA
use
Dépôt et
lancement
2
3
Plugin
TA-JBehave
Appel4
Squash
TA
20
Intégration JBehave
Squash
TM
SVN
Exécution
d’une itération
de campagne 1
Checkout
des
stories
Workspace TA
Projet -
OTA
Steps
OTA
use
Dépôt et
lancement
Ihm
Web /
Riche
TP
WS/
JMS
BDD
DB2 /
PGSQL
Batch
Web /
TWS
Files
NFS /
FTF
Exécution des scripts
2
3
5
Plugin
TA-JBehave
Appel4
Squash
TA
21
Intégration JBehave
• Normalisation
 Des projets
Nommage des tests dans Squash TM
Nommage des stories / fichiers d’entrée…
Nommage des applications / batchs / IHM
 Des environnements
Serveurs (URL d’accès)
Base de données (JDBC)
• Champs personnalisés dans les campagnes / itérations
 Version de l’application
 Contexte d’exécution (Qualification, Recette)
22
DÉMO
23
Démo
• Exécution d’un plan de test
24
Démo
• Exécution / Rapport d’exécution
25
Démo
• Rapport d’exécution JBehave
26
Démo
• Rapport de Story valide
27
Démo
• Rapport de Story en erreur
28
Limites
• Pas de lien direct entre les exécutions et les rapports
 Nécessite le passage par le rapport global
• Rapports uniquement gérés par l’historique du job Jenkins
 Problème de purge automatique
• Pas d’intégration des versions Squash TM (milestones)
• Référentiel de tests automatisés
 Pas de gestion de versions
 Outillage trop technique (Eclipse / SVN)
• Pas d’utilisation des jeux de données de Squash TM
29
Réflexions en cours
• Intégration native JBehave
 Développement d’un lanceur JBehave sans script
 Choix de la story dans Squash TM (à la place du script TA)
 Accès direct au rapport de la story à partir de l’exécution (et non le résumé)
 Publication des rapports sur un espace dédié
• Choix du référentiel de tests automatisés
 Accès et mise à jour simplifié (Hors Eclipse) des stories
 Edition accompagnée (auto complétion, colorisation)
 Gestion de versions
• Gestion des jeux de données
 JDD DB vs JDD Squash TM
 Abstraction SQL (insert / select)
 Evolutions du modèle
• Ajout de nouveaux steps / simplification
30
Questions ?

Más contenido relacionado

La actualidad más candente

20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continueLeClubQualiteLogicielle
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de testLeClubQualiteLogicielle
 
20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOpsLeClubQualiteLogicielle
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de testLeClubQualiteLogicielle
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologieLeClubQualiteLogicielle
 
20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)LeClubQualiteLogicielle
 
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyseLeClubQualiteLogicielle
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...LeClubQualiteLogicielle
 
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI NextLeClubQualiteLogicielle
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéSylvain Leroy
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebChristophe Rochefolle
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17Marc Hage Chahine
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatiséJérémie Campari
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logicieldanaobrest
 

La actualidad más candente (20)

20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
20110125 04 - Présentation Squash
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation Squash
 
20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
 
20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)20100608 2 - TNR automatisés (Generali)
20100608 2 - TNR automatisés (Generali)
 
ATDD Visuel
ATDD VisuelATDD Visuel
ATDD Visuel
 
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
20090113 03 - Exigences et mise en oeuvre du processus mesure et analyse
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
20120612 05 - Etude de maturité d'une organisation de tests avec TPI Next
 
Qu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualitéQu'est ce qu'un logiciel de qualité
Qu'est ce qu'un logiciel de qualité
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Qualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et WebQualité Logiciel - Outils Open Source pour Java et Web
Qualité Logiciel - Outils Open Source pour Java et Web
 
Futur tunis
Futur tunisFutur tunis
Futur tunis
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 

Similar a 20151013 - Agirc arrco : Behavior driven development

[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MAClementine D.
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924Gregory Boissinot
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptxMEDOBEST1
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...PimpMySharePoint
 
[Webinaire] Nuxeo Platform 5.8 : les nouveautés
[Webinaire] Nuxeo Platform 5.8 : les nouveautés[Webinaire] Nuxeo Platform 5.8 : les nouveautés
[Webinaire] Nuxeo Platform 5.8 : les nouveautésNuxeo
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing systemLeClubQualiteLogicielle
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Paris Salesforce Developer Group
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?pprem
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKAmico Fabien
 

Similar a 20151013 - Agirc arrco : Behavior driven development (20)

[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Octo Maven.pdf
Octo Maven.pdfOcto Maven.pdf
Octo Maven.pdf
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
Dossier de competences MA
Dossier de competences MADossier de competences MA
Dossier de competences MA
 
JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924JENKINS_OWF11_OSDC_PARIS20110924
JENKINS_OWF11_OSDC_PARIS20110924
 
CI-Jenkins.pptx
CI-Jenkins.pptxCI-Jenkins.pptx
CI-Jenkins.pptx
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
 
[Webinaire] Nuxeo Platform 5.8 : les nouveautés
[Webinaire] Nuxeo Platform 5.8 : les nouveautés[Webinaire] Nuxeo Platform 5.8 : les nouveautés
[Webinaire] Nuxeo Platform 5.8 : les nouveautés
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014Versionning et travail en équipe avec Salesforce - 27/11/2014
Versionning et travail en équipe avec Salesforce - 27/11/2014
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
CloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiKCloudUnit le PaaS par TreeptiK
CloudUnit le PaaS par TreeptiK
 

Más de LeClubQualiteLogicielle

20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practicesLeClubQualiteLogicielle
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle LeClubQualiteLogicielle
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impactLeClubQualiteLogicielle
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...LeClubQualiteLogicielle
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...LeClubQualiteLogicielle
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013LeClubQualiteLogicielle
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBMLeClubQualiteLogicielle
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...LeClubQualiteLogicielle
 
20130523 02 - BREDForge foundations - Gense et perspectives
20130523 02 - BREDForge foundations -  Gense et perspectives20130523 02 - BREDForge foundations -  Gense et perspectives
20130523 02 - BREDForge foundations - Gense et perspectivesLeClubQualiteLogicielle
 
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...LeClubQualiteLogicielle
 
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...LeClubQualiteLogicielle
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...LeClubQualiteLogicielle
 
20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)LeClubQualiteLogicielle
 
20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilité20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilitéLeClubQualiteLogicielle
 
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider SquoringLeClubQualiteLogicielle
 

Más de LeClubQualiteLogicielle (17)

20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
20130523 02 - BREDForge foundations - Gense et perspectives
20130523 02 - BREDForge foundations -  Gense et perspectives20130523 02 - BREDForge foundations -  Gense et perspectives
20130523 02 - BREDForge foundations - Gense et perspectives
 
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
 
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...20120124 02 - Enjeux et défis de l'integration de composants open source dans...
20120124 02 - Enjeux et défis de l'integration de composants open source dans...
 
20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)20120124 06 - Groupe de travail RH (Henix)
20120124 06 - Groupe de travail RH (Henix)
 
20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilité20120124 03 - Human Centric Solutions - Accessibilité et mobilité
20120124 03 - Human Centric Solutions - Accessibilité et mobilité
 
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
20120612 07 - Portail qualimétrie mis en oeuvre chez Schneider Squoring
 

20151013 - Agirc arrco : Behavior driven development

  • 2. 2 Présentation du GIRC AA • Structure unique de développement, de recette et de maintenance du système d'information de la retraite complémentaire Agirc-Arrco. • Nous assurons l'exploitation de 100% des fichiers nationaux, la sécurisation des données de 11,8 millions de retraités et de 18 millions d'actifs, ainsi que la production de l'Usine Retraite pour nos groupes membres (Apicil, Humanis, Klésia)
  • 4. 4 Contexte • Schéma Directeur en 2011-2014  Orientation du SI vers les systèmes ouverts  Préférence à l’Open Source dans le choix des outils  Orientation Agile de l’édition logicielle  Réduction des coûts • Principaux axes  AIX => Linux  DB2 => PostGreSQL  Websphere => JBoss  Cobol => Java (batch)  …  ALM => Squash TM / Jira
  • 5. 5 Sommaire • Behaviour Driven Development • Framework JBehave • Cycle de vie des stories • Notre implémentation (IHM, Batch, WS, ...) • Intégration JBehave dans Squash TA • Présentation du résultat • Travaux en cours
  • 6. 6 BDD (Wikipédia) • Behavior driven development (ou BDD) est une méthode agile qui encourage la collaboration entre les développeurs, les responsables qualités, les intervenants non-techniques et les entreprises participant à un projet de logiciel • Réponse au TDD  Technique de développement de logiciel qui préconise d'écrire les tests unitaires avant d'écrire le code source d'un logiciel. (Wikipédia)
  • 7. 7 Principes BDD • La participation des parties prenantes dans le processus par le biais de l'extérieur dans le développement de logiciels outside-in software development • L'utilisation d'exemples pour décrire le comportement de la demande, ou d'unités de code • Automatisation de ces exemples pour fournir rapidement des commentaires et des tests de non-régression
  • 8. 8 Framework JBehave • JBehave is a framework for Behaviour-Driven Development (BDD)…, and is intended to make these practices more accessible and intuitive to newcomers and experts alike. (Jbehave.org) • Uniquement un framework, il définit :  les concepts STORY : le cas de test GIVEN, WHEN, THEN : mots clés d’articulation de la story (“Etant donné que”, “Quand” et “Alors”) STEP : ses étapes (à implémenter)  Et la mécanique d’implémentation
  • 9. 9 Principes de mise en œuvre • Les « stories » sont décrites dans un langage intelligible • Les steps (mots clés) correspondants sont développés • Les stories sont configurées et exécutées via  JUnit (Eclipse, NetBeans, …)  Maven (Jenkins, Bamboo, …)  … • Les résultats sont restitués au format HTML
  • 10. 10 Cycle de vie des stories • Initiées très tôt dans le processus  Par nos bureaux d’études (pas les développeurs)  En phase de spécification détaillée / conception (pas après le développement) • Evoluent durant les sprints de développement et les phases de qualification / recette • Figées (tag) lors de la livraison de la version finale de l’application
  • 11. 11 Exemples d’implémentation • Les « steps » développés correspondent à nos contextes applicatifs  Batch Lancer un batch Vérifier le code retour Vérifier le statut …  IHM Lancer une application (Web) Cliquer sur un bouton Remplir un formulaire Changer d’onglet …
  • 12. 12 Exemples d’implémentation  Technique SQL  Exécuter un script  Vérifier les données Fichier  Déposer un fichier  Vérifier le contenu du fichier en fin de traitement WS/TWS/FTF • Génération et stockage  d’identifiants  de dates (vieillissement de données),  de données aléatoires • Rejeu quel que soit l’état de la base de données (pas de purge globale)
  • 18. 18 Intégration JBehave Squash TM SVN Exécution d’une itération de campagne 1 Checkout des stories Workspace TA Projet - OTA Steps OTA use Dépôt et lancement 2 3 Squash TA
  • 19. 19 Intégration JBehave Squash TM SVN Exécution d’une itération de campagne 1 Checkout des stories Workspace TA Projet - OTA Steps OTA use Dépôt et lancement 2 3 Plugin TA-JBehave Appel4 Squash TA
  • 20. 20 Intégration JBehave Squash TM SVN Exécution d’une itération de campagne 1 Checkout des stories Workspace TA Projet - OTA Steps OTA use Dépôt et lancement Ihm Web / Riche TP WS/ JMS BDD DB2 / PGSQL Batch Web / TWS Files NFS / FTF Exécution des scripts 2 3 5 Plugin TA-JBehave Appel4 Squash TA
  • 21. 21 Intégration JBehave • Normalisation  Des projets Nommage des tests dans Squash TM Nommage des stories / fichiers d’entrée… Nommage des applications / batchs / IHM  Des environnements Serveurs (URL d’accès) Base de données (JDBC) • Champs personnalisés dans les campagnes / itérations  Version de l’application  Contexte d’exécution (Qualification, Recette)
  • 24. 24 Démo • Exécution / Rapport d’exécution
  • 26. 26 Démo • Rapport de Story valide
  • 27. 27 Démo • Rapport de Story en erreur
  • 28. 28 Limites • Pas de lien direct entre les exécutions et les rapports  Nécessite le passage par le rapport global • Rapports uniquement gérés par l’historique du job Jenkins  Problème de purge automatique • Pas d’intégration des versions Squash TM (milestones) • Référentiel de tests automatisés  Pas de gestion de versions  Outillage trop technique (Eclipse / SVN) • Pas d’utilisation des jeux de données de Squash TM
  • 29. 29 Réflexions en cours • Intégration native JBehave  Développement d’un lanceur JBehave sans script  Choix de la story dans Squash TM (à la place du script TA)  Accès direct au rapport de la story à partir de l’exécution (et non le résumé)  Publication des rapports sur un espace dédié • Choix du référentiel de tests automatisés  Accès et mise à jour simplifié (Hors Eclipse) des stories  Edition accompagnée (auto complétion, colorisation)  Gestion de versions • Gestion des jeux de données  JDD DB vs JDD Squash TM  Abstraction SQL (insert / select)  Evolutions du modèle • Ajout de nouveaux steps / simplification