Intervenants Thomas d'erceville Project Manager Christian NGUYEN Practice Manager IT Quality 2 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
1. Contexte général des tests mobiles 1.a. Les facteurs de complexité des mobiles 1.b. Les leviers de réduction des coûts des tests mobiles 2. Contexte du projet 2.a. Activité de la société cliente 2.b. Objectifs du projet 3. Démarche et résultats 3.a. Démarche générale du projet 3.b. Présentation des grilles d évaluation 3.c. Outils évalués 3.d. Résultats de l évaluation 4. Conclusion 3 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
1. Contexte général des tests mobiles 1.a. Les facteurs de complexité des mobiles 1.b. Les leviers de réduction des coûts des tests mobiles 2. Contexte du projet 2.a. Activité de la société cliente 2.b. Objectifs du projet 3. Démarche et résultats 3.a. Démarche générale du projet 3.b. Présentation des grilles d évaluation 3.c. Outils évalués 3.d. Résultats de l évaluation 4. Conclusion 4 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Contexte général La mobilité prend une valeur croissante sur le marché mondial : 5 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Facteurs de complexité des mobiles Mutation profonde de l écosystème des services mobiles : Maturité du marché Européen, accélération des cycles de vie des terminaux et services, développement de la Data, Omniprésence des applications mobiles. Des facteurs complexifiant les tests mobiles : 6 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Les leviers de réduction des coûts des tests mobiles Afin de répondre à cette multiplicité plusieurs leviers sont possibles : Définir une stratégie de test afin d optimiser l effort de test Prioriser les objectifs de test selon les fonctionnalités les plus utilisées en production. Prioriser les OS, les «devices», les plates-formes. Automatisation des tests mobiles. Les automates de test mobiles permettent d obtenir des gains de productivité significatifs par le biais de fonctions évoluées telles que le rejeu des tests : sur plusieurs plates-formes, sur plusieurs devices, sur plusieurs versions applicatives 7 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Les leviers de réduction des coûts des tests mobiles Gestion des «devices» pour les tests mobiles sur les aspects diversité, réseau et matériel. Problématique sur les coûts associés à l achat des «devices» pour réaliser une couverture adaptée aux risques. Trois solutions : L achat des devices mais dont l utilisation est mutualisée à une organisation. L utilisation d émulateurs permettant de simuler des OS. L utilisation de «devices» disposés dans le Cloud par des Data Center. 8 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
1. Contexte général des tests mobiles 1.a. Les facteurs de complexité des mobiles 1.b. Les leviers de réduction des coûts des tests mobiles 2. Contexte du projet 2.a. Activité de la société cliente 2.b. Objectifs du projet 3. Démarche et résultats 3.a. Démarche générale du projet 3.b. Présentation des grilles d évaluation 3.c. Outils évalués 3.d. Résultats de l évaluation 4. Conclusion 9 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Activité de la société cliente La société cliente est un éditeur de logiciel français spécialisé dans l édition de briques logicielles analysant le trafic pour des équipementiers télécom. La nécessité de tester ses applications, consiste pour le client, à automatiser de nombreuses actions sur de nombreuses applications de la vie quotidienne, pour générer le trafic internet en entrée des briques logicielles analysant le trafic. 10 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Objectifs du projet Altran a accompagné son client dans le choix d un outil d automatisation dans un contexte multi plates formes (Android, Ios, Windows, Web, Windows Phone, etc.). Dans ce cadre il s agissait : D identifier les enjeux du client (plates-formes utilisées, types d applications, etc.), De réaliser une étude de marché approfondie à travers un benchmark des outils d automatisation de test, De réaliser des recommandations stratégiques et méthodologiques. 11 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
1. Contexte général des tests mobiles 1.a. Les facteurs de complexité des mobiles 1.b. Les leviers de réduction des coûts des tests mobiles 2. Contexte du projet 2.a. Activité de la société cliente 2.b. Objectifs du projet 3. Démarche et résultats 3.a. Démarche générale du projet 3.b. Présentation des grilles d évaluation 3.c. Outils évalués 3.d. Résultats de l évaluation 4. Conclusion 12 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Démarche générale du projet Activité Notre démarche se divise en quatre phases : A1 Etude d opportunité A2 Evaluation fonctionnelle A3 Evaluation technique A4 Audit Réunions/ Interviews / ateliers Réunion de cadrage Etude des besoins en automatisation Formalisation des types de tests/technologies à automatiser Benchmark Création d une liste étendue d outils à fort potentiel Consolidation d une grille d évaluation Installation des outils et évaluation de l utilisation Automatisation d un ou deux scénarios basiques Etude de faisabilité Epuration de la liste des outils Automatisation de plusieurs scénarios basiques Restitution des résultats (Paysage automatisé) Bonnes pratiques Restitution des préconisations méthodologiques et techniques 13 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Présentation des grilles d évaluation (1/5) Notre grille est constituée de 8 Axes de notation (48 critères) : 1 - Facilité d'utilisation 2 - Support des technologies 3 - Capture 4 - Rejeu et exécution 5 - Développement des scripts et maintenance 6 - Mode de fonctionnement 7 - Reporting 8 - Licence 14 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Présentation des grilles d évaluation (2/5) Nous présentons ci-après la structure de la grille d évaluation : 1 Facilité d utilisation Commentaire Installation Stabilité / Anomalies Développement sans Scripting Développement mode Scripting Ergonomie 2 Support des technologies Android Ios Web + Flash Windows Mac OS Windows Phone Linux Nokia (Symbian) Blackberry Facilité d installation et qualité des documents d installation. Volumétrie de paramétrage et installations supplémentaires. Qualité et robustesse de l outil Facilité de développement de l automatisation sans scripting (Assistants). Aide intuitive et facilité dans le scripting (Assistants, Aide, Auto Complétion ). Facilité d utilisation et paramétrage de l outil. Technologies reconnues : Oui = Reconnues directement Limité = Nécessite une installation particulière ou reconnaissance incomplète Très limité = Nécessite une installation particulière et présente très peu de références 15 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Présentation des grilles d évaluation (3/5) 3 Capture Enregistrer les actions (Clics, saisie de texte etc.) Enregistrer les objets de l'ihm (Exemples d'objets sur l'interface Homme Machine: Un champ, un texte, une case à cocher etc.) Paramétrage de la reconnaissance d'objet Retrouver des objets déplacés ou cachés Répertoire d'objets partagés à plusieurs scripts (Réduction de la maintenance) 4 Rejeu et exécution Commentaire Possibilité d'exécuter deux instances en parallèle (Deux threads ou deux automates) Pérennité de la solution à travers plusieurs versions de la plate-forme Réutilisabilité des scripts sur plusieurs plates formes et devices Réutilisabilité des scripts sur plusieurs web browser Exécuter les tests par lots Ordonnancer les tests et programmer leur exécution Qualité d'enregistrement des actions 16 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels Qualité des propriétés utilisées pour la reconnaissance des objets? Gestion de l'objet avec multi-paramètres? Peut-on paramétrer facilement la reconnaissance d'objet ou/et changer les valeurs des propriétés des objets? Fonctionnalités facilitant le rejeu/mise en évidence des objets déjà enregistrés Qualité et existence de répertoires d'objets partagés pour réduction de maintenance Seulement pour les tests mobiles Android et ios (Différencier les retours d'expériences et infos éditeurs) Seulement pour les tests mobiles Android et ios Seulement pour les tests Web sur plate-forme Windows Facilité d'organisation et de supervision/monitoring des exécutions (Exécution de lots/campagnes)? Facilité d'ordonnancement et possibilité d'exécution automatique quotidienne
Présentation des grilles d évaluation (4/5) 5 - Développement des scripts et maintenance Commentaire Modularité et variabilisation Différentes vues pour la réalisation de l'automate (Développement Scripting / Visuel Mots clés) Capture d'écran (Correspondance avec l'enregistrement) Debug Insérer des points de contrôles Accéder à des librairies de fonction Utilisation d'api Externe (BDD, FileSystem, exécution par le ligne de commande) Gérer le processus de synchronisation Objets dynamiques Expressions régulières Data Driven Scénario de secours Facilité de mise en place des bonnes pratiques associées à la modularité (briques réutilisables) et variabilisation (entrées et sorties) Existence et pertinence des vues. Synchronisation ou non des vues. Obtention des captures d'écran pendant l'enregistrement (Recording) et possibilité d'interactions sur les captures d'écran sans bénéficier de l'application. Facilité de debug (Breakpoint, affichage des valeurs, exécution de commandes pendant le mode de debug, pertinences des erreurs remontées) Facilité de mise en place et qualité des points de contrôles Depuis l'outil d'automatisation des tests Facilité d'interactions entre l'outil d'automatisation et les API Externe Facilité de mise en place des bonnes pratiques associées à la synchronisation du robot selon le temps de réponse de l'application Utilisation des objets sans enregistrement préalable des objets (Descriptive Programming) Augmente la robustesse au sujet de la reconnaissance d'objet Pilotage des tests à partir des données et limite la maintenance du script (Exemple : Fichier Excel) Facilité de mise en place des bonnes pratiques associées à la robustesse du robot avec la mise en place de scénarios secours/exception en cas d'erreur 17 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Présentation des grilles d évaluation (5/5) 6 - Mode fonctionnement (Autres) Commentaire Interaction entre l'automate et les plates formes Interface avec la gestion de configuration Partage et accès des scripts automatisés Qualité des interactions pour les applications mobiles et les applications Windows/Web Exemples : CVS, GIT Possibilité de partager les scripts (Export, environnement collaboratif, commit etc.) Gestion des versions des scripts 7 - Reporting Commentaire Qualité des interactions pour les applications mobiles et les applications Windows/Web Qualité du rapport Visibilité, traçabilité du rapport, personnalisation/orientation du rapport Historisation et partages des rapports. 8 - Licence Commentaire Possibilité de bénéficier d'une capture d'écran automatique en cas d'erreur Prix unitaire d'une licence 1 licence concurrente (Prix par an) Tarif Public 18 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Outils évalués Liste des outils (Licences payantes) Micro Focus Silk Test 15 et Silk Test Mobile 6.8 HP Unified Functional Testing 11.5 et Pluging Perfecto Mobile 6.1.1 TestComplete TestComplete 10.10 Ranorex Ranorex 5.0.1 Liste des outils (Open Source) Sikuli 1.0.1 Selenium 2.5.0 IDE + Server 2.40.0 SiKuli Selenium 19 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Résultats de l évaluation Deux finalistes Critères de sélection Quatre finalistes Sélection Plus de technologies et plates formes couvertes Pas d instrumentation de code pour les tests mobiles Plus de modes de reconnaissance Outils évalués Sélection Développement assisté sans ou avec scripting Qualité et types de vérifications Qualité du Reporting Modularité / Variabilisation Répertoire d objets Data Driven Capture d écran* 20 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
1. Contexte général des tests mobiles 1.a. Les facteurs de complexité des mobiles 1.b. Les leviers de réduction des coûts des tests mobiles 2. Contexte du projet 2.a. Activité de la société cliente 2.b. Objectifs du projet 3. Démarche et résultats 3.a. Démarche générale du projet 3.b. Présentation des grilles d évaluation 3.c. Outils évalués 3.d. Résultats de l évaluation 4. Conclusion 21 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels
Conclusion Les tests mobiles constituent une difficulté nouvelle pour les équipes de test. Le benchmark réalisé a permis de montrer la pertinence des automates de test sur les applications mobiles et notamment leur capacité à gérer la diversité des devices. La grille d évaluation des automates présentée peut être adaptée selon le contexte de vos projets. Le choix de l automate effectué, il est fondamental d adopter une démarche pilotée par le ROI afin de choisir au sein du patrimoine de test les scénarios respectant au mieux les critères d éligibilité de l automatisation. Exemples de critères d éligibilité : fréquence d exécution, charge d exécution manuelle, stabilité de l IHM, etc. 22 14/04/2015 De l'assurance qualité à l'ingénierie des tests logiciels