L'AUTOMATISATION DES TESTS DANS UNE ORGANISATION AGILE - Michaël GRANIER Stéphane BATTEUX - CFTL
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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
VSC TECHNOLOGIES A 2 MISSIONS Apps Sites Sites Sites Apps Services Mobiles e-commerce Web e-commerce Mobiles Transport 3
É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
LES ACTEURS DE L’AUTOMATISATION SPÉCIFIER DÉVELOPPER VALIDER EXÉCUTER 2012 - 2013 1 automaticien Testeur 2014 - 2015 Crusaders Testeur 5
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
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
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