SlideShare une entreprise Scribd logo
Tester, Monitorer et Déployer
son application mobile
Nicolas Humann
@nicolashumann
CTO – REGIONAL DIRECTOR
Philippe Sentenac
@psentenac
MBU – REGIONAL DIRECTOR
Adrien Siffermann
@asiffermann
FULL STACK DEV - INDEP
Mobile DevOps
Isoler, suivre et valider les développements
Deux branches principales
Durée de vie infinie
master : production-ready
develop : intégration
Des branches de support
Durée de vie limitée
feature : développement en parallèle
release : préparation des livraisons
hotfix : corrections en production
Dev…
GitFlow
…Ops
Les 4 Fantastiques
develop
0.1.0-alpha.4
Version de développement
Integration
« INT »
release/* ou hotfix/*
1.0.0-beta.0
Version à tester
Validation
« VAL »
master
1.0.0+0
Données de production
Preproduction
« PRE »
Déploiement initié manuellement
après approbation
Production
« PRO »
Hockey App
All you need is
Télécharger vos
builds, informer vos
utilisateurs, et installer
l'application
directement sur les
devices
Suivre la qualité de
votre application et
obtenir des
rapports d'erreur
complets
Comprendre
comment les
utilisateurs adoptent
et utilisent votre
application
Monitoring
DEMO Mobile DevOps
Des plateformes et technologies
variées
Des tailles et résolutions différentes
De multiples navigateurs
La gestion du device et du réseau
« instable » (ex. dans le métro)
Développer des apps mobiles de qualité
C’est compliqué
« On testera plus tard. Sur mon iPhone, ca marche de
toute façon »
« Les utilisateurs nous remonteront les bugs »
« Les développeurs testent et débuguent ce qu’ils ont
conçu, c'est suffisant »
« Le test d'application mobile, c'est comme le test de
site web. »
« Les tests, c’est sympa mais qui va payer pour ça ? »
« J’ai un émulateur, pas la peine de tester sur des
smartphones »
La phase de test est souvent
Négligée | Oubliée | Abandonnée
80 % des utilisateurs
désinstallent une application à cause
des crashs/bugs
66 % des app ont une note
inférieure ou égale à la moyenne
60% des utilisateurs
abandonnent votre app si elle ne se
charge pas dans les 3secs
Les utilisateurs, eux, n’oublient pas
C’est la sanction immédiate
L'application bloque depuis la
maj de ios 10 merci de faire le
nécessaire rapidement c'est
une horreur!!!
Application qui génère trop
de beugue. Il est souvent
impossible d'actualiser et de
voir nos comptes
L'app daignait planter au
moment du Touch ID.
Maintenant elle ne se lance
même plus et fait planter tout
mon système. Ça fait un bail
que ça dure. À quand une
mise jour qui ne bouffe pas
tout le CPU ?
Excellente appli mais depuis la
mise à jour vers iOS 10 je n'y
ai plus accès ! Obligé de
consulter mes comptes sur
internet mais ça n'est pas
pratique du tout ! J'espère un
retour à la normale
rapidement sinon je
desinstalle !
Nul par rapport aux autres
applications des autres
banques. Absolument pas
clair manque de simplicité.
Un vrai casse tête
Android n’est pas le seul problème
19 000 Android
disponibles sur le
marché
74 configurations
possibles pour iOS
A titre d’exemple, aux US, il faut tester
134 différents devices pour couvrir
80% des smartphones utilisés
Comment tester ?
Wait for it
Prenons l’exemple d’une application mobile avec 6 releases, sur 20 configurations
1 x 30 x 6 x 15 min x 20 = 112 jours
TESTS RELEASES DURÉE DES
TESTS
APPAREILSAPP
Execution identique, à chaque fois sur
chaque device
Testing d’interface extrèmement rapide
Accès aux derniers OS et nouveaux
téléphones
Rapport immédiatement disponible
• Screenshots
• Utilisation memoire et processeur
• Console log, pratique pour le debugging
Au final, on peut réaliser des parcours
et tests d’intégrations très simplement.
L’approche automatisée avec XTC
The holy grail ?
Long Cycles
Rapid
Iterations
High Test Realism
Simplistic Tests
Beta Testing
Manual
Testing
Automated UI
Testing
Unit Testing
L’approche automatisée
Quelques exemples d’usages
PRODUCTION
Tester scénarios
critiques sur 2 000
devices (i.e. : non
regression, mise à
jour du BO « en
douce »)
RECETTE
Le fameux cahier de
recette automatisé.
Ça rassure toujours
avant un passage en
prod
AGILE
Exécuté sur chaque
pull request sur les US
principales. Pour une
app toujours
fonctionnelle
ANTICIPER
Rejouer l’ensemble
de vos test sur des
versions d’OS en
béta, en 30 mn. Ça
n’a pas de prix.
DEMO Xamarin Test Cloud
Créer des tests d'interface
utilisateur automatisés tout en C#
ou Ruby
Télécharger vos tests sur XTC ou
exécuter les sur un simulateur ou
votre device
Exécution à partir de Visual Studio
ou Xamarin studio
Fonctionne sur toute application:
Native, hybride, ou Xamarin
Developper ces tests
Xamarin.UITest | Calabash
Datacenter au Danemark
Devices réinitialisés (hard
reset) après chaque tests
IP :
• 195.249.159.238
• 195.249.159.239
Sécurité
Le détail qui compte
Les concurrents
AWS Device
Farm
Google Cloud
Test Lab
Xamarin Test
Cloud
Android, iOS & Android Android, iOS
Appium, Junit,
TestNG, Calabash
Instrumentation,
Robo Test
Calabach, Nunit,
Appium, UITests
Java, Ruby, C# Java C#, Ruby
Oui Oui Oui
Oui No Oui
200+ 20+ 2000
Oui Oui Oui
Mobile DevOps
La synthèse en « visual »
UWP
apk
apk
apk
Unit Test
Simulator
git push
Release
Management
with Approvals
HockeyApp
Update Manager
HockeyApp
Crash Reports
& Feedback
Debugging
Team Build (CI)
Test & Code Coverage
Emulator / Devices
Bug
Tracking
19/10/2016© SQLI GROUP | 2016
22
Visual Studio Team Services : Gratuit
Hockey App : Gratuit
Xamarin Test Cloud : “C’est cool”
Développer des apps mobiles de qualité
C’est pas si compliqué
@microsoftfrance @Technet_France @msdev_fr
@nicolashumann @psentenac @asiffermann
Notez cette session
Et tentez de gagner un Surface Book
Doublez votre chance en répondant aussi
au questionnaire de satisfaction globale
* Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

Contenu connexe

Similaire à Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile

Publier une application mobile en un clic
Publier une application mobile en un clicPublier une application mobile en un clic
Publier une application mobile en un clic
Fabernovel
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
Jonathan Martin
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
Jérémie Campari
 
MUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows AppsMUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows Apps
mugstrasbourg
 
Déploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou AndroidDéploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou Android
Florian Chauveau
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
USERADGENTS
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
pprem
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
EmanBali
 
Devops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.com
antony_guilloteau
 
Fujitsu World Tour Paris 2015 - Présentation windows 10
Fujitsu World Tour Paris 2015 - Présentation windows 10 Fujitsu World Tour Paris 2015 - Présentation windows 10
Fujitsu World Tour Paris 2015 - Présentation windows 10
Fujitsu France
 
Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011jonasmonnier
 
Visual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@NoumeaVisual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@Noumea
Julien Chable
 
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
Alexandre Takacs
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
Arnaud Héritier
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Publicis Sapient Engineering
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
Thibaud CAVIN
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
Frédéric Sagez
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8
Jean-Sébastien Dupuy
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
Julien Dubois
 

Similaire à Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile (20)

Publier une application mobile en un clic
Publier une application mobile en un clicPublier une application mobile en un clic
Publier une application mobile en un clic
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
 
Integration continue et déploiement automatisé
Integration continue et déploiement automatiséIntegration continue et déploiement automatisé
Integration continue et déploiement automatisé
 
MUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows AppsMUG Strasbourg - Développement d'une Universal Windows Apps
MUG Strasbourg - Développement d'une Universal Windows Apps
 
Déploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou AndroidDéploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou Android
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-fr
 
Devops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.com
 
Fujitsu World Tour Paris 2015 - Présentation windows 10
Fujitsu World Tour Paris 2015 - Présentation windows 10 Fujitsu World Tour Paris 2015 - Présentation windows 10
Fujitsu World Tour Paris 2015 - Présentation windows 10
 
Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011Retour d'expérience AdobeMC 2011
Retour d'expérience AdobeMC 2011
 
Usine logicielle ios
Usine logicielle iosUsine logicielle ios
Usine logicielle ios
 
Visual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@NoumeaVisual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@Noumea
 
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
Reboot your mobile app or not? - Mobile PM meetup by Thiga (sept 2016)
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
Open XKE - De l'intégration continue au déploiement continu sur iOS et Androi...
 
Qualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & AndroidQualité & Industrialisation des développements mobiles sur iOS & Android
Qualité & Industrialisation des développements mobiles sur iOS & Android
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration Continue
 
Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8Introduction au développement Windows Phone 8
Introduction au développement Windows Phone 8
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 

Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile

  • 1.
  • 2. Tester, Monitorer et Déployer son application mobile
  • 3. Nicolas Humann @nicolashumann CTO – REGIONAL DIRECTOR Philippe Sentenac @psentenac MBU – REGIONAL DIRECTOR Adrien Siffermann @asiffermann FULL STACK DEV - INDEP
  • 5. Isoler, suivre et valider les développements Deux branches principales Durée de vie infinie master : production-ready develop : intégration Des branches de support Durée de vie limitée feature : développement en parallèle release : préparation des livraisons hotfix : corrections en production Dev… GitFlow
  • 6. …Ops Les 4 Fantastiques develop 0.1.0-alpha.4 Version de développement Integration « INT » release/* ou hotfix/* 1.0.0-beta.0 Version à tester Validation « VAL » master 1.0.0+0 Données de production Preproduction « PRE » Déploiement initié manuellement après approbation Production « PRO »
  • 7. Hockey App All you need is Télécharger vos builds, informer vos utilisateurs, et installer l'application directement sur les devices Suivre la qualité de votre application et obtenir des rapports d'erreur complets Comprendre comment les utilisateurs adoptent et utilisent votre application Monitoring
  • 9. Des plateformes et technologies variées Des tailles et résolutions différentes De multiples navigateurs La gestion du device et du réseau « instable » (ex. dans le métro) Développer des apps mobiles de qualité C’est compliqué
  • 10. « On testera plus tard. Sur mon iPhone, ca marche de toute façon » « Les utilisateurs nous remonteront les bugs » « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant » « Le test d'application mobile, c'est comme le test de site web. » « Les tests, c’est sympa mais qui va payer pour ça ? » « J’ai un émulateur, pas la peine de tester sur des smartphones » La phase de test est souvent Négligée | Oubliée | Abandonnée
  • 11. 80 % des utilisateurs désinstallent une application à cause des crashs/bugs 66 % des app ont une note inférieure ou égale à la moyenne 60% des utilisateurs abandonnent votre app si elle ne se charge pas dans les 3secs Les utilisateurs, eux, n’oublient pas C’est la sanction immédiate L'application bloque depuis la maj de ios 10 merci de faire le nécessaire rapidement c'est une horreur!!! Application qui génère trop de beugue. Il est souvent impossible d'actualiser et de voir nos comptes L'app daignait planter au moment du Touch ID. Maintenant elle ne se lance même plus et fait planter tout mon système. Ça fait un bail que ça dure. À quand une mise jour qui ne bouffe pas tout le CPU ? Excellente appli mais depuis la mise à jour vers iOS 10 je n'y ai plus accès ! Obligé de consulter mes comptes sur internet mais ça n'est pas pratique du tout ! J'espère un retour à la normale rapidement sinon je desinstalle ! Nul par rapport aux autres applications des autres banques. Absolument pas clair manque de simplicité.
  • 12. Un vrai casse tête Android n’est pas le seul problème 19 000 Android disponibles sur le marché 74 configurations possibles pour iOS A titre d’exemple, aux US, il faut tester 134 différents devices pour couvrir 80% des smartphones utilisés
  • 13. Comment tester ? Wait for it Prenons l’exemple d’une application mobile avec 6 releases, sur 20 configurations 1 x 30 x 6 x 15 min x 20 = 112 jours TESTS RELEASES DURÉE DES TESTS APPAREILSAPP
  • 14.
  • 15.
  • 16. Execution identique, à chaque fois sur chaque device Testing d’interface extrèmement rapide Accès aux derniers OS et nouveaux téléphones Rapport immédiatement disponible • Screenshots • Utilisation memoire et processeur • Console log, pratique pour le debugging Au final, on peut réaliser des parcours et tests d’intégrations très simplement. L’approche automatisée avec XTC The holy grail ? Long Cycles Rapid Iterations High Test Realism Simplistic Tests Beta Testing Manual Testing Automated UI Testing Unit Testing
  • 17. L’approche automatisée Quelques exemples d’usages PRODUCTION Tester scénarios critiques sur 2 000 devices (i.e. : non regression, mise à jour du BO « en douce ») RECETTE Le fameux cahier de recette automatisé. Ça rassure toujours avant un passage en prod AGILE Exécuté sur chaque pull request sur les US principales. Pour une app toujours fonctionnelle ANTICIPER Rejouer l’ensemble de vos test sur des versions d’OS en béta, en 30 mn. Ça n’a pas de prix.
  • 19. Créer des tests d'interface utilisateur automatisés tout en C# ou Ruby Télécharger vos tests sur XTC ou exécuter les sur un simulateur ou votre device Exécution à partir de Visual Studio ou Xamarin studio Fonctionne sur toute application: Native, hybride, ou Xamarin Developper ces tests Xamarin.UITest | Calabash
  • 20. Datacenter au Danemark Devices réinitialisés (hard reset) après chaque tests IP : • 195.249.159.238 • 195.249.159.239 Sécurité Le détail qui compte
  • 21. Les concurrents AWS Device Farm Google Cloud Test Lab Xamarin Test Cloud Android, iOS & Android Android, iOS Appium, Junit, TestNG, Calabash Instrumentation, Robo Test Calabach, Nunit, Appium, UITests Java, Ruby, C# Java C#, Ruby Oui Oui Oui Oui No Oui 200+ 20+ 2000 Oui Oui Oui
  • 22. Mobile DevOps La synthèse en « visual » UWP apk apk apk Unit Test Simulator git push Release Management with Approvals HockeyApp Update Manager HockeyApp Crash Reports & Feedback Debugging Team Build (CI) Test & Code Coverage Emulator / Devices Bug Tracking 19/10/2016© SQLI GROUP | 2016 22
  • 23. Visual Studio Team Services : Gratuit Hockey App : Gratuit Xamarin Test Cloud : “C’est cool” Développer des apps mobiles de qualité C’est pas si compliqué
  • 24.
  • 26. Notez cette session Et tentez de gagner un Surface Book Doublez votre chance en répondant aussi au questionnaire de satisfaction globale * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

Notes de l'éditeur

  1. Speaker: Présentation un a un
  2. Speaker: Philipe ?
  3. Speaker: Nico ?
  4. Speaker: Nico ?