JFTL2015 - Tester une application mobile de A à Z

637 vues

Publié le

Test des applications mobiles

Cédric Gautier / Hien-Thuan Quach - PagesJaunes

La présentation "Test des applications mobiles" a pour but de présenter les différentes étapes pour qualifier une application mobile depuis la fin de sa phase de conception fonctionnelle (conception recette, et l’écriture des tests dans le code par l’équipe de développement) à sa mise en ligne en passant par sa validation.

Nous aborderons chacune des étapes en évoquant la stratégie (couverture des combinaisons terminaux/OS), les méthodes, les outils utilisés (dev, déploiement, supervision, sniffing) ainsi que les différents écueils déjà rencontrés et les solutions mises en place ( intégration Continue, Equipe Agile, Outillage) ou à venir ( vers un mode Continuous Delivery, Agilité, feature flipping, mise en place de train de releases)

Nous évoquerons donc le test au niveau de la phase de développement, les différentes typologies de tests (unitaires, Acceptance, fonctionnels (Manuels & Automatisés), performance, tests graphiques et ergonomie, tests 2à2, tests dos à dos, tests en extérieur), la non-régression et leur implémentation dans notre organisation.

La présentation ne se veut pas didactique mais au contraire sera réalisée sur des échanges interactifs qui permettront d'aborder les problématiques rencontrées par le public sur les applications mobiles comme le

cycle de vie d'une application (mise à jour, compatibilité, débranchement), la gestion des versions par store interne, la gestion d’un éco-système hétérogène avec de nombreux SDK externes embarqués dans le produit, le suivi de la qualité (crashlogs, audience)

La performance Back Office et applicative sera aussi évoquée ainsi que les impacts de l’application sur le terminal (Batterie, mémoire, géolocalisation) et les méthodes utilisées pour tester ces conditions aux limites. Pour finir comment gérer la mise en ligne selon les stores et les délais de validation (itération, déploiement progressif et suivi de crashes, beta-testing)

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
637
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
38
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • [CGA]
  • [HTQ]
  • [CGA / HTQ]
  • [HTQ]

    Qui êtes vous ? QA ? Dev ? Autres ?
    Mobile ?
    Que venez vous chercher ?
  • [CGA]
  • [CGA]
  • [HTQ]
  • [HTQ]
  • [CGA]

    Quasiment 80 version iOS (PJ/resto/iPAd)
    WP8
    Palm/BBY/
    Et aussi des applis hybrides et exotiques comme les GPS automobiles et Mobilier Urbain
  • [HTQ]

    Pourquoi l’agile ?
    Passer à l’agilité & éviter l’effet tunnel sans feedback / ajustement
    Comme beaucoup
    Le test est au plus tôt dans le cycle, insister sur la qualité des relectures à l’init.
  • [HTQ]
  • [CGA]
  • [CGA]
  • [CGA]
    Diversité des OS
    Diversité des terminaux et tailles d’écran
    - Ce que nous faisons et ce que nous n’assurons pas
  • [CGA]
    Définir un teléphone bas de gamme pour que les dev le teste au moins un peu
    3 terminaux reference
  • [CGA]
  • [CGA]
    Anecdotes :
    SDK externe : URM
    Géoloc : refacto de notre algo – bug technique / erreur le long de greenwich
    Embarqué = intégration dans un environnement « privé »
    batterie : SDK Beacon
    ipad : crash multu-touch/ reprise de session
    perf : démarrage en tiemout visible en edge dégradé
    tests mise à jour : delivery en mode new – tests de maj BDD/sauvegarde des infos
    Soumission : retour d’expérience +

  • [CGA]
    - Quelques techniques de tests
  • [CGA]
    - Le proxy nous permet plein de choses intéressantes en autonomie
  • [CGA]
  • [CGA]
  • [CGA]
  • [CGA]
  • [CGA]
    Gestion des objets
    Impact du refactoring de code
    tag unique sur les objets
    mutulisation des tests, des mots-clés, des cartes d’objet
  • [CGA]
  • [CGA]
    À gauche les temps de réponses moyens : comment valoriser la moyenne en test pre-prod ??? impossible
    à droite, les temps de réponses sur 2 mobiles : bon /pas bon
    Bon 85% des gens ont leurs accès dans des délais très bons
    Pas bon : ouverture dégradé pour 70% des users
  • [CGA]
    - 3 éléments de comparaison
    2 points d’infos : les perf par mobile
    là ou l’équipe de dev peut jouer :
    Perf app
    Perf serveur
    Utiliser pour une simulation de LR à 20
  • [CGA]
    Validation de soumission : pas de patch possible!
    Comment assurer le produit final vs des features teams :
    Automatisation et CD
    Tests transverses pour le mannuel (Release management)
    ouverture Beta-Test/crowd testing
  • [HTQ]
  • [HTQ]

    Generaux
    Build
    Analyse statique
    Tests
    Deploiement
    Performance

    Lesquels vous connaissiez ? Utilisez ?
  • [HTQ]
  • [HTQ]
  • [HTQ]

    Choix des outils
    FB Tweaks : Open Source, mais limitations en mode release
    Spécificités & complexités : ex Bend PJ
    Que Ffer ? UI / Métier ?

    Binaire / N-aire
    Simple au début

    Superviser
    Clés en prod

    Conseils
    Itérer


  • [HTQ]
  • [HTQ]

    Alpha sur store interne
    Beta sur store officiel
  • [HTQ]
  • [HTQ]
  • [HTQ]

    Branches
    Avantage : effets modifs de code vus rapidement
    Anecdote - Parse (FB) : tout le monde bosse sur Master
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]

    Exemple de Facebook :
    Qui a un iPhone ?
    Qui a FB ?
    Mises à jour auto ?
    Quelle fréquence de MAJ ?
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [HTQ]
  • [CGA]
  • [HTQ]
  • [HTQ]

    Qu’est-ce que c’est
    Origine
  • [HTQ]

    Kent Beck
    Programmeur américain
    1961

    Extreme Programming Explained
    1999 avec la parution du livre
    Mais mise au point dans les 90s
    Programmation au centre du projet
    Pratiques de développement poussées à l’extrême
  • [HTQ]
  • [HTQ]
  • [HTQ]

    C’est toujours le plus facile à enlever dans le rush
  • [HTQ]
  • [CGA]
  • [CGA]
  • [CGA]
    Pourquoi on y pense :
    Vision produit vs Evolution
    Tracabilité totale
    Prise de décision sur la chaîne
    Mesure de la qualité en permanence, visible par feature
  • [CGA / HTQ]
    Tester en mobile c’est du fonctionnel et le comportement mobile (cf stratégie)
  • [CGA]
  • JFTL2015 - Tester une application mobile de A à Z

    1. 1. COMMENT VALIDER UNE APPLICATION MOBILE DE A À Z « DU TEST MANUEL AU CONTINUOUS DEPLOYMENT » Cédric GAUTIER Hien-Thuan QUACH
    2. 2. VALIDER UNE APPLI MOBILE DE A À Z • Introduction • Qui sommes-nous ? • Déroulement du tutoriel • Un REX, juste un REX • Objectifs • Le contexte PagesJaunes • PagesJaunes & le mobile : une histoire et des chiffres • Les applications PagesJaunes • PagesJaunes & l’agilité : une évolution logique • Les tests au cœur de la stratégie • Stratégie de tests • Typologie de tests & types de campagnes • Techniques de tests • Risques dans la validation mobile • Automatisation • En production AGENDA @cega18 #JFTLValAppMobile @htquach
    3. 3. VALIDER UNE APPLI MOBILE DE A À Z • De l’importance de bien s’outiller • Un nuage de tools • Feature flipping & AB Testing • Alpha & Beta-testing • Le Continuous Deployment • Ouvertures • Test Driven Development • Gestion Des Exigences • Conclusion • Le doggy bag • Questions AGENDA @cega18 #JFTLValAppMobile @htquach
    4. 4. VALIDER UNE APPLI MOBILE DE A À Z • Introduction • Qui sommes-nous ? • Déroulement du tutoriel • Un REX, juste un REX • Objectifs • Le contexte PagesJaunes • PagesJaunes & le mobile : une histoire et des chiffres • PagesJaunes & l’agilité : une évolution logique • Les tests au cœur de la stratégie • Stratégie de tests • Typologie de tests & types de campagnes • Techniques de tests • Risques dans la validation mobile • Automatisation • En production AGENDA @cega18 #JFTLValAppMobile @htquach
    5. 5. VALIDER UNE APPLI MOBILE DE A À Z Cédric Gautier Responsable Validation Mobile « » Hien-Thuan Quach Responsable Développements Mobile «Agiliste convaincu, software craftsman à ses heures perdues » QUI SOMMES NOUS ? @cega18 #JFTLValAppMobile @htquach
    6. 6. VALIDER UNE APPLI MOBILE DE A À Z ET VOUS ? @cega18 #JFTLValAppMobile @htquach
    7. 7. VALIDER UNE APPLI MOBILE DE A À Z DEROULEMENT @cega18 #JFTLValAppMobile @htquach • Partie 1 : 1h 10min • Pause : 10min • Partie 2 : 1h 10 min • Questions : 30 min
    8. 8. VALIDER UNE APPLI MOBILE DE A À Z DEROULEMENT @cega18 #JFTLValAppMobile @htquach
    9. 9. VALIDER UNE APPLI MOBILE DE A À Z UN REX, JUSTE UN REX Notre vision Notre expérience de 5 ans Nous ne détenons pas la vérité @cega18 #JFTLValAppMobile @htquach
    10. 10. VALIDER UNE APPLI MOBILE DE A À Z • Partager notre vision de l’ensemble des éléments nécessaires à la validation d’une application • Présenter & échanger sur les pistes d’amélioration pour mieux garantir la qualité OBJECTIFS @cega18 #JFTLValAppMobile @htquach
    11. 11. VALIDER UNE APPLI MOBILE DE A À Z • Introduction • Qui sommes-nous ? • Déroulement du tutoriel • Un REX, juste un REX • Objectifs • Le contexte PagesJaunes • PagesJaunes & le mobile : une histoire et des chiffres • PagesJaunes & l’agilité : une évolution logique • Les tests au cœur de la stratégie • Stratégie de tests • Typologie de tests & types de campagnes • Techniques de tests • Risques dans la validation mobile • Automatisation • En production AGENDA @cega18 #JFTLValAppMobile @htquach
    12. 12. Visites mensuelles Visiteurs Taux de crashes Nombre de versions 8M + 0,24M 5,7M + 0,17M 0,39% 80 6,4M + 0,99M 4,8M + 0,7M 0,19% 50 16,7 M 13,6M N/A 60 VALIDER UNE APPLI MOBILE DE A À Z UNE HISTOIRE ET DES CHIFFRES @cega18 #JFTLValAppMobile @htquach
    13. 13. VALIDER UNE APPLI MOBILE DE A À Z AGILITE : UNE EVOLUTION LOGIQUE @cega18 #JFTLValAppMobile @htquach
    14. 14. VALIDER UNE APPLI MOBILE DE A À Z AGILITE : LES FEATURES TEAMS @cega18 #JFTLValAppMobile @htquach • Description • Cross-techno • Autonomes • Spécialisées • 9 personnes • Objectifs • Gagner en cohérence • Gagner en efficacité • Réduire la taille des équipes • Mutualiser un maximum
    15. 15. VALIDER UNE APPLI MOBILE DE A À Z AGILITE : UNE EVOLUTION LOGIQUE @cega18 #JFTLValAppMobile @htquach • Difficultés • Traçabilité du fonctionnel au travers d’une US qui trace une évolution • Assurer la couverture • Produire des indicateurs fiables sur la couverture de tests et de résultats • Automatisation au fil des sprints • Agilité – Tester au fil des sprints • Une US part en DEV si les tests sont prêts (Manuel + corps des tests automatisés) • Développement = Conception/DEV/TU/Automatisation
    16. 16. VALIDER UNE APPLI MOBILE DE A À Z • Introduction • Qui sommes-nous ? • Déroulement du tutoriel • Un REX, juste un REX • Objectifs • Le contexte PagesJaunes • PagesJaunes & le mobile : une histoire et des chiffres • PagesJaunes & l’agilité : une évolution logique • Les tests au cœur de la stratégie • Stratégie de tests • Typologie de tests & types de campagnes • Techniques de tests • Risques dans la validation mobile • Automatisation • En production AGENDA @cega18 #JFTLValAppMobile @htquach
    17. 17. Environnement de tests OS Version OS ConstructeurRésolution Browsers iOS (3, 4, 5, 6, 7, 8) Android (2.3, 4.2, 4.3, 4.4, 4.5, 5.0) + Surcouches constructeur/opérateur VALIDER UNE APPLI MOBILE DE A À Z STRATEGIE DE TESTS @cega18 #JFTLValAppMobile @htquach
    18. 18. • Comment choisir les cibles – Terminal/OS/Version/browser • Utiliser ses statistiques d’audience • Utiliser ses logs serveurs (parfois plus complet) • Gérer ses compatibilités (ArmV6, API, OS version) – Maintien si traffic < 5%? • Matrice combinatoire des cibles – Terminal/OS/Version/browser • Compléter avec sa charge et son budget • créer à un tableau à 3 ou 4 entrées pour faire ses choix • Prendre en compte la performance des terminaux ( Top, Middle, Low-cost) • couverture des surcouches Operateur/constructeur? VALIDER UNE APPLI MOBILE DE A À Z STRATEGIE DE TESTS @cega18 #JFTLValAppMobile @htquach
    19. 19. VALIDER UNE APPLI MOBILE DE A À Z TYPOLOGIE DES TESTS & TYPE DE CAMPAGNE @cega18 #JFTLValAppMobile @htquach
    20. 20. VALIDER UNE APPLI MOBILE DE A À Z TYPOLOGIE DES TESTS & TYPE DE CAMPAGNE @cega18 #JFTLValAppMobile @htquach Type de campagne Non-Régression Evolution Mise à jour Performance : applicative et Back-Office (Temps de réponse) Appli et serveur Automatique Manuelle Exploratoire - Recherche de crashes 2 à 2 / Dos à dos Campagne de soumission au Store Typologie des tests Tests Unitaires Tests fonctionnels (Acceptance, Détaillé, Limite, Erreur, Mise à jour) Tests techniques : (proxy/logs) Mise à jour de SDK interne, refactoring Tests terrains (mobilité : réseau et géoloc) Tests intégration au terminal (fonctionnement nominal du téléphone après utilisation de mon appli : géoloc/batterie/mémoire, interruptions, multi-touch, Photo/agenda/contacts) Tests environnement (Multi-terminaux, multiOS, claviers…) Tests Statistiques (Proxy et/ou logs) Monkey Tests Ergo Design/visuel Accessibilité
    21. 21. • Remontée d’anomalie • Screenshots commentés • Logs serveurs/applicatifs • crash logs (serveur ou synchro mobile) • Tester Instabug ? Skitch? • Gérer ses tests terrains • Référentiel de tests? • Ouverture des services à l’extérieur • Gérer ses tests exploratoires • Parcours non tracés, anomalies? VALIDER UNE APPLI MOBILE DE A À Z TECHNIQUE DE TESTS @cega18 #JFTLValAppMobile @htquach
    22. 22. • Proxy Wifi • Objectifs • Sniffer les requêtes HTTP envoyées par l’application grâce à un ordinateur équipé d’une carte Wifi • Analyse de traffic/validation de CI de manière indépendante • Comment ? • Sur le téléphone, Paramétrage avancés de votre Wifi, activer et paramétrer un proxy manuel (IP + Port du PC) • Lancer un proxy sur PC pour visualiser le traffic (privoxy/fiddler/burp/Charles…) • Simulation de géolocalisation • Facile en web (plugin ou paramétrage de la webapp) • Applicatif : Application disponible sur Android, plus compliqué sur iOS) VALIDER UNE APPLI MOBILE DE A À Z TECHNIQUE DE TESTS @cega18 #JFTLValAppMobile @htquach
    23. 23. Proxy WiFI + Brique DummyNet • Scénario « classique » automatisé • HP/LRT/LRC/F D/FDC Dynatrace IC / PC IP firewall web Appareils • Proxy WIFI • Application de profils réseau • EDGE • 3G • WiFi • Réseaux dégradés Serveur reporting • Mise en place d’un rapport automatisé sur les mesures définies • Application mobile marquée par Dynatrace VALIDER UNE APPLI MOBILE DE A À Z TECHNIQUE DE PERFS @cega18 #JFTLValAppMobile @htquach
    24. 24. 18/09/2014 • Automatisation Mobile 24 Proxy + Analyseur • Fichiers SuperXML • PDM contextualisé par TF • Lancement de l’analyseur • Lancement des tests AT-Internet CIMOB Services PJ + WSSTAT Serveur WEB IC / PC T1000 web Appareils • Collecte des requêtes • At-internet • Ws-Stat • Technique • Analyse des requêtes CBI Serveur reporting VALIDER UNE APPLI MOBILE DE A À Z TECHNIQUE DE STATS & REQUETES @cega18 #JFTLValAppMobile @htquach
    25. 25. • Intégration au terminal : impact de votre application • Conso batterie • Géolocalisation • Mémoire • Compatibilité • Ascendante • Nouvel OS (veille sur une beta stable?) • Nouveau terminaux (écran/résolution/adaptation) • Descendante • Fragmentation des versions en Prod • Tester la rétro-compatibilité avec le back-office • Prévoir un mécanisme d’arrêt de la version/demande d’upgrade? • Une appli embarquée en prod reste en prod ! • Services du device • Contacts / Photos / Camera / Mail / SMS • Accès / Utilisation VALIDER UNE APPLI MOBILE DE A À Z RISQUES DANS LA VALIDATION MOBILE (1/2) @cega18 #JFTLValAppMobile @htquach
    26. 26. • Intégration de multiple SDKs • URM/STAT/Beacon/Carto/crash logger/libs internes • Aller plus loin que le fonctionnel • Tests d’interruption (popup système/Call/push/mise en background) • Gestion de session (fin de session, reprise) • Reprise sur page en cours • Géolocalisation • Navigation avertie • Aller/retour + stress (monkey Test) • Multi-touch (gestion d’exclusion) (tablette) • Fonctionnel lié au cache • Conservation de paramètres/cache/format de BDD VALIDER UNE APPLI MOBILE DE A À Z RISQUES DANS LA VALIDATION MOBILE (2/2) @cega18 #JFTLValAppMobile @htquach
    27. 27. VALIDER UNE APPLI MOBILE DE A À Z AUTOMATISATION @cega18 #JFTLValAppMobile @htquach • Objectifs • Détecter les bugs le plus vite possible et le plus tôt possible • Tests Unitaires • Tests d’intégration • Tests d’environnements • Gain de temps • Reproduction aisée • Keyword Test Driven • pilotage par Ordonnanceur (Jenkins)
    28. 28. • Difficultés liées à l’environnement mobile • Gestion des terminaux branchés à l’IC (armoire/coffre) • changer les configurations sans intervention humaine? • Définir les 2 ou 3 combinaisons les plus représentatives • Quand écrire les tests Autos avec un TTM très court? • Questionnement ? • Cloud Testing ou Mobile sur site? VALIDER UNE APPLI MOBILE DE A À Z AUTOMATISATION @cega18 #JFTLValAppMobile @htquach
    29. 29. • Supervision • Instrumentation Dynatrace • Sonde applicative via un automate VALIDER UNE APPLI MOBILE DE A À Z PRODUCTION- SUPERVISION & SUIVI DE LA QUALITE @cega18 #JFTLValAppMobile @htquach • Suivi du taux de crash • Prévoir un crashlogger avec une API • Tableau de bord lié à l’audience par version
    30. 30. • Performance utilisateur • Perf serveur • Perf réseau • Perf application VALIDER UNE APPLI MOBILE DE A À Z PRODUCTION – SUPERVISION & SUIVI DE LA QUALITE @cega18 #JFTLValAppMobile @htquach
    31. 31. • Soumission • Tests finaux pour contrôler les branchements • Continuous Delivery ? • Déploiement progressif • Organiser un déploiement sur un panel d’utilisateur + Supervision • Google Play Store le permet + appropriation des taux de traffic • sur IOS, certains kits de déploiement le propose • Créer une communauté de Beta-test • Utiliser le Crowd-Testing • Intérêt • Créer du feedback très tôt • Tests de volumétrie • Panel plus hétérogène qu’en labo VALIDER UNE APPLI MOBILE DE A À Z PRODUCTION - DEPLOIEMENT @cega18 #JFTLValAppMobile @htquach
    32. 32. VALIDER UNE APPLI MOBILE DE A À Z • De l’importance de bien s’outiller • Un nuage de tools • Feature flipping & AB Testing • Alpha & Beta-testing • Le Continuous Deployment • Ouvertures • Test Driven Development • Gestion Des Exigences • Conclusion • Le doggy bag • Questions AGENDA
    33. 33. VALIDER UNE APPLI MOBILE DE A À Z NUAGES DE TOOLS @cega18 #JFTLValAppMobile @htquach SLOCCOUNT LINT/ OCLINT PMD CHECKSTYLE/ OBJCLEAN KIF SALSA
    34. 34. VALIDER UNE APPLI MOBILE DE A À Z FEATURE FLIPPING & AB TESTING @cega18 #JFTLValAppMobile @htquach
    35. 35. VALIDER UNE APPLI MOBILE DE A À Z MAITRISE DES DELAIS • Tout le code est toujours poussé en production • Feature pas prête  Désactivée à la compilation PRINCIPES GENERAUX Release trains & dates fixes Feature développée  Feature-flippée Stratégie de recette  Au cas par cas MAITRISER LE RISQUE • Feature critique en production  Désactivée au runtime AIDER A LA DECISION • A/B testing par : - Gestion de scenarii fonctionnels - Mesure des KPIs FEATURE FLIPPING & AB TESTING – PRINCIPES @cega18 #JFTLValAppMobile @htquach
    36. 36. VALIDER UNE APPLI MOBILE DE A À Z • Choisir les bons outils : • In-house • Solution existante • Binaire / N-aire • Répartir les configurations • Choix des critères • Superviser • Clés en production FEATURE FLIPPING & AB TESTING – CONSEILS @cega18 #JFTLValAppMobile @htquach ITERER
    37. 37. VALIDER UNE APPLI MOBILE DE A À Z ALPHA & BETA-TESTING @cega18 #JFTLValAppMobile @htquach
    38. 38. VALIDER UNE APPLI MOBILE DE A À Z MESURE MAITRISE DE LA QUALITE ALPHA-TESTING Technique (crashes, bugs) Fonctionnel QA Salarités PJ Entourage proche NIGHTLY BUILDS BETA-TESTING Technique Fonctionnel Vrais utilisateurs DELIVERY BUILDS STAGE ROLLOUT Technique Fonctionnel Vrais utilisateurs ALPHA & BETA-TESTING - PRINCIPES @cega18 #JFTLValAppMobile @htquach
    39. 39. VALIDER UNE APPLI MOBILE DE A À Z ALPHA & BETA-TESTING - MODELES @cega18 #JFTLValAppMobile @htquach
    40. 40. VALIDER UNE APPLI MOBILE DE A À Z ALPHA & BETA-TESTING - MODELES @cega18 #JFTLValAppMobile @htquach
    41. 41. VALIDER UNE APPLI MOBILE DE A À Z GIT & PRINCIPES @cega18 #JFTLValAppMobile @htquach • Limiter les branches • develop • release • Utiliser le Feature flipping • tout le code est poussé dans develop • mais pas forcément activé • Maîtriser via des tests automatisés • garantir la NR
    42. 42. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT @cega18 #JFTLValAppMobile @htquach
    43. 43. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT – SELON VOUS ? @cega18 #JFTLValAppMobile @htquach
    44. 44. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - LEXIQUE • Continuous integration • A chaque commit ou par batch, le code source est : • compilé • testé • déployé dans un environnement d’intégration • Continuous Delivery • A chaque commit ou par batch, le code source est : • […] • livré à l’équipe suivante (QA, production, ...) • Continuous Deployment • A chaque commit ou par batch, le code source est : • […] • déployé dans un environnement de production @cega18 #JFTLValAppMobile @htquach
    45. 45. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - LEXIQUE @cega18 #JFTLValAppMobile @htquach
    46. 46. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - OBJECTIFS @cega18 #JFTLValAppMobile @htquach Réduire le temps de stabilisation / non régression Se donner la possibilité de pouvoir shipper à la feature en production
    47. 47. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - TYPES DE BUILDS @cega18 #JFTLValAppMobile @htquach LATEST BUILDS NIGHTLY BUILDS DELIVERY BUILDS Toutes les nuits • […] • Tests fonctionnels Ranorex • Tests statistiques • Tests performance Toutes les livraisons • […] • Monkey tests • Tests “de production” SUR LES STORES INTERNES SUR LES STORES EN BETA Toutes les X minutes • Tests unitaires • Tests fonctionnels (Code) • Analyse code
    48. 48. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - PIPELINES STEP 2 Unit tests STEP 9 Production tests STEP 10 Monkey tests STEP 11 Store deploy STEP 12 Partners build STEP 1 Code quality STEP 3 Functional tests STEP 4 Ranorex tests STEP 5 Statistics tests STEP 6 Artefacts build STEP 7 Internal store deploy STEP 8 Perf. tests @cega18 #JFTLValAppMobile @htquach
    49. 49. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - MODELES 1 déploiement par jour ~ 10 déploiements par jour ~ 1 déploiement toutes les 11 secondes 2013 ~ 25 déploiements par jour @cega18 #JFTLValAppMobile @htquach
    50. 50. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - MODELES 2013 Team Customer Surveys Code live en production 8 minutes après le commit @cega18 #JFTLValAppMobile @htquach
    51. 51. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - MODELES @cega18 #JFTLValAppMobile @htquach
    52. 52. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - DASHBOARD @cega18 #JFTLValAppMobile @htquach
    53. 53. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - JENKINS @cega18 #JFTLValAppMobile @htquach
    54. 54. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - JENKINS @cega18 #JFTLValAppMobile @htquach
    55. 55. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - JENKINS @cega18 #JFTLValAppMobile @htquach
    56. 56. VALIDER UNE APPLI MOBILE DE A À Z CONTINUOUS DEPLOYMENT - JENKINS @cega18 #JFTLValAppMobile @htquach
    57. 57. VALIDER UNE APPLI MOBILE DE A À Z • De l’importance de bien s’outiller • Un nuage de tools • Feature flipping & AB Testing • Alpha & Beta-testing • Le Continuous Deployment • Ouvertures • Test Driven Development • Gestion Des Exigences • Conclusion • Le doggy bag • Questions AGENDA @cega18 #JFTLValAppMobile @htquach
    58. 58. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT « TDD IS LIKE TEENAGE SEX: EVERYONE TALKS ABOUT IT, NOBODY REALLY KNOWS HOW TO DO IT, EVERYONE THINKS EVERYONE ELSE IS DOING IT, SO EVERYONE CLAIMS THEY ARE DOING IT…» @cega18 #JFTLValAppMobile @htquach
    59. 59. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT – SELON VOUS ? @cega18 #JFTLValAppMobile @htquach
    60. 60. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT – ORIGINE @cega18 #JFTLValAppMobile @htquach
    61. 61. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT – CONCEPT • Méthode traditionnelle Ajouter du code Ajouter un test qui teste le code • Méthode TDD Ajouter le code qui respecte le test Ajouter un code de test @cega18 #JFTLValAppMobile @htquach
    62. 62. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT – CYCLE DE DEVELOPPEMENT @cega18 #JFTLValAppMobile @htquach Exécuter & constater qu’il échoue Ajouter du code pour faire passer le test Contrôler que les tests passent toujours Refactorer le code Ajouter un test Exécuter & constater qu’il passe
    63. 63. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT - AVANTAGES @cega18 #JFTLValAppMobile @htquach • Les tests sont réellement écrits • Les tests décrivent le fonctionnel attendu, on répond au besoin du client • Le développeur est dans une situation de réussite et non plus d’échec
    64. 64. VALIDER UNE APPLI MOBILE DE A À Z TEST-DRIVEN DEVELOPMENT – CHEZ QUI ?!! @cega18 #JFTLValAppMobile @htquach
    65. 65. VALIDER UNE APPLI MOBILE DE A À Z GESTION DES EXIGENCES – Et vous? @cega18 #JFTLValAppMobile @htquach
    66. 66. VALIDER UNE APPLI MOBILE DE A À Z GESTION DES EXIGENCES @cega18 #JFTLValAppMobile @htquach • Constat : • Agile = Vision évolutive du produit • Feature team? Qui assure la vision produit globale? Éviter le « Chez moi çà marche » • la NR assure la vision produit • Objectifs ? • Assurer la vision générale du produit • Détecter les impacts des futures évolutions (feature/code/tests) • Assurer une traçabilité de toute la chaîne (US – Exigence – Test – Ano) • Industrialiser des métriques dans la chaîne CD • Taux de couverture par type d’exigence • Bloquer les features si non respect des seuils • Difficultés • Former les PO : GEX + Priorisation • Mise en place complexe • Accompagnement au changement (Outillage et process)
    67. 67. VALIDER UNE APPLI MOBILE DE A À Z • De l’importance de bien s’outiller • Un nuage de tools • Feature flipping & AB Testing • Alpha & Beta-testing • Le Continuous Deployment • Ouvertures • Test Driven Development • Gestion Des Exigences • Conclusion • Doggy bag • Questions AGENDA @cega18 #JFTLValAppMobile @htquach
    68. 68. VALIDER UNE APPLI MOBILE DE A À Z DOGGY BAG - ITEMS A EMPORTER • La qualité est l’affaire de toute l’équipe ! • Tester tout le long & pas uniquement à la fin • Test mobile = Fonctionnel + le comportement mobile • Automatiser un maximum • Délivrer tôt et souvent • Challenger vos processes et vos technos • Prendre du recul sur vos réalisations • Une app mobile a une vie propre en production ! • Try, fail & succeed ! @cega18 #JFTLValAppMobile @htquach
    69. 69. VALIDER UNE APPLI MOBILE DE A À Z QUESTIONS ? MERCI @cega18 #JFTLValAppMobile @htquach

    ×