L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL

La page est créée Bruno Adam
 
CONTINUER À LIRE
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
L’AUTOMATISATION DES TESTS
              DANS UNE ORGANISATION AGILE

  Michaël GRANIER
Stéphane BATTEUX

                                            1
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
VSC TECHNOLOGIES EN CHIFFRES

 EFFECTIFS                                 ACTIF EN PERMANENCE
                                                                              3 SITES : Lille, Paris
                                           70% des internautes à Lille        La Défense, Nantes
                                 1 PRA     30% à St Denis

                                                                  BILLETS VENDUS / SECONDE
                                                            29    ODV 2015

                                          + 3500      SERVEURS
  350 COLLABORATEURS   35 ÉQUIPES de
                                                                     DE DONNÉES
  350 PARTENAIRES      développement                         1 To    TRAITÉES / JOUR

GROUPE VSC
 80m voyages vendus en 2016              4,3 M€ volume d’affaire en 2016
 13m téléchargements de l’app            12m Visiteurs uniques
                                         par mois – 60% Mobile & Tablette
                                                                                                       2
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
VSC TECHNOLOGIES A 2 MISSIONS

 Apps        Sites     Sites      Sites                 Apps
                                            Services
Mobiles   e-commerce   Web     e-commerce              Mobiles
                                Transport

                                                                 3
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
ÉVOLUTION DU CONTEXTE AGILE VSCT

                                                                       Généralisation des
                                                                        Feature Teams              2016
                                                                                             Coordination des Feature
                                                                            2015            Teams sur un même produit
                      1ers automates de
                    déploiements applicatifs          2014
                                               Test de mise en place
                             2013               des Feature Teams

     2012
Adoption de Scrum

                                                                                                                        4
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
LES ACTEURS
                      DE L’AUTOMATISATION

         SPÉCIFIER   DÉVELOPPER       VALIDER   EXÉCUTER

2012 - 2013
                     1 automaticien                Testeur

2014 - 2015
                      Crusaders                    Testeur

                                                             5
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
UNE ÉQUIPE POUR L’AUTOMATISATION

    Crusaders                Notre Vision                   Notre Objectif                    Notre Rôle
4 Automaticiens       Rendre les tests disponibles     Fournir la brique « Test » au   Accompagner les Feature
1 PO / Testeur        à l’ensemble des acteurs         chantier de l’automatisation    Teams dans l’automatisation
                                                       de la chaîne de Continuous      des tests
                      •   Humains et automates
                                                       Delivery                        Gérer l’aspect transverse des
                      •   De l’usine à la production
                                                                                       Frameworks d’automatisation

                                                                                                                       6
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
FRAMEWORKS D’AUTOMATISATION WEB

Sélénium VSC
• Sélénium 2 (Webdriver)                        • Tests de bout en bout
• Environnement Java                            • Exécutable sur Firefox, Chrome & PhantomJS
• Partagé entre 9 Feature Teams                 • Déploiement continu grâce à Jenkins

Protractor
• Utilisé par une Feature Team sur le site UK   • Applicatif full AngularJs
  https://uk.voyages-sncf.com/en                • Compatible Full Responsive
• Environnement NodeJs & JavaScript             • Déploiement continu grâce à Jenkins

                                                                                               7
L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
FRAMEWORKS D’AUTOMATISATION MOBILE

                        Espresso - IHM
                    • Directement intégré au projet de l’application Android
                    • Lancement sur émulateur Genymotion & terminaux physiques
                    • Géré par la Feature Team Android avec automaticien dédié
                    • Déploiement quotidien de la nightly-build

  iOS ?                                             SoapUI – Web services
 • UITesting à l’étude dans la Feature Team        • Automatisation du backend mobile
 • Crainte sur le ROI                              • Factorisation du code en Building Blocks
                                                   • Scripting en Groovy

                                                                                                8
CARACTÉRISTIQUES
                DE NOS FRAMEWORKS

             Rapport clair                 Tout environnement

DataDriven                   Preuves de test                Source control

                                                                             9
PROCESSUS DE COORDINATION
                          CRÉATION D’UN TEST AUTO

NEW   TEST MANUEL
 US
      Non automatisable

                                                    10
PROCESSUS DE COORDINATION
                            CRÉATION D’UN TEST AUTOMATISÉ

                                          US AUTOMATISATION
NEW      TEST MANUEL                                           PRIORISATION
 US                                       DONNÉES EXCEL
           Automatisable                                         Sprint Equipe
                                          TEST ALM             Release Selenium

      LIVRAISON CONTINUE                CODE REVIEW           DÉVELOPPEMENT
      sur le DEV Sélénium                croisée avec          sur branche DEV

                                                              DISPONIBLE POUR EXÉCUTION
                                                              de l’usine à la prod
                 VALIDATION TEST AUTO
                      au fil de l’eau                         REPORTING & KPI DISPONIBLES
                                                              Sur QC Monitor

                                                                                            11
LES ACTEURS
                                   DE L’AUTOMATISATION
         SPÉCIFIER               DÉVELOPPER                    VALIDER                 EXÉCUTER

2012 - 2013
                                  1 automaticien                                            Testeur

2014 - 2015
                                   Crusaders                                                Testeur

2016                                 Testeur
         Testeur                                                Testeur                   Testeur
                                                                                            Testeur
                                                                                            Testeur
                                  Développeur
          Crusaders – Formation / Code Review / Maintenance Framework / Gestion Livrables / Veille

                                                                                                      12
LES DIFFICULTÉS RENCONTRÉES

COMMUNICATION
Silotage Feature Team : chacun se concentre
uniquement sur son périmètre applicatif                      FAIBLE ADHÉSION DES
                                                  FEATURE TEAMS AUX FRAMEWORKS
Vision différente de l’automatisation entre les
                                                                   PRÉ-EXISTANTS
développeurs et testeurs
                                                       Créés dans les équipes tests sans
                                                           consultation des besoins dévs
VALIDATION DES TESTS AUTO
                                                              Créés avant l’organisation
Incompréhension du concept
                                                                      en Feature Team
de la validation des tests auto
                                                                  Historique conséquent
Mise à dispo tardive des tests
                                                                     et choix techniques
développés
AUTOMATISATION DANS                                       PRÉSENCE / MAINTENANCE
LES FEATURE TEAMS                                             DU LEGACY RESTANT
Démarrage tardif
Peu priorisé par le Product Owner

                                                                                           13
LES LEÇONS TIRÉES

AMÉLIORER LA COMMUNICATION                                      ÉCOUTER LES DEMANDES
AUTOUR DE L’AUTOMATISATION                                         DES FEATURE TEAMS
Sensibiliser les développeurs                                     Pour faire évoluer l’existant
aux problématiques du test                                Pour démarrer une nouvelle solution
Mettre des KPIs et les communiquer
largement                                                        APPLIQUER LES BONNES
                                                                  PRATIQUES DE L’AGILITÉ
                                                                 POUR L’AUTOMATISATION
                                                                                      DSM
ACCOMPAGNER LES FEATURE
                                                      User Story d’automatisation des tests
TEAMS À L’AUTOMATISATION
Objectifs d’équipe sur l’automatisation                                        Rétrospective
                                                                         Déploiement continu
Rex sur l’importance de l’anticipation des
tests automatisés                                                            Tester au plus tôt

                                                                                                  14
ARA
                               AUTOMATION REST API

     Tests en local                    Tests parallélisés              Tout framework
Chaque testeur peut exécuter      Les tests lancés à distance sont   Les tests sont centralisés
  les tests sur sa machine          répartis sur plusieurs robots             sur ARA

                                                                                                  15
ARA - INTÉGRATION

            HP ALM                                               Rundeck
• Exécute les tests automatisés à                    • Exécute les tests auto pour valider
  la demande des testeurs                              le déploiement des plateformes
• Les résultats et preuves de test
  sont archivés pour la postérité

            Jenkins                                      Elasticsearch + Kibana
• Exécute les tests tous les jours                   • Facilite l’analyse de grandes
• Les tests IHM sont pris en compte                    quantités de tests
  pour la météo applicative

                                                                                             16
UTILISATION DES TESTS AUTOMATISÉS

                    2016
                   •    Lancement des tests automatisés au déploiement
                        des plateformes
2016               •    Génération de données de test
                   •    Exécution et résultats depuis Jenkins

                    2015
2015                •   Exécutions quotidiennes analysées par les
                        Feature Teams
                    •   Validation des instances de prod
                    2014
2014                •   Exécution et résultats des tests Sélénium depuis
                        HP ALM

                    Préhistoire
                    •   Release : Quelques tests de NR avec QTP

                                                                           17
EVOLUTION DU
NOMBRE DE TESTS
                                                                                                 57%
AUTOMATISÉS WEB                                                    46%                        2000/3500

                                                                  1050/2250
           16%                    25%
                                  200/800
          100/600

          2013                    2014                              2015                         2016
• Historique avec QTP   • Passage à Sélénium           • Renforcement de l’équipe   • Intégration des Feature Teams
• Peu maintenu          • Création d’une équipe pour   • Objectif annuel sur le %     dans l’automatisation
                          l’automatisation               d’automatisation           • Renfort d’automaticiens dans
                        • Début de la démarche         • Mise en place de KPI         les Feature Teams
                          DevOps                         disponibles pour tous      • Sprint et intégration continue
                                                                                      pour les tests développés

                                                                                                                       18
EVOLUTION DU
 NOMBRE DE TESTS
AUTOMATISÉS MOBILE                                                                                    33%
                                                                      16%                             850/2550
           6%                        15%                             200/1200
          40/600                     100/650

          2013                       2014                              2015                           2016
• Quelques tests SoapUI   • Un testeur / automaticien    • Refonte du projet              • Renfort automaticien dans la
• En dehors de QC           sur les tests web services     d’automatisation SoapUI          Feature Team Mobile
• Peu maintenu                                           • Mise en place de la solution
                                                           Espresso pour Android
                                                         • Mise en place de KPI
                                                           disponibles pour tous

                                                                                                                           19
LES TESTS
                 NON AUTOMATISABLES

       SUR WEB                    SUR MOBILE

SOIT   1600 TESTS               SOIT   650 TESTS
                                                   20
TOUT N’EST PAS AUTOMATISABLE

En cours
                                   ?
                            A étudier
                                                      ROI très
de POC                                               discutable

Feature Flipping                                    Validation des emails

                    Multicanal     Web sur mobile
 Web responsive                                     Vérification graphique

                   Accessibilité    Asynchrones

                                                                             21
LES VICTOIRES DE L’AUTOMATISATION

                                           1
           2
     RÉACTIVITÉ
                                       VÉLOCITÉ
                                                                                3
                              Validation 1 ferme de production             QUALITÉ
Détection des régressions     3 jours        0,5 jour
en amont
                              Release du legacy                  Plus grande valeur ajoutée des
Sur l’exécution des tests     3 mois       1 mois                testeurs sur la validation manuelle
200 tests IHM en 30 minutes

                   Pour nous, l’automatisation permet de conserver
           un niveau OPTIMUM de qualité dans un contexte agile et exigeant

                                                                                                       22
PROBLÉMATIQUES 2017 – 2018

            DÉSIRS                                  CONTRAINTES

 Réduire le Time To Market                   Tests automatisés parfois instables

 Toujours plus de tests automatisés          Il faut tester sur un environnement iso prod
                                             (et sans bouchon)
 Exécuter et analyser tous les jours
                                             Temps de maintenance important
 Garder la maîtrise sur le budget test
                                             Temps d’analyse important

Comment faire évoluer et enrichir sereinement le patrimoine de test ?

                                                                                            23
UN SYSTÈME EXPERT DE TEST

ANALYSE AUTOMATIQUE                       INDICE DE CONFIANCE
    Cause du test en échec ?               Le livrable est-il acceptable ?

Est-ce une anomalie applicative ?    Le déploiement de la plateforme est-il ok ?

Le problème est-il reproductible ?   Peut-on ouvrir la plateforme aux testeurs ?

 Quelle équipe faut-il prévenir ?

                                                                                   24
EXEMPLE

  RÔLE             SITUATION                         ACTION                     CONCLUSION

                                                     Je regarde                    Si oui cela
               Lorsque je rencontre
En tant que                                       si le même test            invaliderait les causes
                    une erreur
  testeur                                    avec « Carte Paiement VISA»        « API Paiement KO »
              « Une erreur de paiement est
                       survenue »                                          « Configuration plateforme KO »
                                                    fonctionne

                                                                                                       25
C’EST À VOUS

               26
Vous pouvez aussi lire