Show Menu
SUJETS×

Test des applications mobiles

Adobe recommande d’utiliser l’éditeur d’application d’une seule page (SPA) pour les projets nécessitant un rendu côté client basé sur la structure SPA (par exemple, React). En savoir plus .
Compte tenu du large éventail de périphériques sur le marché et de périphériques en cours de publication, le test de vos applications est devenu extrêmement important. Il s’agit d’une zone où la fonctionnalité et la convivialité peuvent générer de faibles révisions sur une boutique d’applications, mais où un seul défaut peut entraîner la désinstallation de votre application. Il faut faire attention à vos plans de test et à votre assurance qualité. Le lien suivant couvre de nombreux sujets qui doivent être abordés en général, tels que l’identification de votre environnement, la définition de cas de test, les types de tests, les hypothèses, l’implication du client, etc. Les outils permettant de participer aux tests sont également abordés. Des outils internes, comme Hobbes , peuvent vous aider à tester l’interface utilisateur en ligne. Tough Day peut stresser vos instances avec une charge simulée. Si votre environnement de test possède déjà une expérience avec des outils tiers, comme le sélénium, ceux-ci peuvent également être utilisés.
Lors du développement d’une application mobile, il existe de nombreuses nouvelles préoccupations spécifiques aux périphériques qui doivent être traitées avec celles des tests traditionnels.
  • Fonctionnel : toutes les conditions requises sont-elles remplies par votre application ?
  • Utilité - L'application est-elle facile à utiliser et à comprendre par votre client ?
  • Performances - Que se passe-t-il lors d’un pic d’utilisation ? Les éléments de l’application, tels que les balayage et les carrousels, sont-ils rapides et ne vous éloignent pas de l’expérience ?
  • Echec ou interruption - Que se passe-t-il lorsqu’un appel ou une notification entrante survient pendant l’exécution de votre application ? Que se passe-t-il en cas de panne de réseau ou de coupure de courant ?
  • Installation et mises à jour - Comment se passe l'installation ? Comment les mises à jour sont-elles rejetées ?
  • Technique - Votre application consomme-t-elle trop d'énergie à partir d'un appareil ?
  • Localisation : toutes les zones de votre application sont-elles traduites ?
  • Certification : votre application a-t-elle été certifiée ? Les clients peuvent-ils se fier à ce qu’il respecte toutes les exigences légales en matière de confidentialité des données ?
Vous devez répondre à ces questions lors de vos tests automatisés et manuels.

Test automatisé

Un certain degré de test automatisé doit être effectué pour couvrir la variété des tailles d’écran, des contraintes de mémoire, des méthodes d’entrée et des systèmes d’exploitation. Non seulement il couvre la plupart des cas de test, mais il peut accélérer les tests de régression lorsque de nouvelles fonctionnalités ou de nouveaux appareils sont introduits. Idéalement, vos outils d'automatisation devraient réduire ou limiter les doubles emplois. Utilisez des outils ou des structures afin que vos efforts de test s’appliquent à toutes les plates-formes. Le graphique suivant présente la structure simplifiée d’un environnement de test pour les tests d’interface utilisateur Web et les tests d’applications mobiles. Le côté gauche du graphique montre une série de noeuds du sélénium avec des navigateurs. SeleniumGrid peut exécuter des tests d’interface utilisateur Web courants sur n’importe lequel de ces noeuds. Le concentrateur de sélénium peut également se connecter à Appium pour des tests d’applications multiplateformes. Seuls les simulateurs sont visibles, mais vous pouvez incorporer des utilitaires adb, pour Android et Xcode pour les périphériques iOS. Des liens sont fournis plus loin dans ce document où vous trouverez des détails spécifiques sur les outils mentionnés.

Test manuel

Outre les tests automatisés, votre application doit passer par un cycle de tests manuels. Les clients qui exécutent l’application sur un périphérique réel ne peuvent pas être dupliqués par un script. Ici aussi, vous avez de nombreuses options. Vous pouvez utiliser une plateforme, telle que HockeyApp, pour définir qui a accès et recueillir des commentaires. Vous pouvez également externaliser tout le processus vers un service tel que UTest, ElusiveStars ou Testin. Si vous disposez d’un groupe de testeurs internes, mais que les périphériques ne varient pas, il existe des services Cloud dans lesquels vous pouvez effectuer des tests manuels sur leur pool de périphériques. Un de ces services qui fournit ceci est SauceLabs. Vous pouvez également créer des applications à distance vers PhoneGap Enterprise et les installer sur des périphériques locaux sous forme de test d’acceptation ou de démonstration. Consultez le site Web PhoneGap pour connaître les dernières fonctionnalités et la documentation la plus récente. Quelle que soit l'approche, les tests manuels devraient être effectués;
  • atteindre une cible importante de testeurs,
  • tester par rapport à un grand nombre de périphériques (idéalement des périphériques réels, mais des simulateurs/émulateurs si de vrais périphériques ne sont pas disponibles),
  • fournir des commentaires informatifs :
    • rapports de plantage,
    • analytics/tracking,
    • convivialité,
    • les domaines d'attention,
    • performances,
    • consommation de données/d'énergie, etc.

Outils

Il existe un large éventail d’outils disponibles pour tester les applications mobiles. Le choix de ceux à utiliser sera basé sur votre situation spécifique : fonctionnalités, prix, support, couverture, etc. Voici une petite description de certains outils et services disponibles.
Selenium
  • Structure qui inclut une API pour les scripts de test pour alimenter WebDriver et contrôler divers navigateurs.
  • Vous pouvez l’utiliser conjointement avec Appium pour tester des périphériques réels.
  • SeleniumGrid dirige les tests sur les noeuds pour les tests parallèles.
  • L'IDE du sélénium aide à réduire l'écriture des cas de test.
For more information see https://www.seleniumhq.org/ .
Testdroid
  • Un service de test basé sur le cloud avec des crochets d’intégration continue et des tests de périphériques réels.
  • Inclut un outil de capture d’écran qui vérifie la compatibilité des périphériques, analyse les journaux, traverse les vues, effectue des captures d’écran et surveille les performances.
Pour plus d’informations, voir https://testdroid.com/ .
Appium
  • Appium est un cadre multiplateforme très utilisé pour automatiser les tests mobiles.
  • En outre, un inspecteur est inclus avec des capacités d'enregistrement pour aider à coder les cas de test.
Pour plus d’informations, voir https://appium.io/ .
SauceLabs
  • SauceLabs fournit des tests basés sur le cloud et s’intègre avec une intégration continue.
  • Les tests s’exécutent automatiquement dans leur environnement de cloud ou vous pouvez démarrer un périphérique ou une plate-forme spécifique et effectuer des tests manuels pour aider à déboguer les problèmes.
Pour plus d’informations, voir https://saucelabs.com/ .
AppTestNow
  • Service d’externalisation qui teste vos applications mobiles.
  • Comprend un grand nombre de périphériques et offre un large éventail de types de tests : performances, qualité, fonctionnalité, certification, localisation, consommation de données, etc.
Pour plus d’informations, voir https://www.apptestnow.com .
HockeyApp
  • HockeyApp tombe sous le test manuel où l'application mobile est envoyée dans une boutique d'applications personnelle où les testeurs peuvent la télécharger et la tester.
Pour plus d’informations, voir https://hockeyapp.net/features/ .
Jenkins
  • Bien qu'il ne s'agisse pas d'un outil de test, Jenkins est un cadre d'intégration continue qui fournit la colonne vertébrale pour les tests automatisés. De nombreux modules externes tiers sont disponibles pour étendre les fonctionnalités. Par exemple, le module externe SeleniumGrid fournit une interface utilisateur pour aider à gérer le concentrateur et les noeuds du sélénium.