SlideShare une entreprise Scribd logo
1  sur  26
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
18/11/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 à 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 clicFabernovel
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Jonathan 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 Appsmugstrasbourg
 
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 AndroidFlorian Chauveau
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014USERADGENTS
 
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 mobilespprem
 
Introduction au test_logiciel-fr
Introduction au test_logiciel-frIntroduction au test_logiciel-fr
Introduction au test_logiciel-frEmanBali
 
Devops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comDevops chez Voyages-Sncf.com
Devops chez Voyages-Sncf.comantony_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@NoumeaJulien 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 MavenArnaud 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 & AndroidThibaud CAVIN
 
Concept de l’Intégration Continue
Concept de l’Intégration ContinueConcept de l’Intégration Continue
Concept de l’Intégration ContinueFré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 8Jean-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 2017Julien Dubois
 

Similaire à 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
 

Plus de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7Microsoft
 

Plus de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 
Les nouveautés de C# 7
Les nouveautés de C# 7Les nouveautés de C# 7
Les nouveautés de C# 7
 

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 18/11/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 ?