Qu'est-ce que le test d'application iOS?
iOS App Testing est un processus de test dans lequel une application iOS est testée sur de vrais appareils Apple pour vérifier si elle fonctionne comme prévu ou non pour des actions utilisateur spécifiques telles que le temps d'installation, l'interface utilisateur, l'expérience utilisateur, l'apparence, le comportement, les fonctionnalités, le temps de chargement, performances, liste de l'App Store, prise en charge de la version du système d'exploitation, etc.
Pourquoi tester les applications iOS?
Le test des applications iOS est requis car iOS est la plate-forme d'Apple pour les applications mobiles qui a été publiée le 29 juin 2007. Contrairement à Android, Apple n'accorde pas de licence à iOS pour l'installation sur du matériel non Apple. Les applications iOS et iOS ne peuvent être installées que sur les appareils Apple, par conséquent, votre application iOS doit être compatible avec les versions iOS et les appareils iOS.
C'est la question courante lorsque le développeur crée une application iOS.
Peu importe le temps que vous investissez dans la conception et la mise en œuvre, les erreurs sont inévitables et des bogues apparaissent. Il existe quelques bogues courants sur l'application iOS. Comme le montre la figure ci-dessous.
- Application en panne
L'un des problèmes les plus frustrants lors de l'utilisation des appareils Apple est qu'une application peut se bloquer fréquemment pendant l'exécution. Plusieurs fois, l'application se bloque en raison de bogues ou d'une fuite de mémoire dans les applications.
- Incompatibilités d'application
Votre application iOS peut fonctionner parfaitement sur la version iOS actuelle, mais si iOS est mis à niveau, elle peut ne pas fonctionner en raison de problèmes d'incompatibilité.
- Vulnérabilité de sécurité
Une vulnérabilité de sécurité dans iOS permet au pirate d'attaquer vos appareils iOS, de voler vos informations privées. Jusqu'à présent, de graves vulnérabilités de sécurité iPhone sont découvertes dans différentes versions d'iOS.
- Fuites de mémoire
Les fuites de mémoire sont des blocs de mémoire allouée que le programme n'utilise plus. Les fuites de mémoire provoquent le blocage de votre application iOS. Ce sont des bugs et devraient toujours être corrigés.
Dans ce didacticiel, vous apprendrez-
- Pourquoi tester iOS?
- Test d'iOS MindMap
- Liste de contrôle des tests iOS
- Stratégie de test iOS
- Test automatisé
- Tests unitaires avec OCUnit
- Test de l'interface utilisateur avec UIAutomation
- Test manuel
- Essais exploratoires
- Test utilisateur
- Test de concept
- Tests d'utilisation
- Tests bêta
- Test A / B
- Bonnes pratiques de test iOS
- MYTHES sur les tests iOS
Test d'iOS MindMap
Comme le montre la figure ci-dessus, iOS Testing MindMap montre tous les éléments que le testeur doit prendre en compte lors des tests sur iOS.
Liste de contrôle des tests d'applications iOS
Cette liste de contrôle est spécialement conçue pour tester les caractéristiques des applications mobiles iOS. De toute évidence, il ne teste que les caractéristiques génériques de l'application et non la fonctionnalité de celle-ci.
- Vérifiez le temps d'installation pris par l'application sur l'appareil. Assurez-vous que l'application est installée dans un délai acceptable.
- Une fois l'application installée, vérifiez si l'application possède l'icône et le nom de l'application. Assurez-vous également que l'icône et le nom sont explicites et reflètent l'intention principale de l'application.
- Lancez l'application et vérifiez si l'écran de démarrage est affiché.
- Vérifiez le délai d'expiration de l'écran de démarrage et le temps nécessaire pour charger l'écran d'accueil. L'écran d'accueil de l'application doit se charger dans un délai acceptable. Si l'écran d'accueil ne prend que plus de temps à se charger, l'utilisateur a plus de chances de quitter ou même de désinstaller l'application elle-même. Vérifiez également comment le contenu est chargé sur l'écran d'accueil.
- La fonction principale de l'application doit apparaître immédiatement. Cela devrait parler de lui-même.
- Vérifiez si l'application prend en charge les orientations paysage et portrait. Si tel est le cas, vérifiez l'application dans les deux orientations. L'interface utilisateur de l'application doit être définie en conséquence.
- Sans connexion Internet, lancez l'application. Assurez-vous que l'application se comporte comme prévu / souhaité. Il est possible que l'application se bloque lors de son lancement ou affiche simplement un écran vide.
- Si l'application utilise des services de localisation, vérifiez si l'alerte d'autorisation de localisation est affichée ou non. Cette alerte ne doit être demandée à l'utilisateur qu'une seule fois.
- Si l'application envoie des notifications push, vérifiez si l'alerte d'autorisation de notification push est affichée ou non. Cette alerte ne doit également être demandée à l'utilisateur qu'une seule fois.
- Lancez l'application, quittez-la et relancez. Vérifiez si l'application se comporte comme prévu / souhaité
- Fermez l'application en appuyant sur le bouton Accueil de l'appareil et ouvrez à nouveau l'application. Vérifiez si l'application fonctionne comme prévu / souhaité.
- Une fois installée, vérifiez si l'application est répertoriée dans l'application des paramètres de l'iPhone.
- Une fois l'application mise en ligne, vérifiez si l'application se trouve dans «App Store». Une version du système d'exploitation sera prise en charge pour l'application. Assurez-vous donc que l'application se trouve dans «App Store» de la version du système d'exploitation prise en charge. En outre, l'application ne doit pas être répertoriée dans «App Store» de l'appareil avec une version de système d'exploitation non prise en charge.
- Vérifiez si l'application passe en mode veille lorsqu'elle s'exécute en arrière-plan pour éviter l'épuisement de la batterie.
- Si les performances de l'application sont lentes ou chaque fois que le contenu est en cours de chargement, vérifiez s'il existe une icône d'état de progression («Chargement…»), de préférence avec un message spécifique.
- Recherchez l'application avec son nom dans la barre de recherche de l'appareil. Vérifiez si l'application est répertoriée
- Vérifiez si l'apparence des boutons qui effectuent des actions standard n'est pas modifiée dans l'application (par exemple: actualiser, organiser, corbeille, Répondre, retour, etc.)
- Vérifiez si les boutons standard ne sont pas utilisés pour d'autres fonctions alors qu'ils sont normalement utilisés pour
Stratégie de test iOS
La figure ci-dessous présente certains types courants de stratégie de test iOS.
Test automatisé
Les tests automatisés sont les principaux avantages des tests iOS. Il vous permet de détecter rapidement le bogue et les problèmes de performances. Les avantages des tests automatisés comme indiqué ci-dessous:
- Les tests automatisés peuvent être exécutés sur plusieurs appareils, ce qui vous fait gagner du temps
- Les tests automatisés peuvent cibler les SDK. Vous pouvez exécuter des tests sur différentes versions du SDK
- Les tests automatisés augmentent votre productivité de test, économisez vos coûts de développement logiciel
- Il existe de nombreux frameworks de test open source prenant en charge les tests automatisés sur iOS
Tests unitaires avec OCUnit
Lorsque le SDK iOS original a été publié, il manquait de capacités de test unitaire. Apple a donc ramené la solution de test unitaire OCUnit dans la version 2.2 du SDK iOS.
OCUnit est un framework de test pour C-Objective sous Mac OS. Les principaux avantages d'un framework OCUnit sont l'intégration étroite dans l'environnement de développement XCode, comme indiqué ci-dessous.
Certains des avantages d'OCUnit sont illustrés dans la figure ci-dessous.
Test de l'interface utilisateur avec UIAutomation
UI Automation est une bibliothèque JavaScript fournie par Apple Inc, qui peut être utilisée pour effectuer un test automatisé sur des appareils réels et sur iOS Simulator. Ce cadre est ajouté à iOS SDK4.0. À l'aide de UI Automation, vous pouvez automatiser le test de l'application non seulement sur le simulateur, mais également sur l'appareil réel.
UIAutomation vous apporte ces avantages:
- Réduisez les efforts sur les tests manuels
- Utilisez moins votre mémoire pour exécuter tous vos tests
- Simplifiez votre procédure de test de l'interface utilisateur (appuyez simplement sur un ou trois boutons et exécutez toutes vos suites de tests)
L'instrument UIAutomation fonctionne à partir de scripts écrits en JavaScript. Il simule les événements utilisateur sur l'application iOS cible.
UIAutomation Inconvénients vs Avantages
Avantages | Les inconvénients | |
---|---|---|
1. | Bon support pour le geste et la rotation | Ce n'est pas open source, moins de support de la part du développeur |
2. | Peut exécuter des tests UIAutomation sur l'appareil, pas le seul simulateur. | Impossible de s'intégrer extrêmement bien avec d'autres outils |
3. | Développé par JavaScript, c'est un langage de programmation populaire. |
La figure ci-dessus représente quelques classes courantes dans le framework UIAutomation.
- La classe UIAElement est la super classe pour tous les éléments de l'interface utilisateur dans le contexte de l'Automation
- La classe UIATarget représente les éléments d'interface utilisateur de haut niveau du système testé
- La classe UIALogger fournit des informations de test et d'erreur sur la fonctionnalité de récupération
- La classe UIAActivityView permet d'accéder et de contrôler les vues d'activité dans votre application.
- La classe UIAActionSheet permet d'accéder aux feuilles d'action et de les contrôler dans votre application.
- Action d'événement utilisateur
- Classe UISlider
- Classe UIAButton
- Classe UIAKey
- Classe UIAKeyboard
Autres cadres de test automatisés
- MonkeyTalk: Un outil de test automatisé des applications iOS, Android, HTML5 et Adobe. C'est un environnement intégré pour gérer et exécuter des suites de tests
- Frank: Framework de test d'acceptation automatisé pour iPhone et iPad
- KIF: est un framework de test d'intégration iOS . Il permet une automatisation facile des applications iOS en tirant parti des attributs d'accessibilité que le système d'exploitation met à disposition des personnes ayant une déficience visuelle.
Test manuel
Essais exploratoires
Il s'agit d'un test sans plan de test formel. Les tests exploratoires sont une méthode de test à faible coût, mais ils peuvent manquer les bogues potentiels dans votre application iOS.
Essais exploratoires: inconvénients et avantages
Avantages | Les inconvénients | |
---|---|---|
1. | Moins de préparation est nécessaire, détectez tôt les bogues graves. | Nécessite une grande compétence du testeur |
2. | Pas besoin de plan de test pour accélérer la détection des bogues. | La couverture des tests est faible. Cela ne garantit pas que toutes vos exigences sont testées. |
3. | La plupart des bogues sont découverts tôt par une sorte de test exploratoire | Manque de documentation de test |
Test utilisateur
Le test utilisateur est un type de test manuel sur iOS. Le but de ces tests est de créer de meilleures applications, pas seulement des applications sans bogues . La figure ci-dessous montre quatre types de tests utilisateur
Test de concept
Évaluez la réponse de l'utilisateur à une idée d'application avant de la lancer sur le marché. Les procédures de test de concept sur iOS sont décrites ci-dessous
Tests d'utilisation
Le test d'utilisabilité est un test de la facilité d'utilisation de votre application iOS. Dans les tests iOS, le test d'utilisabilité peut être enregistré pour se souvenir ou pour partager avec d'autres.
Certains outils prennent en charge les tests d'utilisabilité sur iOS.
Magitest, un test d'utilisabilité iOS simple pour les sites et les applications.
Delight.io, cet outil peut capturer une interaction utilisateur réelle sur vos applications iOS.
Tests bêta
Le test bêta est le test d'intégration avec des données réelles pour obtenir les commentaires finaux des utilisateurs. Pour distribuer vos applications pour les tests bêta, vous devez suivre les étapes ci-dessous.
- Pré-condition : si vous testez en version bêta un candidat final pour une version, assurez-vous de valider l'application avant de la distribuer aux testeurs.
- Trouver un testeur via le service : vous collectez les identifiants d'appareils auprès des testeurs et les ajoutez au Centre des membres
- Créer une distribution ad-hoc : la distribution ad hoc permet au testeur d'exécuter votre application sur son appareil sans avoir besoin de Xcode. Cette étape comprend 2 sous-étapes
- Créer des certificats de distribution
- Créer des profils d'approvisionnement ad-hoc
- Solliciter les commentaires du testeur: le testeur effectue des tests et vous envoie des rapports de bogue. Une fois votre application publiée, vous pouvez obtenir les rapports à partir d'iTunes connect.
Test A / B
Les tests A / B sont l'un des moyens les plus puissants d' évaluer l'efficacité de votre application iOS . Il utilise des expériences randomisées avec deux appareils, A et B.
Les tests A / B comprennent trois étapes principales
- Configurer un test : Préparation de 2 versions de votre application iOS (A et B) et métrique de test
- Test : testez simultanément 2 versions d'applications iOS ci-dessus sur des appareils.
- Analyser : mesurer et sélectionner la meilleure version à publier
Les outils suivants prennent en charge les tests A / B sur iOS.
- Arise: tests A / B pour iOS et Android. Il peut être intégré à votre application iOS et accélérer le processus de test.
Meilleures pratiques pour les tests A / B
- Définissez la cible de votre test. Tout test est inutile sans cible.
- Regardez les utilisateurs finaux utiliser votre application pour la première fois
- Exécutez un seul test par mise à jour. Cela vous fait gagner du temps lorsque vous effectuez des tests
- Surveillez attentivement votre test. Vous pouvez apprendre des expériences de votre test en le surveillant.
Bonnes pratiques de test iOS
Voici quelques conseils à connaître lors de l'organisation du test de votre application iOS
- Testez l'application sur un appareil réel pour obtenir des informations réelles sur les performances
- Améliorez vos méthodes de test, car les méthodes de test traditionnelles ne sont plus suffisantes pour couvrir tous les tests sur les tests iOS
- Utilisation du journal de la console pour tester l'application iOS. Il s'agit d'une fonctionnalité iOS qui comprend des informations de chaque application sur l'appareil.
- Documentez les bogues de l'application à l'aide de la commande de raccourci d'écran intégrée . Cela aide le développeur à comprendre comment les bogues se produisent.
- Les rapports de plantage sont des outils utiles lors du test de votre application. Ils peuvent détecter les plantages et enregistrer les détails afin que vous puissiez facilement enquêter sur les bogues.
MYTHES sur les tests iOS
Cette section examine quelques mythes et réalités populaires des tests iOS
Tester une application sur iOS et Android est la même chose.
iOS et Android sont deux plates-formes développées par Apple Inc et Google. Ils sont totalement différents. Environnements de test etc., frameworks de test, langages de programmation.
Une application de test sur iOS Simulator suffit.
Le simulateur iOS n'est pas assez puissant pour tester une application. Parce que iOS Simulator a certaines limitations:
- Limitations matérielles (caméra, entrée microphone, capteur)
- L'interface utilisateur de votre application peut sembler à la fois plus rapide et plus fluide que sur un appareil
- Limitations de l'API
- Certains frameworks non pris en charge (Media Player, Store Kit, Message UI…)
Tout le monde téléchargera mes applications sur l'App Store car il a de nombreuses fonctionnalités
Plus votre application a de fonctionnalités, plus vous pouvez obtenir de bogues. Aucun utilisateur ne téléchargera votre application si elle présente encore de nombreux défauts.