paint-brush
Pourquoi vous devez passer à gauche avec les tests mobilesby@johnjvester
155

Pourquoi vous devez passer à gauche avec les tests mobiles

John Vester6m2024/07/15
Read on Terminal Reader

Essayer d’acquérir un avantage concurrentiel dans l’espace mobile semble être à la traîne par rapport aux autres aspects de la technologie. Imaginez un monde dans lequel vous pouvez passer à gauche avec vos tests mobiles.
featured image - Pourquoi vous devez passer à gauche avec les tests mobiles
John Vester HackerNoon profile picture
0-item


J'ai l'impression qu'il y a toujours eu une relation amour-haine avec le concept de test. Sans aucun doute, les avantages de tester tout ce que vous construisez aident à éviter que les clients ne signalent ces mêmes découvertes. C'est la partie amoureuse de la relation.


La partie haineuse se produit lorsque les délais du projet font que les tests deviennent une priorité moindre… souvent au point qu'ils deviennent un élément de la liste de souhaits du backlog qui apparaît rarement dans un sprint en cours. Cela garantit presque que les clients vous contacteront avec des résultats inattendus.


À mesure que les cycles de vie de développement logiciel (SDLC) ont mûri, les tests sont devenus plus faciles, permettant aux développeurs de créer des tests unitaires qui couvrent entièrement l'aspect en cours de validation. L'utilisation de ChatGPT ou de GitHub Co-Pilot a mûri au point où de tels tests unitaires peuvent être générés automatiquement. Les solutions d'outils d'intégration continue (CI) se sont améliorées pour appliquer des niveaux élevés de couverture de code avant que toute demande d'extraction (PR) puisse être fusionnée. Cela permet aux équipes de se déplacer vers la gauche dans leur développement, ce qui oblige à résoudre les problèmes pendant la phase de développement et à réduire le coût des fonctionnalités en cours de route.


Cette approche a très bien fonctionné pour les API et les frameworks Web traditionnels, mais le test des applications mobiles nécessite souvent que les équipes effectuent des tests manuels, en les exécutant à partir d'une liste d'étapes publiée sur autant de types d'appareils différents que possible.


Je voulais voir si je pouvais identifier une manière dont le développement et les tests mobiles pourraient utiliser le concept de décalage à gauche.

Ce qui manque dans les tests mobiles

À un niveau élevé, l’espace des applications mobiles doit avoir la capacité de tester les caractéristiques et les fonctionnalités de la même manière que les API et les frameworks Web le font aujourd’hui. Cela signifie cesser d’effectuer des tests manuellement à l’aide d’un inventaire d’appareils physiques ou d’émulateurs.


Cet état idéal des tests mobiles serait piloté par l’interface utilisateur pour éviter d’écrire des tests énigmatiques axés sur l’activité des utilisateurs. Cette approche pourrait étendre l'outillage aux consommateurs internes ou aux propriétaires de produits qui souhaitent valider leur vision comme une réalité.


Tout comme les tests unitaires ou d'intégration traditionnels, la possibilité d'introduire des modules peut valider de petits aspects de l'application mobile et être utilisée comme éléments de base pour des flux plus importants. Ce faisant, les équipes pourront rester « au sec » (ne vous répétez pas) et éviter les doublons.

Enfin, ces tests devront pouvoir faire partie du pipeline CI/CD, bien qu'ils soient pilotés par une interface utilisateur graphique.


Dans cet état idéal, les ingénieurs logiciels mobiles peuvent effectivement se consacrer à leur développement et à leurs tests mobiles.

Qu’est-ce que « Shift Left » ?

C'est une bonne idée de clarifier ce que je veux dire lorsque je dis « décaler vers la gauche » pour les tests mobiles.


Wikipédia définit le décalage vers la gauche pour les tests comme indiqué ci-dessous :


« Les tests avec décalage à gauche sont une approche des tests de logiciels et de systèmes dans laquelle les tests sont effectués plus tôt dans le cycle de vie (c'est-à-dire déplacés vers la gauche sur la chronologie du projet). C'est la première moitié de la maxime « tester tôt et souvent ». Il a été inventé par Larry Smith en 2001. »


Le simple fait d'adopter le décalage vers la gauche permet d'identifier les défauts pendant la phase de développement. Ceci est important car le problème peut être résolu alors que la fonctionnalité est fraîche dans l’esprit du ou des ingénieurs concentrés sur la source.


Voici quelques-uns des avantages de l’adoption du décalage à gauche :


  • Réduction des coûts pour fournir des fonctionnalités en trouvant et en corrigeant les problèmes au moment du développement.
  • Efficacité accrue grâce à un temps réduit nécessaire pour revoir les solutions longtemps après la livraison.
  • Qualité supérieure car obligée de couvrir et de valider entièrement pendant la phase de développement.


En fin de compte, le concept de déplacement vers la gauche conduira à un avantage concurrentiel lorsque les solutions parviendront aux consommateurs, qui seront validées et fonctionneront comme prévu.

À propos de Tosca

L'année dernière, j'ai exploré l'utilisation de Tricentis Testim dans mon article « Améliorer la qualité des applications orientées client à l'aide de Tricentis Testim ». J'ai été impressionné par la facilité avec laquelle il a été possible de valider ma solution Magic 8 Ball à l'aide d'une API RESTful basée sur GO et d'un client Web Vue.js. Je voulais voir si Tricentis avait une solution qui permettrait aux équipes de se déplacer vers la gauche pour les tests mobiles.


Il s'avère qu'ils ont un produit appelé Tosca .


Le produit Tosca permet la génération de tests sans code, permettant la création de petits modules pouvant être réutilisés et automatisés. Ces modules peuvent être considérés comme des blocs Lego qui peuvent être connectés si nécessaire grâce à l'emploi d'un contrat standardisé entre eux. Tosca se rapproche des cycles de vie de développement plus traditionnels en offrant la possibilité d'exploiter l'IA pour vous aider à générer des tests mobiles pour vos fonctionnalités.


Tosca exploite également la puissance du projet open source Appium sans une lourde courbe d'apprentissage via l'agent mobile Tricentis. Cela permet d’inclure toute la puissance fournie dans mon article précédent dans le parcours de transition vers la gauche avec le développement mobile.


En conséquence, Tosca permet de tester des applications mobiles natives, hybrides et Web sur de vrais appareils iPhone, Android, téléphones mobiles et tablettes sans entretenir ni posséder ces appareils.


Tout comme le produit Testim, la solution Tosca offre la possibilité d'exécuter des tests dans le cadre de pipelines CI/CD, permettant ainsi l'application de l'adoption du décalage à gauche.


Vous pouvez utiliser Tosca pour tester directement sur un téléphone iOS ou Android, ainsi que via des émulateurs ou des simulateurs disponibles via un IDE comme Android Studio. À l'aide de Tosca, vous pouvez analyser votre application et lui faire créer des cas de test :


Une fois que Tosca a créé les cas de test, vous pouvez également créer vos propres cas de test.


L'un des avantages de Tosca est qu'il permet d'écrire des tests sans avoir à écrire de code. Ceci est rendu possible grâce à sa bibliothèque de modules qui peuvent simuler presque toutes les actions, y compris l'ouverture d'un navigateur ou le remplissage d'un formulaire.


Dans cet exemple, nous avons utilisé trois modules pour notre scénario de test mobile Tosca. Nous testons :


  1. Ouvrir un navigateur et atteindre le point de terminaison de notre application
  2. Sélection d'un type particulier de véhicule
  3. Remplir un formulaire sur ce véhicule particulier


Notez que tout ce que nous avions à faire est de fournir des exemples d'entrées (dans la capture d'écran, nous le faisons pour l'étape 3 mise en évidence ci-dessus). Une fois le test terminé, vous recevrez un rapport de diagnostic sur Tosca.

Décaler vers la gauche pour les tests mobiles

En tirant parti d'un produit comme Tosca, les ingénieurs logiciels axés sur le développement mobile peuvent donner à leurs équipes un avantage concurrentiel en utilisant ce qui reste pour les tests mobiles :


  • Les fonctionnalités mobiles sont validées lors de la phase de développement, à l'instar des services et des frameworks Web.
  • Les tests sont pilotés par une interface utilisateur qui peut être étendue aux consommateurs internes et aux propriétaires de produits pour les aider à consolider leur vision.
  • La suite de tests peut être construite à partir d’une collection de modules « secs » structurés pour couvrir entièrement les nouvelles caractéristiques et fonctionnalités.
  • Les tests peuvent être exécutés sur un inventaire exhaustif d’appareils mobiles sans posséder ni entretenir ces appareils.
  • Avant d'introduire de nouvelles fonctionnalités dans la branche de code principale, le PR associé aurait appelé les tests générés par l'interface utilisateur de la même manière que les tests unitaires ou d'intégration sont exécutés dans les pipelines CI/CD d'API ou de framework Web.

Conclusion

Mes lecteurs se souviendront peut-être que je me suis concentré sur l'énoncé de mission suivant, qui, à mon avis, peut s'appliquer à tout professionnel de l'informatique :


« Concentrez votre temps sur la fourniture de caractéristiques/fonctionnalités qui augmentent la valeur de votre propriété intellectuelle. Tirez parti des frameworks, des produits et des services pour tout le reste. -J.Vester


Pour atteindre une productivité maximale, les ingénieurs logiciels axés sur le développement mobile doivent adopter le décalage vers la gauche pour les tests mobiles . Cependant, le choix idéal doit prendre en compte toute courbe d’apprentissage et toute possibilité de prise en charge associées lors de la recherche de solutions.


Le produit Tosca adhère à ma déclaration de mission personnelle en permettant aux équipes d'atteindre l'état de décalage à gauche sans code source supplémentaire à prendre en charge et à maintenir. Le produit permet également à des non-ingénieurs de participer au développement des tests, donnant ainsi aux équipes un avantage en garantissant que les conceptions correspondent aux attentes.


J'utilise personnellement l'approche Shift Left depuis plusieurs années et j'apprécie l'expérience chaque fois qu'un défaut est évité simplement en suivant le processus. Il est temps que le développement mobile utilise le concept de décalage vers la gauche.


Passez une très bonne journée !