Comment automatiser les tests sur tout le cycle projet pour assurer la qualité des logiciels. En route vers le Continuous Deployment

Documents pareils
Concilier Agilité, Exigences et Continuous Delivery : Retour d expérience PagesJaunes

HISTOIRE D UNE DIGITAL FACTORY

Les 10 pratiques pour adopter une démarche DevOps efficace

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Profils d installation sous Drupal 7

Les Bonnes PRATIQUES DU TEST LOGICIEL

Offre Référentiel d échange

Les offres de Xebia : Agilité, Big Data, Cloud, DevOps, Java & Friends, Mobilité et Web Oriented Architecture.

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Développement Agile des organisations et des hommes

Cloud Computing Enjeux stratégiques & transformationnels. Franck Besnard, Principal / Strategist, VMware

Réussir ses Déploiements Applicatifs

Novembre Regard sur service desk

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

Vérifier la qualité de vos applications logicielle de manière continue

LA GOUVERNANCE, OU COMMENT RAPPROCHER LES ÉQUIPES DE DÉVELOPPEMENT ET D INFRASTRUCTURE

Comment optimiser les tests avec une démarche d automatisation simplifiée

XAGA. Les XAGApps : Des Progiciels de Gestion et de Gouvernance à la carte pour managers

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

L offré Cloud ét la pérformancé dés DSI : un modé lé d innovation a réproduiré pour lés dé ploiéménts logiciéls

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Test de performance en intégration continue dans un cloud de type PaaS

Testing and Acceptance Management industrialiser

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Industrialisation de la chaîne de production : validation, intégration, tests

Vers l urbanisation agile d un client mobile ios/android natif, économique, flexible et pérenne

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

OFFRES DE STAGE 2014 / 2015

DevOps en pratique. Philippe Bauquel,

Christophe Dubos Architecte Infrastructure et Datacenter Microsoft France

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting)

Agilitéet qualité logicielle: une mutation enmarche

Annexe : La Programmation Informatique

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

Scrum/XP adapté au BI/DW

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Une réponse adaptée aux besoins des entreprises de négoce.

Projet de Java Enterprise Edition

Usine de développement : étude comparative

CLOUD PRIVÉ GENERALI - ACCOMPAGNEMENT AU CHANGEMENT - DU «POC» À LA RÉALITÉ. Alain ROY Generali Logo Société

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Les méthodes itératives. Hugues MEUNIER

From 0 To Hero DEVOPS. de la vision à l implémentation. Cellenza. #1 Nov 2014

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

Sommaire. Problématique client et gains attendus Réponse IBM à la problématique du client Démarche de mise en œuvre Les leçons du projet

Serena Software. Damien Terrien Solution Architect

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

W4 - Workflow La base des applications agiles

Eclipse Process Framework et Telelogic Harmony/ITSW

La pratique de la gestion des services. Mettre en œuvre le processus Dev-Ops à partir des processus ITIL et d une méthodologie projet

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Méthode Agile de 3 ème génération J-P Vickoff

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

L automatisation des processus métier au cœur de la relation client

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

GESTION DE L AUTOMATISATION DES TESTS DES SYSTÉMES ERP EN UTILISANT DES OUTILS COREJET. Tetiana KUSHCHYNSKA

Environnements et Outils de Développement Cours 1 Introduction

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

DÉVELOPPER DES APPLICATIONS WEB SÉCURISÉES

Marie-Christine Spengler

AGILITE DIGITAL RESPONSIVE DESIGN PERSONNALISATION OPTIMISATION DES PROCESSUS INDICATEURS DE ROI EFFICIENCE TRANSFORMATION HR ENGINE DATA

Convergence, Communication Unifiée, Nouvelle ère logicielle Microsoft 2007: quelles perspectives d adoption pour l entreprise?

Olivier Deheurles Ingénieur conception et développement.net

Présentation aux entreprises du numérique

De la criticité de la haute dispo pour améliorer le service à l'usager : le Cg44 prend la vague de l agilité

Mobilité et Soutien Logistique des SDIS Vers plus d efficience et d agilité

Opportunités et enjeux à l heure du Cloud, du Big Data, de la mobilité et du Social Business

1/15. Jean Bernard CRAMPES Daniel VIELLE

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Cloud Transformation in Orange Focus on Cloud infra (OpenWatt) Présentation au CRiP le 22 octobre 2014

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

l E R P s a n s l i m i t e

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

LES TESTS CHEZ AXA FRANCE QUALIFICATION DES SOLUTIONS INFORMATIQUES (QSI) JFTL 14 avril 2015

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

+ DISCOVER " BENCHMARK DU SECTEUR, DE LA CONCURRENCE, + PLAN MÉTHODOLOGIE " STRATÉGIE COMMERCIALE, STRATÉGIE DE MARQUE, MARKETING,

WEBSPHERE & RATIONAL. Jacques Rage

Vers une meilleure gouvernance des plateformes d ingénierie

Améliorez et industrialisez vos feedback produit

Techniques de tests sur mobiles et automatisation avec TMAP Mobile - Orange

Sommaire. Présentation OXIA. Le déroulement d un projet d infogérance. L organisation du centre de service. La production dans un centre de service

Développer avec les technologies ESRI. ESRI Developer Network (EDN) Gaëtan LAVENU ESRI France Jérémie MAJEROWICZ ESRI France

Du Datacenter au Cloud Quels challenges? Quelles solutions? Christophe Dubos Architecte Microsoft

Maîtrise d ouvrage agile

Vers une IT as a service

Cassandra et Spark pour gérer la musique On-line

ISTEX-SNU. ISTEX en quelques clics dans votre portail documentaire. Séminaire technique ISTEX 18 mars 2015

Gildas Le Nadan. Thomas Clavier

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

L ÉCHANGE DE DONNÉES TEMPS RÉEL

L'amélioration des performances économiques des territoires : méthodologie des cartes de performance. Application à la liaison Grenoble Sisteron

Transcription:

Comment automatiser les tests sur tout le cycle projet pour assurer la qualité des logiciels En route vers le Continuous Deployment 1

Plan de la présentation 1. Contexte 2. Le Continuous Deployment et l automatisation sont liés 3. Automatisation des tests unitaires et d intégration : La qualité au bout des développements 4. L automatisation des tests système : prendre la place de l utilisateur 5. Intégrer les tests et le Continuous Deployment 2

Contexte Forte pression pour faire baisser le Time To Market Les géants du Web ont popularisé l importance du logiciel comme avantage concurrentiel Etre présent très tôt sur un marché pour occuper le terrain Mettre souvent en production pour diffuser de nouvelles fonctionnalités Avoir des retour rapides de la part des utilisateurs Développement de l Agilité pour être plus réactif Extension des pratiques DevOps pour fluidifier le processus de mise en production Dans ce contexte, Continuous Delivery et Continuous Deployment sont des pratique fortement recommandées 3

LE CONTINUOUS DEPLOYMENT ET L AUTOMATISATION SONT LIÉS 4

Le Continuous Deployment est un processus automatique de contrôle, de livraison et de déploiement en production A l origine était l Intégration Continue (CI) destinée aux développeurs Continuous Delivery = Continuous Integration + tests fonctionnels automatiques Continuous Deployment = Continuous Delivery + déploiement automatique en production Il permet de: Accélérer le processus de MEP Sécuriser la MEP Rendre reproductible un cycle complet Avoir des retours rapides sur la qualité Il faut avoir confiance Tester! Le Continuous Deployment et l automatisation sont liés Que sont le Continuous Delivery et le Continuous Deployment? Git Push / SVN Commit Déploiement sur un serveur de recette Tests de production automatiques Continuous Deployment Continuous Integration Jenkins Compilation + Tests unitaires + Test d intégraiton Tests de non régression automatiques Continuous Delivery Analyse statique + Vérification des indicateurs qualité Déploiement en production 5

Le Continuous Deployment et l automatisation sont liés Qu est ce qui incite à automatiser les tests en Continuous Deployment? Réduction des coûts unitaires d exécution Amélioration de la qualité Coûts de mise en place Tests plus fréquents Processus de test plus fluide Suivie de production Réutilisation des scénarios Coûts récurrents Contrôle plate-forme de test Exécution Résultats à analyser (10 à 20%) KO / évolutions KO / anomalies KO / environnement 6

Tests d acceptation Tests système Tests d intégration AUTOMATISATION DES TESTS UNITAIRES ET D INTÉGRATION : LA QUALITÉ AU BOUT DES DÉVELOPPEMENTS Tests unitaires 7

Automatisation des tests unitaires et d intégration Bonnes pratiques pour de bons tests unitaires / d intégration Objectif: permettre aux développeurs d avoir un retour rapide sur la qualité du code Comment: Utiliser un framework de tests unitaires Ne pas se contenter des nominaux Cas passants Cas aux limites Cas d erreur Maîtriser les jeux de données Isoler un composant / une liaison pour le tester (bouchons) Avantages Permet de tester des cas de figures spécifiques Améliore la stabilité des tests et de l application Jeux de données / communications externes maîtrisés Inconvénients Peut être long à réaliser / à maintenir Demande des compétences 8

Automatisation des tests unitaires et d intégration Mesurer l efficacité des tests Pour contribuer efficacement à la qualité de l application, la couverture des tests doit être importante Fixer un seuil minimum Suivre le taux de couverture à chaque livraison On peut utiliser des taux de couverture différenciés 9

Automatisation des tests unitaires et d intégration Mesurer la qualité des développements L analyse statique du code permet également de limiter le risque d anomalies Risque de NullPointerException La dette technique est un indicateur De maturité du code De risque d anomalies futures 10

Automatisation des tests unitaires et d intégration Mettre en œuvre des tests unitaires et d intégration ne va pas de soi Difficultés Solutions / pistes Une fois mature, le Test Driven Development peut permettre d aller plus loin 11

L AUTOMATISATION DES TESTS SYSTÈME : PRENDRE LA PLACE DE L UTILISATEUR 12

L automatisation des tests système Automatiser nécessite une stratégie adaptée Eligibilité à l automatisation d un projet par type One shot MCE > 1 ans Eligibilité à l automatisation d un cas de test Exécution unique Pas / peu d évolutions prévues Long / complexe en manuel Agile > 4 sprints Exécution fréquente / TNR Expérience utilisateur Répétitif avec données diverses Il faut automatiser un test éligible au plus tôt après la première exécution manuelle pour maximiser le ROI Fonctionnalité critique 13

Tests IHM Web Tests mobiles L automatisation des tests système Automatiser nécessite des outils spécifiques Tests services Rest / SOAP Framework de test Tests batchs SeleniumRobot 14

Lire le Syllabus CFTL niveau fondation 6.3! L automatisation des tests système Bien choisir et utiliser ses outils de test Impliquer les équipes dans l utilisation des nouveaux outils Faire participer toute l équipe à la réflexion Adapter les outils aux besoins spécifiques de l équipe Le testeur va passer plus de temps à concevoir et analyser qu à exécuter les tests Si possible dédier une personne à l automatisation Maintenance des outils et scripts En communication étroite avec les développeurs et les testeurs Ne pas chercher à généraliser tout de suite Automatisation sur application pilote Retour d'expérience et adaptation des pratiques Généralisation sur le périmètre choisi 15

L automatisation des tests système Pourquoi utiliser un framework: exemple avec SeleniumRobot Facilite l écriture et l exécution des tests Limitation des configurations Fiabilisation de l API Selenium Met en œuvre la méthode du langage naturel avec Gherkin / Cucumber SeleniumRobot Limite les coûts de maintenance Réutilisation des briques de tests dans plusieurs scénarios Scenario 1 Page d accueil Accès Catalogue Scenario 2 Test mobile Web et App Test desktop Accès Catalogue Accès catégorie 1 Accès produit A Ajout au panier Accès Panier Catalogue Accès catégorie 1 Accès Catalogue Accès catégorie 2 Accès Panier SeleniumGrid / Cloud / Local Accès Panier Accès catégorie 2 16

Réduire les coûts ADAPTER LA STRATEGIE AU PUBLIC / CONTEXTE - Ne pas viser l exhaustivité - Sélectionner les plates-formes les plus pertinentes ROI L automatisation des tests système Les bonnes pratiques maximisent le ROI Maximiser les gains PARALLELISER LES TESTS - Multiplier les environnement de test et les automates Coût des environnements - Avoir un retour plus rapide sur l état du logiciel - Faire plus de tests différents en temps limité Temps d analyse! OPTIMISER LA CREATION ET LA MAINTENANCE - Ne pas multiplier les outils - Capitaliser sur les compétences - Utiliser un framework de test - Etablir une collaboration entre testeurs et développeurs - Gérer l automatisation comme tout développement logiciel MULTIPLIER LES USAGES - Valider l application - Vérifier les déploiements - Surveiller les environnements - Valider sur des environnements différents MULTIPLIER LES SCENARIOS DERIVES - Cas d erreur - Scénarios nominaux - Scénarios aux limites 17

L automatisation des tests système L automatisation n est pas une promenade de santé Faire en sorte que les tests automatiques soient exploités et ne soient pas obsolètes au bout de quelques mois 1. Ne pas mettre la charrue avant les boeufs 2. Convaincre son équipe et les responsables 3. Justifier les coûts par des gains prévisionnels 4. Repenser l organisation et les pratiques 5. Choisir l outillage en impliquant les utilisateurs 6. Définir une stratégie d automatisation 7. Réaliser un POC 8. Retour d expérience et correction 9. Impliquer tous les acteurs (formation et information, REX) 10. Généraliser sur un projet 11. Gérer la maintenance 12. Mesurer les avancements et la qualité 13. Suivre les résultats et analyser les erreurs 14. Généraliser sur plusieurs projets 18

INTÉGRER LES TESTS ET LE CONTINUOUS DEPLOYMENT 19

Ordonnanceur de jobs Intégrer les tests et le Continuous Deployment Jenkins joue un rôle central en intégration continue Un job peut être Une construction Un déploiement Des tests Tout cela à la fois Plusieurs jobs peuvent être enchaînés 20

Intégrer les tests et le Continuous Deployment Orchestrer les tests avec le pipeline de build Jenkins Le pipeline de build est une bonne pratique pour le Continuous Deployment C est un enchaînement d étapes Meilleure lisibilité par rapport à des jobs classiques enchaînés Possibilité de paralléliser les étapes Possibilité de stocker le pipeline en gestion de configuration Les phases de tests sont intégrées 21

Intégrer les tests et le Continuous Deployment Un pipeline de build peut embarquer tous les contrôles qualité 22

CONCLUSION 23

Mettre en place du Continuous Delivery ou du Continuous Deployment réclame entre autres Jenkins Une grande maîtrise technique Des équipes motivées et formées Git Push / SVN Commit Compilation + Tests unitaires + Test d intégraiton Conclusion Analyse statique + Vérification des indicateurs qualité Et surtout beaucoup de tests automatisés! Déploiement sur un serveur de recette Tests de non régression automatiques Déploiement en production Tests de production automatiques 24/02/2017 24

Questions? bertrand.hecquet@infotel.com 25