Tendances des tests en 2020


Auteur de l'article: Dmitry Shadrin



introduction


Je voudrais partager mon top des outils de test qui m'aident chaque semaine à travailler efficacement et à améliorer mes performances.

Je fais des tests externalisés et je dois travailler avec différents types de produits: applications et jeux mobiles, web, projets sérieux de crypto-monnaie pour Desktop, etc. Dans cet article, je souhaite sélectionner les outils les plus pratiques et les plus utiles pour m'aider à optimiser mon travail lors du test des applications mobiles.

Applications mobiles


La chose la plus importante qui doit être soulignée lors du test d'une application mobile est le test fonctionnel . Lorsque vous avez décidé pour qui votre produit est destiné, qui est le consommateur final, vous ne pouvez alors effectuer des tests de bout en bout compétents pour votre application.

Nous commençons toujours les tests en respectant les exigences et la conception de l'application. Un bon AQ doit connaître les exigences du produit testé et un excellent doit être ami avec la conception. Et cela signifie non seulement être en mesure de regarder dans Figma, Invision ou Zeplin, mais aussi de comprendre le fonctionnement de l'interface utilisateur / UX de son application.
Pour consolider plus précisément tous les mouvements des utilisateurs sur les écrans des applications, une carte mentale est généralement compilée. Parmi les plus pratiques pour moi, je peux distinguer xMind, Mindomo et MindMeister.

Avec l'avènement et la mise à jour de la carte mentale, il devient plus facile de tester les applications, et ce qui est particulièrement pratique est de mettre à jour et de reconstituer la documentation de test (liste de contrôle, par exemple).

Une bonne liste de contrôle est basée sur les exigences du projet, la documentation des fonctionnalités et des tâches assignées à l'équipe dans l'implémentation actuelle. La carte mentale vous permet de ne pas oublier et de prendre en compte toutes les nuances, ce qui constitue un excellent terrain pour des tests de bout en bout. Un service qui vous aidera à la fois à trouver des listes de contrôle prêtes à l'emploi et à mettre à jour la vôtre: https://checkvist.com/checklists/476089


Les outils qui seront nécessaires pour vérifier les cas ci-dessus: les

renifleurs Charles ou Fiddler, comme les outils d'analyse du trafic réseau les plus populaires à ce jour. Ils vous permettent de vérifier les cas de panne de réseau et de faiblesse d'Internet, d'examiner les demandes sortantes et les réponses reçues. Ils vous permettent également de simuler certaines situations difficiles à reproduire sur des cas réels.

Les données des renifleurs seront utiles lors de tests supplémentaires de l'API. Mais pour travailler avec l'API, je vous conseille d'utiliser des outils spécialisés: Swagger UI, Postman. Les deux outils résolvent deux problèmes: la documentation des demandes et leur vérification interactive.

Il convient de réfléchir à l'automatisation du processus de test. L'une des solutions les plus courantes pour automatiser le test de l'interface utilisateur des applications mobiles estAppium . Un seuil d'entrée relativement facile et une abondance de documentation, ainsi qu'une énorme base de spécialistes en AQ qui aideront toujours à répondre aux questions.

Appium est un outil multiplateforme open source gratuit qui permet d'automatiser les applications pour Android et iOS. C'est l'un des outils les plus utilisés pour créer des tests automatiques pour smartphones et tablettes.

Les avantages incontestables d'Appium sont la facilité d'utilisation, ainsi que la prise en charge de nombreux langages de programmation: Java, Ruby, Python, C #, PHP.

Avant de commencer à travailler avec Appium, vous devez configurer l'environnement à partir des composants suivants:



Une fois le logiciel installé, vous pouvez prendre soin de l'application. Vous aurez besoin .apk-d'un fichier .ipa pour iOS pour une application Android afin que cette application soit installée sur l'appareil sélectionné lors de l'exécution des tests. Si l'application n'a pas été installée sur l'appareil, le code de test l'installera, puis exécutera les tests eux-mêmes.

Dans le processus de test de l'automatisation, tôt ou tard se pose la question: tester sur de vrais appareils ou utiliser des émulateurs. Comme le montrent la pratique et les statistiques impitoyables, les émulateurs ne sont pas une panacée. Les situations sont très courantes lorsque tout fonctionne parfaitement sur les émulateurs et que tous les tests sont réussis. Mais sur un vrai appareil, l'application est bloquée par un système de sécurité, le fonctionnement d'une autre application ou un firmware personnalisé (bonjour Android!).
Ma recommandation est de combiner et d'utiliser des batteries de périphériques. Des services tels que BrowserStack, AWS Device Farm, Xamarin Test Cloud. Vous vous connectez à de vrais appareils, vous pouvez intégrer vos autotests dans ces services et consulter les résultats. Mais il vaut toujours la peine d'avoir des appareils cibles dans le parc d'appareils, ainsi que des appareils des barres supérieure et inférieure (le minimum autorisé et le produit phare). Codecept.io

est une bonne alternative à Appium .
Si vous préférez JS comme langage de développement des autotests, bienvenue dans CodeceptJS. Documentation détaillée, les tests ne prennent pas beaucoup d'espace sur l'écran (vous comprendrez ce que je veux dire) et le support actif de tous les systèmes d'exploitation mobiles modernes vous fera penser en faveur de cet outil.

Une fois que votre projet a augmenté un nombre important d'autotests, il serait bien d'automatiser leur lancement chaque fois que vous créez une nouvelle version. Personnaliser et configurer cela vous aidera dans les systèmes CI \ CD modernes. Personnellement, je préfère Jenkins ou Teamcity, mais ici c'est une question de goût.

Un autre outil pour réduire et optimiser les tests de régression est la matrice de dépendance (c'est aussi une matrice de trace). En bref - il s'agit d'un tableau dans lequel les dépendances des éléments du système les uns par rapport aux autres sont notées. Pour compiler une telle matrice, vous devez comprendre le code de l'application et cela vous aidera également à consulter l'architecte du projet. Mais au final, un tel outil réduira considérablement (dans ma mémoire - jusqu'à 40%) le temps des tests de régression. Vous pouvez en savoir plus sur la matrice.ici .

Conseils


Voici mon ensemble de conseils utiles pour trouver le nombre maximum d'erreurs, compte tenu des spécificités des applications mobiles.

  • Vérifiez toujours l'étui pour le pliage / l'inversion, le réveil du mode veille et l'activation / la désactivation. Pour Android, il existe un paramètre - Ne pas garder d'activités ( DNKA ). Lors des tests avec ce paramètre, assurez-vous d'indiquer cette abréviation dans les bogues afin qu'il soit plus facile pour le développeur de le reproduire.
  • Notifications / notifications - il existe des notifications locales et de serveur (c'est-à-dire liées à une connexion réseau). Il vaut toujours la peine de s'en souvenir et de vérifier leur bon fonctionnement. Ils doivent toujours conduire à l'écran cible. Ou vous devez les abandonner jusqu'à ce que les développeurs aient trouvé la bonne façon de naviguer.
  • Charles . .
  • , , . . , .
  • . iOS: ipa- . Android , , . .
  • , QA . .
  • . , . , . . . “ ” .
  • . , . 20% . , . , , “ QA”.
  • . .


Dans cette note, je voulais passer en revue les outils de base et les conseils que j'utilise dans mon travail quotidien. Vous pouvez en savoir plus sur tous les outils modernes dans notre cours sur les tests mobiles sur la plate-forme de formation OTUS. Je vous invite également à une leçon gratuite, dans le cadre de laquelle nous discuterons plus en détail des pratiques de test modernes pour les applications mobiles Android / iOS, parler de l'ensemble nécessaire de testeurs en 2020 et examiner le sujet de l'automatisation de notre travail et de nos tests.

All Articles