SlideShare a Scribd company logo
1 of 50
Download to read offline
Tests Agiles


                                   Rencontre agile Grenoble
                                           Jeudi 19 Mai 2011




Nicolas PELLOUX-PRAYER – Amaris       Johan Martinsson - Indépendant       Sylvain FRANCOIS - Kalistic
Email : npellouxprayer@gmail.com      Email : martinsson.johan@gmail.com   Email : sylvain.francois@kalistick.fr
Twitter: @npelloux                    Twitter: @johan_alps                 Twitter: @syllant



                                                                                                 www.clubagile.org
Evénements


             26 et 27 mai 2011 – Paris

             conf.agile-france.org




                                         www.clubagile.org
Evénements




www.breizhcamp.org

                     www.clubagile.org
Evénements


             7 juin 2011 – Lyon

             lyon.clubagile.org




                                  www.clubagile.org
Plan
•   Historique
•   Coût d'un bug
•   Approche classique
•   Catégorisation des tests
•   Apport des principes Agiles
•   Pourquoi faut-il soigner sa pyramide de tests
•   Indicateurs de qualité
•   « Tester juste »
•   Spécificités d’un projet agile
                                             www.clubagile.org
Un peu d’histoire…
1968 => Génie logiciel




                         www.clubagile.org
• Tests décorrélés

• Rôle de la QA

• Centré sur la doc


            www.clubagile.org
Tests décorrélés




                   www.clubagile.org
Rôle de la QA
• Dernier rempart
• Tensions avec le dev




                         www.clubagile.org
Documentation



  • Lourd

  • Utile ?




                www.clubagile.org
Coût de détection




        1.Détection d’un bug
        2.Impact
        3.Résolution
                               www.clubagile.org
Agile testing quadrant




                         www.clubagile.org
Soutien de l’équipe
• les tests de gauche sont là
  pour aider l’équipe !
• Q1 aide à construire la
  qualité interne du logiciel
• Q2 définit les features que le
  client souhaite et la qualité
  externe
• Fournissent un feedback
  rapide et un guide aux
  développeurs

                                   www.clubagile.org
Critique du produit
• Q3 permet de savoir si le
  produit est efficace et
  adapté.
• Q4 permet d’évaluer la
  performance, robustesse
  et sécurité.
• Les tests de critique
  produit pourront fournir
  des entrées pour les
  carrés de gauche.

                              www.clubagile.org
Approche agile




                 www.clubagile.org
Individus et interaction
• Responsabiliser l’équipe
• Tout le monde teste




                                      www.clubagile.org
Alléger les procédures


•   Doc => Checklist
•   Priorisation des tests
•   Esprit critique
•   Cf. Exploratory testing



                                      www.clubagile.org
Adaptation au changement
• Tester au plus tôt
  – TDD


• Tester plus vite
  – Automatisation des tests


• Tester plus souvent
  – Intégration Continue
                                     www.clubagile.org
Attention au « Done – Done »


Développement
      ET
    Tests !




                                   www.clubagile.org
Références

• Elisabeth Hendrickson
• Lisa Crispin
• Cem Kaner




                              www.clubagile.org
Indicateurs de qualité
                     pour les tests
                unitaires et fonctionnels


Sylvain FRANCOIS
Directeur R&D


                                            www.clubagile.org
• Start-up lyonnaise (2007)
• Plateforme SaaS
  – Qualité des développement
  – Optimisation de la phase de test / validation
• Forte activité R&D
  – Développement orienté Agile
  – Vraie activité de recherche


                                                    www.clubagile.org
Tester, c’est bien.
Bien tester, c’est mieux.


     « Tester juste »


      Indicateurs de qualité
             des tests


                               www.clubagile.org
Sommaire

• La vision « Tester Juste »

• … appliquée aux tests unitaires

• … appliquée aux tests fonctionnels

• Spécificités pour un projet Agile



                                       www.clubagile.org
La vision
« Tester Juste »




                   www.clubagile.org
Tester coûte cher
 Coût    Tests manuels
cumulé   Tests automatisés




                                      ROI




                                         Temps

           … ROI souvent difficile à mesurer
                                                 www.clubagile.org
Le coût de l’automatisation
• Conception / mise en œuvre
    – Profils experts
•   Analyse des résultats
•   Licences produits / TCO
•   Coûts matériels (à la demande sur le Cloud)
•   Maintenance des tests
•   Délais d’exécution

                                                  www.clubagile.org
La question : que tester ?
• Souvent difficile de tout tester
• Quelques critères de choix :
  – Ancienneté du code
  – Intérêt / criticité pour le client
  – Risques techniques
  – Résultats des tests précédents
  – Charge de test / Planning


                                         www.clubagile.org
Collaboration développeur - testeur

•   Pierre d’achoppement récurrente
•   Objectifs parfois différents
•   Vision code / vision fonctionnelle
•   Outils différents

                       (idem pour développeur – exploitant)



                                                   www.clubagile.org
Le « Tester Juste »
   appliqué aux
Tests Unitaires (TU)



                       www.clubagile.org
Précisions sur les tests unitaires
• Test isolé d’une méthode de code
• Utilisation de frameworks de TU
  – JUnit, TestNG, MSTest, NUnit, …
• Utilisation de bouchons (« mocks »)
• Automatisables
• TDD (Test Driven Development)


                                           www.clubagile.org
Inconvénients du TDD

• Niveau d’acceptation des TU dans les projets

• Toute méthode mérite-t-elle d’être testée ?

• Difficulté de tester certains traitements

• Refactoring du code testé

• Pertinence des TU ?
                                              www.clubagile.org
Mesurer la couverture des TU
• Outils de coverage
  – Enregistrent l’exécution
  – Résultat : taux de code exécuté (%)
  – Exemples :
     • Java : JaCoCo, Cobertura, EMMA, …
     • C# : MSCoverage, NCover, dotCover, …
                                              Couverture

                                              100%

• Pertinence du taux de couverture ?
• Coût pour atteindre les 100%
                                                                    Effort

                                                           www.clubagile.org
Proposition : cibler ses TU
• Prioriser les TU selon :
  – Le risque fonctionnel / métier
  – Le risque technique
  – L’effort de test
• Mesurer le niveau de test
  – Mais de manière pragmatique



                                        www.clubagile.org
Le TestRelevancyIndex (TRI) [1/2]
• Index créé par Kalistick + CETIC (labo de recherche)
• Qualifie l’intérêt de chaque traitement à être testé
   – méthode, classe, composant, …
• Basé sur des métriques unitaires
   – Complexité, paramètres, variables, dépendances, bugs, …
• … et sur le risque métier
• Ajuste l’objectif de couverture



                                                               www.clubagile.org
Le TestRelevancyIndex (TRI) [2/2]
 Couverture des TU pondérée par le TRI




                                         www.clubagile.org
Le « Tester Juste »
  appliqué aux
Tests Fonctionnels



                      www.clubagile.org
Notre vision
• Privilégier les tests sur le code modifié
  – Les nouvelles fonctionnalités
  – Les risques de régression
• Vérifier ce qu’ont couvert les tests
  – Après leur exécution (coverage)
• Enrichir le référentiel / plan de test
• Faciliter la collaboration développeur - testeur

                                              www.clubagile.org
Identifier les modifications du code
Code modifié




                   Modifications non tracées
                                                  Régressions


                                                 Nouveautés,
                   Modifications tracées
                                                 Corrections             Niveau
                                                                           de
                                                                         risque
Code non modifié




                   Bugs non critiques           Bugs dormants




                   RAS                         « Old good code »



                                                                   www.clubagile.org
Questions cibles
• Qu’est-ce qui a changé entre 2 versions ?
  – Consolider sa stratégie de test


• Les modifications ont-elles été testées ?
  – Eviter les régressions


• Quels scénarios de tests doivent être joués ?
  – Plan d’action concret pour les testeurs
                                              www.clubagile.org
Le testeur est mon ami
• Objectifs :
  – Indicateurs exploitables par le testeur
  – Améliorer la collaboration testeur – développeur


• Le défi : remonter du code au testeur
  – Modéliser les fonctionnalités de l’application
  – Réutiliser le référentiel de test
     • HP Quality Center, TestLink, …

                                                 www.clubagile.org
Exemple de rendu [1/3]




Couverture globale des tests fonctionnels et unitaires



                                                         www.clubagile.org
Exemple de rendu [2/3]




   Couverture par fonctionnalités
                                    www.clubagile.org
Exemple de rendu [3/3]



                                         Fonctionnalités
                                           impactées




  Fiche User Story (dans l’outil JIRA)


                                                  www.clubagile.org
Les spécificités pour
  un projet Agile




                        www.clubagile.org
Rôle développeur - testeur
• Dans la littérature Agile : un seul profil
   – Dans la réalité ?


• Le testeur Agile est plus proche du code
   – Plus à même d’analyser les résultats de couverture




                                                www.clubagile.org
Risque d’instabilité plus élevé
• Adaptabilité aux besoins
  – Mise à jour des User Stories
  – Mise à jour des cas de test
• Techniques de développement à risques
  – Refactoring
  – Qualité du code !


     Besoin accru d’automatisation des tests
                                          www.clubagile.org
Processus de livraison agile
• Rythme de livraison plus soutenu
  – Notion de « Continuous Delivery »
  – Besoin de sécuriser la livraison


• Indicateurs de DONE
  – Inclure la couverture des tests fonctionnels ?



                                                 www.clubagile.org
http://blog.kalistick.com

http://twitter.com/kalistick

http://www.kalistick.com

mailto:sylvain.francois@kalistick.fr




                                       www.clubagile.org
Et vous ?




            www.clubagile.org

More Related Content

What's hot

DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011Henri Gomez
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
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
 
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
 
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
 
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
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Sylvain Leroy
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logicielsSylvain Leroy
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Elapse Technologies
 
Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Gilles Brieux
 
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
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...LeClubQualiteLogicielle
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
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
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsCloudNetCare
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testingjubehr
 

What's hot (19)

20110125 04 - Présentation Squash
20110125 04 - Présentation Squash20110125 04 - Présentation Squash
20110125 04 - Présentation Squash
 
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
DevOps - Retour d'expérience - GenevaJug du 30 Aout 2011
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
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
 
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
 
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)
 
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é
 
Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)Introduction à la qualité logicielle (1/5)
Introduction à la qualité logicielle (1/5)
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Industrialisation des développements logiciels
Industrialisation des développements logicielsIndustrialisation des développements logiciels
Industrialisation des développements logiciels
 
Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29Retour d'expérience TAA - 2011/03/29
Retour d'expérience TAA - 2011/03/29
 
Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?Le test dans un cycle agile. Comment faire ?
Le test dans un cycle agile. Comment faire ?
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
20120612 02 - Automatisation des tests avec squash TA en environnement bancai...
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
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
 
Avis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests LogicielsAvis d'expert : Les Tests Logiciels
Avis d'expert : Les Tests Logiciels
 
Présentation Agile Testing
Présentation Agile TestingPrésentation Agile Testing
Présentation Agile Testing
 

Viewers also liked

soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structuréesoft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structuréesoft-shake.ch
 
Chouette! Encore un bug! Agile Tour 2012
Chouette! Encore un bug! Agile Tour 2012Chouette! Encore un bug! Agile Tour 2012
Chouette! Encore un bug! Agile Tour 2012AgileCoach.net
 
Entender premis
Entender premisEntender premis
Entender premisvidelgo
 
Le Louvre en images
Le Louvre en imagesLe Louvre en images
Le Louvre en imagesSchool
 
Evolution du Crédit Impôt Recherche
Evolution du Crédit Impôt RechercheEvolution du Crédit Impôt Recherche
Evolution du Crédit Impôt RechercheQualiméditerranée
 
Ley basica-de-la-reforma-agraria
Ley basica-de-la-reforma-agrariaLey basica-de-la-reforma-agraria
Ley basica-de-la-reforma-agrariaSave Solutions
 
Orgullo de ser_venezolano
Orgullo de ser_venezolanoOrgullo de ser_venezolano
Orgullo de ser_venezolanoZuleima Brito
 
Antecedentes (practica del_higado)[1]
Antecedentes (practica del_higado)[1]Antecedentes (practica del_higado)[1]
Antecedentes (practica del_higado)[1]Olinsita Badillo
 
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)Fiat
 
Propuesta seminario
Propuesta seminarioPropuesta seminario
Propuesta seminarioAidymar
 
Presentación2
Presentación2Presentación2
Presentación21B35
 

Viewers also liked (20)

soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structuréesoft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
soft-shake.ch - Agilité et Testing: de l'intérêt d'une démarche structurée
 
Chouette! Encore un bug! Agile Tour 2012
Chouette! Encore un bug! Agile Tour 2012Chouette! Encore un bug! Agile Tour 2012
Chouette! Encore un bug! Agile Tour 2012
 
Entender premis
Entender premisEntender premis
Entender premis
 
Katalog szklarni ogrodowych Juliana 2011 e-millennium.eu
Katalog szklarni ogrodowych Juliana 2011 e-millennium.eu Katalog szklarni ogrodowych Juliana 2011 e-millennium.eu
Katalog szklarni ogrodowych Juliana 2011 e-millennium.eu
 
Sincropool
SincropoolSincropool
Sincropool
 
Les feuilles mortes
Les feuilles mortesLes feuilles mortes
Les feuilles mortes
 
Le Louvre en images
Le Louvre en imagesLe Louvre en images
Le Louvre en images
 
Evolution du Crédit Impôt Recherche
Evolution du Crédit Impôt RechercheEvolution du Crédit Impôt Recherche
Evolution du Crédit Impôt Recherche
 
Prueba
PruebaPrueba
Prueba
 
Asado argentino
Asado argentinoAsado argentino
Asado argentino
 
Ley basica-de-la-reforma-agraria
Ley basica-de-la-reforma-agrariaLey basica-de-la-reforma-agraria
Ley basica-de-la-reforma-agraria
 
Orgullo de ser_venezolano
Orgullo de ser_venezolanoOrgullo de ser_venezolano
Orgullo de ser_venezolano
 
Ley de-hidrocarburos
Ley de-hidrocarburosLey de-hidrocarburos
Ley de-hidrocarburos
 
Les 14 1
Les 14 1Les 14 1
Les 14 1
 
Antecedentes (practica del_higado)[1]
Antecedentes (practica del_higado)[1]Antecedentes (practica del_higado)[1]
Antecedentes (practica del_higado)[1]
 
Guia access 2007
Guia access 2007Guia access 2007
Guia access 2007
 
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)
VOICI LES SECRETS DE L'ÉCO-CONDUITE (2010, FR)
 
Propuesta seminario
Propuesta seminarioPropuesta seminario
Propuesta seminario
 
Arroces
ArrocesArroces
Arroces
 
Presentación2
Presentación2Presentación2
Presentación2
 

Similar to 20110519 cara tests_agiles_grenoble_all

2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'ObjetFabrice Bellingard
 
Le test dans un cycle agile comment faire ?
Le test dans un cycle agile comment faire ?Le test dans un cycle agile comment faire ?
Le test dans un cycle agile comment faire ?Aurelie ROBERT
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...Agile Montréal
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyMarc Hage Chahine
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !Lucian Precup
 
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...Association pour l'Agilité en Auvergne
 
Developement logiciel: comment livrer de la qualite ?
Developement logiciel: comment livrer  de la qualite ?Developement logiciel: comment livrer  de la qualite ?
Developement logiciel: comment livrer de la qualite ?Innobec
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéZenika
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
Field research and interaction design: course #6
Field research and interaction design: course #6Field research and interaction design: course #6
Field research and interaction design: course #6nicolas nova
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgileAgile Tour 2009 Québec
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?CGI Québec Formation
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptFatiMa243348
 
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
 

Similar to 20110519 cara tests_agiles_grenoble_all (20)

2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet2009-01-29 Squale aux Jeudis de l'Objet
2009-01-29 Squale aux Jeudis de l'Objet
 
Le test dans un cycle agile comment faire ?
Le test dans un cycle agile comment faire ?Le test dans un cycle agile comment faire ?
Le test dans un cycle agile comment faire ?
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
 
XStudio - Présentation Télécom Valley
XStudio - Présentation Télécom ValleyXStudio - Présentation Télécom Valley
XStudio - Présentation Télécom Valley
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
C'est quoi un bon dev ?
C'est quoi un bon dev ?C'est quoi un bon dev ?
C'est quoi un bon dev ?
 
Méthodes agiles & Scrum
Méthodes agiles & ScrumMéthodes agiles & Scrum
Méthodes agiles & Scrum
 
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...
Atclt 2012 - Large Scale Scrum - Assurez la polycompétence dans vos équipes -...
 
Developement logiciel: comment livrer de la qualite ?
Developement logiciel: comment livrer  de la qualite ?Developement logiciel: comment livrer  de la qualite ?
Developement logiciel: comment livrer de la qualite ?
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Matinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilitéMatinale Agile Wake Up #4 : les tests et l'agilité
Matinale Agile Wake Up #4 : les tests et l'agilité
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
Agile Tour Lille 2008
Agile Tour Lille 2008Agile Tour Lille 2008
Agile Tour Lille 2008
 
L'Agilité chez GEE Montréal
L'Agilité chez GEE MontréalL'Agilité chez GEE Montréal
L'Agilité chez GEE Montréal
 
Field research and interaction design: course #6
Field research and interaction design: course #6Field research and interaction design: course #6
Field research and interaction design: course #6
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
Hands on Sonar
Hands on SonarHands on Sonar
Hands on Sonar
 
Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?Tester du legacy code, mission impossible ?
Tester du legacy code, mission impossible ?
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
 
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
 

More from CARA_Lyon

Kanban un tour d'horizon
Kanban un tour d'horizonKanban un tour d'horizon
Kanban un tour d'horizonCARA_Lyon
 
Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...CARA_Lyon
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéCARA_Lyon
 
Test du futur avec Spock
Test du futur avec SpockTest du futur avec Spock
Test du futur avec SpockCARA_Lyon
 
Agile Sans Frontières
Agile Sans FrontièresAgile Sans Frontières
Agile Sans FrontièresCARA_Lyon
 
Building complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and FlexBuilding complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and FlexCARA_Lyon
 
Les outils de l'ergonome agile
Les outils de l'ergonome agileLes outils de l'ergonome agile
Les outils de l'ergonome agileCARA_Lyon
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourCARA_Lyon
 
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 

More from CARA_Lyon (11)

Kanban un tour d'horizon
Kanban un tour d'horizonKanban un tour d'horizon
Kanban un tour d'horizon
 
Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...Smartphone : et l'informatique devint mobile...
Smartphone : et l'informatique devint mobile...
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilité
 
Test du futur avec Spock
Test du futur avec SpockTest du futur avec Spock
Test du futur avec Spock
 
Agile Sans Frontières
Agile Sans FrontièresAgile Sans Frontières
Agile Sans Frontières
 
Building complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and FlexBuilding complex and modular RIAs with OSGi and Flex
Building complex and modular RIAs with OSGi and Flex
 
Les outils de l'ergonome agile
Les outils de l'ergonome agileLes outils de l'ergonome agile
Les outils de l'ergonome agile
 
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jourComment j'ai mis ma suite de tests au régime en 5 minutes par jour
Comment j'ai mis ma suite de tests au régime en 5 minutes par jour
 
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
Fable du Product Owner et de la Maîtrise d'Ouvrage (MOA)
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 

20110519 cara tests_agiles_grenoble_all

  • 1. Tests Agiles Rencontre agile Grenoble Jeudi 19 Mai 2011 Nicolas PELLOUX-PRAYER – Amaris Johan Martinsson - Indépendant Sylvain FRANCOIS - Kalistic Email : npellouxprayer@gmail.com Email : martinsson.johan@gmail.com Email : sylvain.francois@kalistick.fr Twitter: @npelloux Twitter: @johan_alps Twitter: @syllant www.clubagile.org
  • 2. Evénements 26 et 27 mai 2011 – Paris conf.agile-france.org www.clubagile.org
  • 3. Evénements www.breizhcamp.org www.clubagile.org
  • 4. Evénements 7 juin 2011 – Lyon lyon.clubagile.org www.clubagile.org
  • 5. Plan • Historique • Coût d'un bug • Approche classique • Catégorisation des tests • Apport des principes Agiles • Pourquoi faut-il soigner sa pyramide de tests • Indicateurs de qualité • « Tester juste » • Spécificités d’un projet agile www.clubagile.org
  • 6. Un peu d’histoire… 1968 => Génie logiciel www.clubagile.org
  • 7. • Tests décorrélés • Rôle de la QA • Centré sur la doc www.clubagile.org
  • 8. Tests décorrélés www.clubagile.org
  • 9. Rôle de la QA • Dernier rempart • Tensions avec le dev www.clubagile.org
  • 10. Documentation • Lourd • Utile ? www.clubagile.org
  • 11. Coût de détection 1.Détection d’un bug 2.Impact 3.Résolution www.clubagile.org
  • 12. Agile testing quadrant www.clubagile.org
  • 13. Soutien de l’équipe • les tests de gauche sont là pour aider l’équipe ! • Q1 aide à construire la qualité interne du logiciel • Q2 définit les features que le client souhaite et la qualité externe • Fournissent un feedback rapide et un guide aux développeurs www.clubagile.org
  • 14. Critique du produit • Q3 permet de savoir si le produit est efficace et adapté. • Q4 permet d’évaluer la performance, robustesse et sécurité. • Les tests de critique produit pourront fournir des entrées pour les carrés de gauche. www.clubagile.org
  • 15. Approche agile www.clubagile.org
  • 16. Individus et interaction • Responsabiliser l’équipe • Tout le monde teste www.clubagile.org
  • 17. Alléger les procédures • Doc => Checklist • Priorisation des tests • Esprit critique • Cf. Exploratory testing www.clubagile.org
  • 18. Adaptation au changement • Tester au plus tôt – TDD • Tester plus vite – Automatisation des tests • Tester plus souvent – Intégration Continue www.clubagile.org
  • 19. Attention au « Done – Done » Développement ET Tests ! www.clubagile.org
  • 20. Références • Elisabeth Hendrickson • Lisa Crispin • Cem Kaner www.clubagile.org
  • 21. Indicateurs de qualité pour les tests unitaires et fonctionnels Sylvain FRANCOIS Directeur R&D www.clubagile.org
  • 22. • Start-up lyonnaise (2007) • Plateforme SaaS – Qualité des développement – Optimisation de la phase de test / validation • Forte activité R&D – Développement orienté Agile – Vraie activité de recherche www.clubagile.org
  • 23. Tester, c’est bien. Bien tester, c’est mieux. « Tester juste » Indicateurs de qualité des tests www.clubagile.org
  • 24. Sommaire • La vision « Tester Juste » • … appliquée aux tests unitaires • … appliquée aux tests fonctionnels • Spécificités pour un projet Agile www.clubagile.org
  • 25. La vision « Tester Juste » www.clubagile.org
  • 26. Tester coûte cher Coût Tests manuels cumulé Tests automatisés ROI Temps … ROI souvent difficile à mesurer www.clubagile.org
  • 27. Le coût de l’automatisation • Conception / mise en œuvre – Profils experts • Analyse des résultats • Licences produits / TCO • Coûts matériels (à la demande sur le Cloud) • Maintenance des tests • Délais d’exécution www.clubagile.org
  • 28. La question : que tester ? • Souvent difficile de tout tester • Quelques critères de choix : – Ancienneté du code – Intérêt / criticité pour le client – Risques techniques – Résultats des tests précédents – Charge de test / Planning www.clubagile.org
  • 29. Collaboration développeur - testeur • Pierre d’achoppement récurrente • Objectifs parfois différents • Vision code / vision fonctionnelle • Outils différents (idem pour développeur – exploitant) www.clubagile.org
  • 30. Le « Tester Juste » appliqué aux Tests Unitaires (TU) www.clubagile.org
  • 31. Précisions sur les tests unitaires • Test isolé d’une méthode de code • Utilisation de frameworks de TU – JUnit, TestNG, MSTest, NUnit, … • Utilisation de bouchons (« mocks ») • Automatisables • TDD (Test Driven Development) www.clubagile.org
  • 32. Inconvénients du TDD • Niveau d’acceptation des TU dans les projets • Toute méthode mérite-t-elle d’être testée ? • Difficulté de tester certains traitements • Refactoring du code testé • Pertinence des TU ? www.clubagile.org
  • 33. Mesurer la couverture des TU • Outils de coverage – Enregistrent l’exécution – Résultat : taux de code exécuté (%) – Exemples : • Java : JaCoCo, Cobertura, EMMA, … • C# : MSCoverage, NCover, dotCover, … Couverture 100% • Pertinence du taux de couverture ? • Coût pour atteindre les 100% Effort www.clubagile.org
  • 34. Proposition : cibler ses TU • Prioriser les TU selon : – Le risque fonctionnel / métier – Le risque technique – L’effort de test • Mesurer le niveau de test – Mais de manière pragmatique www.clubagile.org
  • 35. Le TestRelevancyIndex (TRI) [1/2] • Index créé par Kalistick + CETIC (labo de recherche) • Qualifie l’intérêt de chaque traitement à être testé – méthode, classe, composant, … • Basé sur des métriques unitaires – Complexité, paramètres, variables, dépendances, bugs, … • … et sur le risque métier • Ajuste l’objectif de couverture www.clubagile.org
  • 36. Le TestRelevancyIndex (TRI) [2/2] Couverture des TU pondérée par le TRI www.clubagile.org
  • 37. Le « Tester Juste » appliqué aux Tests Fonctionnels www.clubagile.org
  • 38. Notre vision • Privilégier les tests sur le code modifié – Les nouvelles fonctionnalités – Les risques de régression • Vérifier ce qu’ont couvert les tests – Après leur exécution (coverage) • Enrichir le référentiel / plan de test • Faciliter la collaboration développeur - testeur www.clubagile.org
  • 39. Identifier les modifications du code Code modifié Modifications non tracées Régressions Nouveautés, Modifications tracées Corrections Niveau de risque Code non modifié Bugs non critiques Bugs dormants RAS « Old good code » www.clubagile.org
  • 40. Questions cibles • Qu’est-ce qui a changé entre 2 versions ? – Consolider sa stratégie de test • Les modifications ont-elles été testées ? – Eviter les régressions • Quels scénarios de tests doivent être joués ? – Plan d’action concret pour les testeurs www.clubagile.org
  • 41. Le testeur est mon ami • Objectifs : – Indicateurs exploitables par le testeur – Améliorer la collaboration testeur – développeur • Le défi : remonter du code au testeur – Modéliser les fonctionnalités de l’application – Réutiliser le référentiel de test • HP Quality Center, TestLink, … www.clubagile.org
  • 42. Exemple de rendu [1/3] Couverture globale des tests fonctionnels et unitaires www.clubagile.org
  • 43. Exemple de rendu [2/3] Couverture par fonctionnalités www.clubagile.org
  • 44. Exemple de rendu [3/3] Fonctionnalités impactées Fiche User Story (dans l’outil JIRA) www.clubagile.org
  • 45. Les spécificités pour un projet Agile www.clubagile.org
  • 46. Rôle développeur - testeur • Dans la littérature Agile : un seul profil – Dans la réalité ? • Le testeur Agile est plus proche du code – Plus à même d’analyser les résultats de couverture www.clubagile.org
  • 47. Risque d’instabilité plus élevé • Adaptabilité aux besoins – Mise à jour des User Stories – Mise à jour des cas de test • Techniques de développement à risques – Refactoring – Qualité du code ! Besoin accru d’automatisation des tests www.clubagile.org
  • 48. Processus de livraison agile • Rythme de livraison plus soutenu – Notion de « Continuous Delivery » – Besoin de sécuriser la livraison • Indicateurs de DONE – Inclure la couverture des tests fonctionnels ? www.clubagile.org
  • 50. Et vous ? www.clubagile.org