Upload
adrien-siffermann
View
88
Download
0
Embed Size (px)
Citation preview
Tester, Monitorer et Déployer son
application mobile
Nicolas Humann
@nicolashumannCTO – REGIONAL DIRECTOR
Philippe Sentenac
@psentenacMBU – REGIONAL DIRECTOR
Adrien Siffermann
@asiffermann FULL STACK DEV - INDEP
Mobile DevOps
Isoler, suivre et valider les développements
Deux branches principalesDurée de vie infiniemaster : production-readydevelop : intégration
Des branches de supportDurée de vie limitéefeature : développement en parallèlerelease : préparation des livraisonshotfix : corrections en production
Dev…GitFlow
…OpsLes 4 Fantastiques
develop0.1.0-alpha.4Version de développement
Integration« INT »
release/* ou hotfix/*1.0.0-beta.0Version à tester
Validation« VAL »
master1.0.0+0Données de production
Preproduction
« PRE »
Déploiement initié manuellement après approbation
Production« PRO »
Hockey AppAll you need is
Télécharger vos builds, informer vos utilisateurs, et installer l'application directement sur les devices
Distribution Beta
Suivre la qualité de votre application et obtenir des rapports d'erreur complets
Crash Reporting
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 souventNé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 pasC’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êteAndroid 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 tester134 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 joursTESTS RELEASE
SDURÉE
DES TESTSAPPAREILSAPP
Execution identique, à chaque fois sur chaque deviceTesting d’interface extrèmement rapideAccès aux derniers OS et nouveaux téléphonesRapport immédiatement disponible• Screenshots • Utilisation memoire et processeur• Console log, pratique pour le debugging
Au final, on peut réaliser des parcours utilisateurs et tests d’intégrations très simplement.
L’approche automatisée avec XTCThe holy grail ?
Long CyclesRapid Iterations
High Test Realism
Simplistic Tests
Beta Testing
Manual Testing
Automated UI Testing
Unit Testing
L’approche automatiséeQuelques 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 testsXamarin.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 concurrentsAWS Device
Farm Google Cloud Test Lab
Xamarin Test Cloud
Plateforme Android, iOS & Web Android Android, iOS
Framework Appium, Junit, TestNG, Calabash
Instrumentation, Robo Test
Calabach, Nunit, Appium, UITests
Language Java, Ruby, C# Java C#, Ruby
Native App Oui Oui Oui
Hybrid Oui No Oui
Devices 200+ 20+ 2000
Performance Testing Oui Oui Oui
N° 22
Mobile DevOpsLa synthèse en « visual »
UWPapk
apk
apk
Unit Test
Simulator
git push
ReleaseManagement
with Approvals
HockeyAppUpdate
Manager
HockeyAppCrash Reports & Feedback
Debugging
Team Build (CI)Test & Code Coverage
Emulator / Devices
Bug Trackin
g
© SQLI GROUP | 2016
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 sessionEt 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