Tutoriel de test d'application iOS : manuel et automatisation

Qu'est-ce que le test d'application iOS ?

Test d'application iOS 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, la fonctionnalité, le temps de chargement, les performances, l'application. Liste des magasins, prise en charge de la version du système d'exploitation, etc.

Pourquoi tester des applications iOS ?

Test d'application iOS est requis car iOS est la plate-forme d'Apple pour les applications mobiles qui a été lancé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. Votre application iOS doit donc être compatible avec les versions iOS et les appareils iOS.

Test d'application IOS

C'est la question courante lorsque le développeur crée une application iOS.

Test d'application IOS

Peu importe le temps que vous investissez dans la conception et la mise en œuvre, les erreurs sont inévitables et des bugs apparaîtront. Il existe quelques bugs courants sur l'application iOS. Comme le montre la figure ci-dessous.

Test d'application IOS

L'application plante

L’un des problèmes les plus frustrants lors de l’utilisation des appareils Apple est qu’une application peut planter fréquemment pendant son exécution. Plusieurs fois, l’application plante en raison de bugs ou d’une fuite de mémoire dans les applications.

Incompatibilités des applications

Votre application iOS peut fonctionner parfaitement sur la version actuelle d'iOS, mais si iOS est mis à niveau, elle risque de 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 informatique d'attaquer vos appareils iOS et de voler vos informations privées. Jusqu’à présent, de graves vulnérabilités de sécurité sur iPhone ont été 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 crash de votre application iOS.
Ce sont des bugs et doivent toujours être corrigés.

Tests iOS MindMap

MindMap de test IOS

Comme le montre la figure ci-dessus, iOS USP,EP, BP MindMap affiche tous les éléments que le testeur doit prendre en compte lors des tests sur iOS.

Liste de contrôle pour les tests d'applications iOS

Cette liste de contrôle est spécifiquement conçue pour tester les caractéristiques des applications mobiles iOS. Évidemment, il teste uniquement les caractéristiques génériques de l’application et non ses fonctionnalités.

  • Vérifiez le temps d'installation de 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 a une icône et un nom d'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 s'affiche.
  • Vérifiez le délai d'expiration de l'écran de démarrage et le temps nécessaire au chargement de l'écran d'accueil. L'écran d'accueil de l'application devrait se charger dans un délai acceptable. Si l'écran d'accueil prend seulement plus de temps à charger, l'utilisateur a alors 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 configurée 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 plante au lancement ou affiche simplement un écran vide.
  • Si l'application utilise les services de localisation, vérifiez si l'alerte d'autorisation de localisation s'affiche ou non. Cette alerte ne doit être envoyé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 doit également être envoyée à l'utilisateur une seule fois.
  • Lancez l'application, quittez-la et relancez-la. 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 est disponible dans « App Store ». Il y aura une version du système d'exploitation prise en charge pour l'application. Assurez-vous donc que l'application peut être trouvée dans « App Store » de l'appareil avec 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 chargement de contenu, vérifiez s'il y a 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 standards 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.

Stratégie de test IOS

L'automatisation des tests

Les tests automatisés constituent le plus grand avantage des tests iOS. Il vous permet de détecter rapidement les bugs et les problèmes de performances. Les avantages des tests automatisés comme indiqué ci-dessous :

  • Les tests automatisés peuvent s'exécuter 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 tests open source prenant en charge les tests automatisés sur iOS

Tests unitaires avec OCUnit

Lorsque le SDK iOS d'origine a été publié, il manquait Tests unitaires capacités. Apple a donc ramené le OCUnite solution de test unitaire dans iOS SDK version 2.2.

OCUnit est un framework de test pour C-Objectif sous Mac OS. Les plus grands avantages d'un framework OCUnit sont l'intégration étroite dans Xcode environnement de développement comme indiqué ci-dessous.

Tests unitaires avec OCUnit

Certains des avantages d'OCUnit sont illustrés dans la figure ci-dessous.

Tests unitaires avec OCUnit

Test d'interface utilisateur avec UIAutomation

Test d'interface utilisateur avec UIAutomation

Automatisation de l'interface utilisateur est une Javascénario bibliothèque fournie par Apple Inc, qui peut être utilisée pour effectuer un test automatisé sur des appareils réels et sur iOS Simulator. Ce framework est ajouté au SDK iOS 4.0. Grâce à 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 Test manuel
  • Utilisez moins votre mémoire pour exécuter tous vos tests
  • Simplifiez votre procédure de test d'interface utilisateur (appuyez simplement sur un ou trois boutons et exécutez complètement 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.

Inconvénients et avantages d'UIAutomation

Avantages Inconvénients
1. Bon maintien du geste et de la rotation Ce n'est pas open source, moins de support du développeur
2. Peut exécuter des tests UIAutomation sur l’appareil, pas sur 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.

Test d'interface utilisateur avec UIAutomation

La figure ci-dessus représente certaines classes courantes dans le framework UIAutomation.

  • Les UIAElément class est la super classe pour tous les éléments de l'interface utilisateur dans le contexte de l'Automation
  • Les AUITarget la classe représente les éléments d'interface utilisateur de haut niveau du système testé
  • Les UIALogger la classe fournit des informations de test et d'erreur sur la fonctionnalité de récupération
  • Les UIAActivityViewLa classe permet d'accéder et de contrôler les vues d'activité au sein de votre application.
  • Les Feuille d'action UIA La classe permet d'accéder et de contrôler les feuilles d'action au sein de votre application.
  • Utilisateur Action d'événement
  • Classe UISlider
  • Classe UIAButton
  • Classe UIAKey
  • Classe UIAKeyboard

Autres frameworks de tests automatisés

  • Franck: Automatique Test d'acceptation cadre pour iPhone et iPad
  • Kif : est un iOS test d'intégration cadre. Il permet une automatisation facile des applications iOS en tirant parti des attributs d'accessibilité que le système d'exploitation met à la 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 peu coûteuse, mais ils peuvent manquer les bugs potentiels de votre application iOS.

Inconvénients et avantages des tests exploratoires

Avantages Inconvénients
1. Less une préparation est nécessaire, détectez tôt les bugs graves. Nécessite une grande compétence du testeur
2. Pas besoin Plan de test accélérer la détection des bugs. La couverture des tests est faible. Cela ne garantit pas que toutes vos exigences soient testées.
3. La plupart des bogues sont découverts tôt grâce à une sorte de test exploratoire Manque de documentation de test

Utilisateurs-Testeurs

Les tests utilisateur sont un type de test manuel sur iOS. Le but de ces tests est de créer de meilleures applications, non seulement sans bug applications. La figure ci-dessous montre quatre types de tests utilisateur

Utilisateurs-Testeurs

Test de concept

Évaluez la réponse des utilisateurs à une idée d’application avant de la commercialiser. Les procédures de test de concept sur iOS sont décrites ci-dessous

Test de concept

Tests d'utilisabilité

Tests d'utilisabilité est un test de la facilité d'utilisation de votre application iOS. Dans les tests iOS, le test d'utilisabilité pourrait être enregistré à retenir ou à partager avec les autres.

Certains outils prennent en charge les tests d'utilisabilité sur iOS.

TryMyUI applications de test utilisateur mobile pour Android et iOS.

Délice.io, cet outil peut capturer une interaction réelle de l'utilisateur sur vos applications iOS.

Test bêta

Les tests bêta sont 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.

Test bêta

-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'appareil des testeurs et les ajoutez à 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 besoin Xcode. Cette étape comprend 2 sous-étapes

  • Créer des certificats de distribution
  • Créer des profils de provisionnement ad hoc

-Solliciter les commentaires du testeur : Le testeur effectue des tests et vous envoie des rapports de bogues. Une fois votre application publiée, vous pouvez obtenir les rapports depuis iTunes se connecter.

Le test A / B

Le test A / B est l'un des moyens les plus puissants de évaluer l'efficacité de votre application iOS. Il utilise expériences randomisées avec deux appareils, A et B.

Test A / B

Les tests A/B comprennent trois étapes principales

  • Configurer un test: Préparation de 2 versions de votre application iOS (A & B) et test de métrique
  • Le test: Testez simultanément 2 versions d'applications iOS ci-dessus sur les appareils.
  • Analyser : Mesurez et sélectionnez la meilleure version à publier

Les outils suivants prennent en charge les tests A/B sur iOS.

  • Survenir : 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éfinir la l'objectif de votre essai. Tout test est inutile sans cible.
  • Regardez les utilisateurs finaux utilisent votre application pour la première fois
  • Courir UN tester uniquement par mise à jour. Cela vous fait gagner du temps lorsque vous effectuez des tests
  • Écran tactile votre test avec soin. Vous pouvez tirer des leçons de votre test en le surveillant.

Test iOS Meilleure pratique

Voici quelques conseils à connaître pour organiser le test de votre application iOS

  1. Testez l'application sur un appareil réel pour prendre conscience de la performance
  2. Améliorer vos méthodes de tests, car les méthodes de tests traditionnelles ne suffisent plus à couvrir tous les tests sur les tests iOS
  3. En utilisant journal de la console pour tester l'application iOS. Il s'agit d'une fonctionnalité iOS qui inclut des informations sur chaque application de l'appareil.
  4. Documents bogues d'application utilisant écran intégré court commande. Cela aide le développeur à comprendre comment les bogues se produisent.
  5. Rapport d'incident est un outil utile pour tester 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 concernant les tests iOS.

Application de test sur iOS et Android sont la même chose.

iOS ou Android Ce sont deux plates-formes développées par Apple Inc et Google. Ils sont totalement différents. Etc. environnements de test, frameworks de test, langages de programmation.

Tester une application sur iOS Simulator suffit.

iOS Simulator n'est pas assez puissant pour tester une application. Parce qu'iOS Simulator a certaines limitations :

  • Limitations matérielles (caméra, entrée microphone, capteur)
  • L'interface utilisateur de votre application peut sembler fonctionner à la fois plus rapidement et plus facilement que sur un appareil
  • Limites de l'API
  • Certains frameworks ne sont pas pris en charge (Media Player, Store Kit, Message UI..)

Tout le monde téléchargera mes applications sur l'App Store car elle possède de nombreuses fonctionnalités

Plus votre application possède de fonctionnalités, plus vous pourriez rencontrer de bugs. Aucun utilisateur ne téléchargera votre application si celle-ci présente encore de nombreux défauts.