Réflexion sur mon parcours en matière d'assurance qualité (AQ)
Le titre de cet article doit sembler vraiment étrange pour ceux qui évoluent dans un secteur qui repose sur des ingénieurs, des analystes férus de technologie et autres. Ces personnes ont appris à s'appuyer sur des suites d'automatisation robustes basées sur le codage pour garantir que leurs versions sont aussi exemptes de bugs que possible, en particulier dans un secteur qui exige une amélioration constante et le moins d'interruptions possible pour leurs utilisateurs.
Lorsque l'humanité est passée du vol en avion à l'atterrissage sur la Lune en un laps de temps relativement court, nous avons été absolument impressionnés par les possibilités que nous pouvions réaliser. N'ayant aucune formation en codage, j'ai vu la transformation des tests d'automatisation du commerce électronique de la même manière : un pas de géant pour un secteur qui nécessitait un changement radical dans la façon dont nous procédons pour rendre le secteur des sites Web et des logiciels plus facile à perfectionner.
Je comprends que la comparaison entre l’atterrissage sur la Lune et l’automatisation sans code ne soit pas de la même ampleur. Cependant, le secteur des sites Web et du commerce électronique n’existe que depuis environ trois décennies, ce qui est un laps de temps relativement court pour passer d’une approche basée sur le codage pour garantir le fonctionnement de votre site lors de sa mise sur le marché à un outil d’automatisation des tests sans code que le citoyen moyen peut utiliser pour obtenir le même résultat à des coûts bien inférieurs pour l’entreprise.
Avant de me lancer dans le commerce électronique, j'ai occupé de nombreux postes sans rapport avec le secteur : dans le commerce de détail, dans le secteur bancaire et dans l'enseignement. Les seuls « tests » que j'ai effectués jusqu'à présent concernaient le secteur bancaire, et ils étaient minimes. Dans ma vie personnelle, je suis un joueur sur PC, ce qui, en ce qui me concerne, constitue une expérience informatique valable. J'ai également rarement fait des achats en ligne. Je continue à faire mes achats principalement en personne, même si cela change avec le temps.
En tant que membre de la génération X, j'ai grandi à l'ère de l'informatique. J'ai connu DOS, puis je suis passé à la première version de Windows et, enfin, je suis devenu un utilisateur de macOS tout en travaillant dans l'industrie. Je n'aurais jamais imaginé travailler dans ce domaine en raison d'un manque de connaissances en codage. J'ai toujours pensé que les testeurs n'existaient que pour l'industrie du jeu.
Lorsque j'ai commencé mon parcours en tant que coordinateur d'assurance qualité (AQ), le travail semblait très simple :
- Le client a besoin que notre agence développe/crée une page sur son site Web ou un site Web entier à partir de zéro.
- Notre équipe examine les exigences, telles que la conception, la fonctionnalité et l’intégration avec d’autres composants.
- L’équipe développe ce que le client veut et « teste » le produit localement avant de le publier dans un environnement de développement de test.
C'est là que j'interviens. J'ai une liste simple de scénarios de test à vérifier :
- Est-ce que cela ressemble à ce qui est dans le design ?
- Est-ce que cela fonctionne comme prévu ?
- Avons-nous cassé quelque chose ?
- Le paiement fonctionne-t-il toujours ?
- À quoi cela ressemble-t-il sur cet appareil/navigateur ?
Tant de questions, si peu de temps !
J'ai rapidement découvert que les développeurs détestaient tester presque autant qu'ils détestaient les testeurs : « Quel bug ? C'est bon ! » Ne vous méprenez pas ; nous nous entendons plutôt bien et, au fil des années, ils sont devenus un peu meilleurs pour tester leur propre travail.
Comme vous l'avez probablement deviné, j'ai commencé à tester nos sites manuellement. Pour éviter les coûts énormes liés au maintien d'une variété suffisante d'appareils physiques à tester (qui changent de toute façon constamment), nous avons choisi d'utiliser BrowserStack, un outil de test d'applications et de navigateur low-code/no-code. Cela a permis à notre petite agence d'intensifier nos tests auprès de notre poignée de clients assez rapidement et m'a permis d'apprendre les tenants et aboutissants du monde du commerce électronique au passage.
Au début, j'ai dû m'habituer à tester le Front-End (FE) sur les différents sites pour mieux comprendre comment être un QA approprié. J'ai appris à enregistrer les bugs, à les communiquer à nos différents développeurs FE et à quoi faire attention lorsque nous étions prêts à mettre en ligne la tâche terminée.
La plupart des responsables de l'assurance qualité vous diront que ce travail exige non seulement une attention particulière aux détails, mais aussi une énorme patience. En fait, vous effectuez le même test à plusieurs reprises sur différents appareils/navigateurs. Au début, cela ne semble pas insurmontable lorsque vous n'avez que quelques sites à gérer ; cependant, à mesure que l'entreprise s'est développée, cela est devenu assez stupéfiant pour un contrôle qualité manuel.
Ajoutez maintenant tous ces tests au back-end (BE) de tous ces sites, et la quantité de contrôle qualité requise pour garantir la stabilité est devenue écrasante. Même si cela a rendu le travail plus intéressant et m'a permis d'apprendre beaucoup de choses, la quantité de contrôle qualité requise pour atteindre une stabilité constante était énorme.
Il y a des limites à ce qu'un être humain peut faire sans oublier quelque chose qui risque de détruire la fonction la plus importante de tout site de commerce électronique : le paiement. Cela prive l'utilisateur final de la possibilité d'acheter quoi que ce soit auprès de nos clients, ce qui pourrait être catastrophique.
Au fur et à mesure que notre agence s'est développée de manière organique avec le nombre de clients que nous avions, nos besoins en matière d'assurance qualité ont également augmenté. Nous avons continué à effectuer l'assurance qualité manuellement et, même si nous avons réussi à détecter les problèmes, nous n'avons jamais été parfaits. Dans un secteur qui exige la perfection (ou ce qui s'en rapproche le plus), l'assurance qualité manuelle ne peut pas aller plus loin.
La recherche d'un outil de test automatisé sans code commence
Le problème survient souvent lorsque le cycle de vie des versions crée des goulots d'étranglement. En gros, si chaque site Web sur lequel vous travaillez nécessite la publication d'un nouveau code toutes les semaines ou toutes les deux semaines, cela signifie que vous avez moins de temps que jamais pour effectuer le contrôle qualité, en particulier si vous couvrez plusieurs sites avec une équipe très réduite.
Heureusement, le marché a compris qu’il y avait un besoin urgent d’automatisation qui ne nécessitait aucune expérience en codage. Pour de nombreuses petites agences, l’automatisation n’était probablement pas dans le budget, car elle nécessitait un développeur expérimenté et une montagne d’heures de travail pour créer des processus et des suites d’automatisation pour plusieurs sites de commerce électronique, ce qui rendait la tâche d’autant plus complexe et chronophage.
Lorsque Jon, notre directeur technique/propriétaire, m'a dit qu'un outil d'automatisation de l'assurance qualité sans code était disponible et pouvait répondre à nos besoins en matière d'assurance qualité, j'étais ravi. Nous avons discuté de la stratégie à adopter pour nos problèmes d'assurance qualité les plus chronophages et les plus sensibles et avons décidé de la meilleure façon de procéder.
Lorsque j'ai commencé à travailler avec le premier outil d'automatisation sans code que nous avons sélectionné, je n'avais aucune attente réelle ni idée de ce que je devais rechercher, comme la facilité d'utilisation, la stabilité des tests, la maintenance, le temps nécessaire à la création de tests automatisés et le support qu'il offrait. Au début, c'était une expérience intéressante d'apprendre à utiliser un nouvel outil qui, espérons-le, aiderait notre agence à créer un processus d'assurance qualité plus efficace, mais au fil du temps, cela s'est avéré être un véritable casse-tête.
Je l'avoue, c'était sympa de commencer par : cliquer pour enregistrer votre parcours, faire des assertions en cours de route et laisser le tout s'exécuter sur le cloud pour voir vos résultats. Au début, je pensais qu'il était normal de devoir écrire quelques commandes ou que le cloud mette un certain temps à s'exécuter tout seul.
Tout cela semblait facile, amusant et un excellent moyen d'automatiser nos problèmes. Cependant, nous avons découvert que ce n'était pas comme promis et que cela s'est finalement transformé en une expérience très frustrante.
Les plus gros problèmes auxquels j'ai été confronté concernaient la stabilité des tests et le support de la société qui fournissait l'outil lui-même. Il fallait beaucoup de temps pour exécuter et créer les tests, et une fois que vous pensiez avoir un test stable, il échouait lors des exécutions suivantes. Le support n'était pas très utile, et nous avons même contacté le PDG car nos problèmes ne semblaient jamais avoir de solution logique pour un outil qui était promis comme l'un des meilleurs du marché.
Nous avons essayé de travailler avec les solutions de leurs ingénieurs, nos problèmes ont dépassé leur programme d'assistance habituel, mais cela nous a coûté plus de temps que nous n'en avons gagné. Le but était de nous faire gagner du temps, et non de le perdre à essayer de résoudre des problèmes pour lesquels cet outil était censé être conçu.
Mais nous n'avons pas abandonné. Nous savions qu'il existait quelque chose de mieux et nous l'avons trouvé assez rapidement.
Un pas de géant pour tous les types d'assurance qualité !
Lorsque vous disposez du bon outil pour votre travail, vous vous sentez bien ! C'est incroyable lorsque les choses se mettent en place et que tout commence à évoluer dans la bonne direction très rapidement. J'avais l'impression d'être à bord d'un vaisseau spatial en route vers la lune, depuis les méthodes « troglodytes » de l'assurance qualité manuelle jusqu'à l'utilisation d'un outil d'automatisation sans code qui aiderait notre entreprise à progresser à pas de géant.
Après un mois de tests, nous avons réduit notre choix à 3 outils et en avons trouvé un qui se démarquait des autres : Testim de Tricentis. Ils avaient tout ce qu'il fallait :
- Facilité d'utilisation/interface conviviale
- Test de stabilité
- Maintenance des tests facile
- Le temps nécessaire pour créer des tests était court
- Un soutien incroyable
- Documentation utile et exemples encore meilleurs de cas d'utilisation
Une fois que nous avons trouvé l'outil d'automatisation sans code le mieux adapté à nos besoins, nous avons créé des suites de tests pour résoudre nos problèmes d'assurance qualité les plus importants. En peu de temps, nous avons pu couvrir quelques clients très importants avec des cycles de publication courts.
Cet outil a fourni à notre agence de nouveaux avantages dont nous ne disposions pas auparavant : une assurance significative que le nouveau code ne déstabiliserait pas les conditions stables sur les sites et la capacité de couvrir 100 % des cas de test dont nous avions besoin pour fournir la certitude dont nos clients avaient besoin.
Désormais, avant nos versions, nous pouvons exécuter nos suites de tests pendant la nuit dans notre environnement de test. Le lendemain, une analyse des échecs est effectuée et, dans la plupart des cas, elle détecte ce que nous ne pourrions pas détecter si nous devions contrôler manuellement la qualité des sites.
En effet, auparavant, il y avait trop de cas de test pour assurer une couverture de test à 100 %, car nous ne pouvions en réaliser qu'environ 25 % avant chaque version si nous avions de la chance. Désormais, grâce à cette capacité supplémentaire, nous pouvons gagner du temps, couvrir une variété de tests et en apprendre encore plus sur les éléments d'assurance qualité qui ne sont pas nécessairement couverts dans les suites d'automatisation, tels que les défauts visuels et les tests back-end.
Cela nous a permis de réduire les risques, d'améliorer nos cycles de publication globaux et de maintenir une relation de confiance et saine avec nos clients. En plus de ces avantages, nous disposons désormais de quelque chose que nous n'avions pas auparavant : une paire d'« yeux » supplémentaire qui ne rate pas le moindre changement apporté par nos développeurs et qui aurait pu passer inaperçu avec nos capacités d'assurance qualité manuelle.
Même si je suis très fier de ma capacité à détecter les bugs, les tests robustes de cet outil nous aident à détecter tout ce qui aurait pu être manqué auparavant.
Productivité, efficacité, prévisibilité : intégrez-les à votre stratégie commerciale
Lorsque j'ai commencé à travailler comme responsable de l'assurance qualité il y a plus de sept ans, je n'aurais jamais pu imaginer que j'utiliserais un outil d'automatisation de l'assurance qualité pour faire ce travail. La technologie a évolué rapidement au cours de notre vie. Du bon vieux temps des connexions par ligne commutée avec des sites Web visuellement horribles aux sites ultra-rapides et conviviaux offrant une expérience utilisateur exceptionnelle.
Nous sommes passés des tests sur ordinateur de bureau uniquement aux tests sur tablettes, et nous nous concentrons désormais principalement sur les appareils mobiles, car le monde utilise principalement des appareils portables pour accéder à ce qui était auparavant réservé aux quelques-uns qui pouvaient s'offrir un ordinateur personnel.
Une fois que vous commencez à travailler dans un domaine basé sur la technologie, en particulier dans le secteur en évolution rapide du développement de sites Web ou des achats en ligne, comme moi, vous commencez à apprécier tout avantage qui peut provenir des technologies émergentes dans le domaine.
Depuis que nous avons commencé à utiliser des tests automatisés sans code pour nous aider à assurer la qualité des sites de commerce électronique de nos clients, les avantages sont évidents : stabilité, prévisibilité et une confiance plus forte dans notre capacité à publier du code qui ne perturbe pas la capacité de leurs clients à utiliser le site à toutes sortes de fins.
L'introduction d'un outil d'automatisation des tests low-code/no-code dans votre entreprise peut s'avérer difficile si vous êtes une petite agence avec un budget serré pour vos besoins en matière d'assurance qualité. Alternativement, cela pourrait être extrêmement rentable si votre entreprise emploie la stratégie plus coûteuse consistant à faire appel à des ingénieurs pour coder toutes vos suites d'automatisation. Quoi qu'il en soit, je pense que c'est la voie à suivre avant que l'intelligence artificielle ne prenne le dessus sur tout ce que nous faisons.
Lorsque vous êtes prêt à commencer à rechercher la pléthore d’outils actuellement disponibles sur le marché, voici quelques éléments à prendre en compte :
- Déterminer qui utilisera principalement l'outil. Sera-t-il utilisé par un employé qui ne sait pas coder ou par un développeur ayant une connaissance plus approfondie du code qui utilisera l'outil différemment d'un non-codeur ? Il existe des outils adaptés au premier cas et d'autres au second.
- Déterminez le nombre d'itérations de tests que vous devrez résoudre pour résoudre les problèmes les plus importants de votre entreprise au niveau atomique. Cela vous permettra de déterminer le budget de l'outil que vous choisissez, car beaucoup d'entre eux sont basés sur le nombre de tests mensuels que vous exécutez sur leur cloud. Vérifiez également si les exécutions locales sont comptabilisées dans le total du mois et combien de serveurs vous devrez peut-être utiliser pour exécuter les tests sur le cloud.
- Assurez-vous que l'outil peut effectuer certaines actions personnalisées, telles que des appels d'API et du JavaScript personnalisé. Vous ne savez jamais si ces lignes de code seront utilisées ultérieurement pour des tests plus complexes qu'un développeur peut intégrer pour votre équipe d'assurance qualité. Nous l'avons utilisé pour affirmer les prix des produits B2C/B2B, extraire les codes de cartes-cadeaux pour tester les scénarios de paiement et extraire des informations des e-mails pour garantir que les informations correctes apparaissent à chaque fois.
- Tous les outils ne fonctionnent pas avec le système utilisé par votre entreprise. Certains d'entre eux sont exclusivement destinés aux plateformes Windows, la compatibilité peut donc poser problème si votre entreprise utilise macOS. De plus, certains outils ne permettent pas de réaliser des tests sur des appareils mobiles. Gardez cela à l'esprit si c'est une exigence.
- Lorsque votre entreprise effectue une preuve de concept (POC) avec l'un de ces outils, créez d'abord le type de tests plus complexe dont votre entreprise aurait besoin pour évaluer comment cela correspond à vos besoins. Au cours de cette période de découverte, vous comprendrez vraiment les limites et verrez si cela vous convient.
Une fois que vous avez sélectionné votre nouvel outil d'automatisation low-code/no-code, voici quelques-unes des meilleures pratiques que j'ai apprises au fil du temps :
- Assurez-vous que tous vos agents d'assurance qualité participent à la création des tests. À mesure que votre entreprise se développe et que le chiffre d'affaires augmente naturellement, il sera important de disposer d'un maximum de personnes possédant des connaissances approfondies pour former les nouveaux employés.
- De temps en temps, un développeur sera nécessaire pour s'impliquer dans certains tests, tels que les appels d'API, le JS personnalisé pour les tâches complexes, etc. Bien que les outils soient utilisés sans nécessiter de code, il y a des moments où certains sont utiles pour des tests plus complexes que vous souhaiterez peut-être effectuer.
- Faites en sorte que vos tests soient simples, courts et organisés. Plus un test est long et complexe, plus il est difficile à corriger ou à maintenir. À mesure que vous vous familiariserez avec l'outil, vous voudrez vous assurer d'utiliser votre temps le plus efficacement possible. Regroupez les étapes similaires dans des dossiers partagés pour les réutiliser dans différents tests et modifiez-les uniquement lorsque cela est nécessaire si un changement affectant tous les tests qui partagent cette étape a eu lieu.
- Contactez l'équipe d'assistance de l'outil pour savoir s'ils disposent de moyens plus efficaces pour améliorer les performances de vos différents tests. Ils connaissent l'outil mieux que vous et peuvent avoir d'excellentes recommandations pour vous aider à obtenir les mêmes résultats de manière plus efficace.
Enfin, je pense que c'est l'avenir de la plupart des entreprises, grandes ou petites. L'automatisation sans code sera finalement l'option la moins chère, car elle ne nécessite pas de compétences en codage. À mesure que notre monde devient de plus en plus intégré technologiquement, nous avons imaginé des moyens de simplifier la création et le test des applications. Certains peuvent considérer cela comme une dépense inutile pour leur entreprise, tandis que d'autres verront la valeur et les économies de coûts en temps réel.
Pour résumer, voici pourquoi votre entreprise devrait considérer cela comme un outil d’automatisation sans code :
- Productivité : Une fois que vous avez créé une série de tests pour vos processus les plus importants et les plus complexes, votre équipe peut se concentrer sur différents aspects de votre entreprise, libérant ainsi du temps pour d'autres initiatives et permettant à vos cycles de publication de se dérouler sans retards inattendus ni bugs majeurs. Étant donné que cela permet de détecter les bugs plus rapidement, vos développeurs pourront résoudre les problèmes bien avant la date de sortie de votre produit pour les résoudre. Par conséquent, ils auront également plus de temps pour travailler sur de nouvelles initiatives et sur le développement sans autant d'entraves.
- Efficacité : Au lieu d'exécuter manuellement la même série de tests ou de créer/maintenir un code complexe pour couvrir les tests, votre équipe n'aura qu'à examiner vos exécutions de tests en cas d'échec. Après cela, il est très facile de maintenir vos tests si votre application change ou simplement de créer de nouveaux tests en fonction de nouvelles exigences. Comme ceux-ci peuvent être exécutés pendant la nuit ou le week-end, votre équipe peut en faire plus pendant la journée pour respecter ces délais serrés.
- Prévisibilité : dans ce secteur d'activité où la technologie évolue constamment, la prévisibilité est un atout majeur. Si vos cycles de publication sont plus stables et moins bogués, vos clients seront heureux d'avoir un partenaire fiable. Il n'y a rien de pire que de tester jusqu'à la dernière minute et de découvrir un nouveau bug ou, pire encore, de le découvrir après sa publication. Personne ne souhaite cela, et si vos tests peuvent produire de manière prévisible des applications pour la plupart exemptes de bugs, cela ne fera qu'augmenter vos résultats. Cela renforcera la confiance et une relation durable au sein de vos cercles d'affaires.
Conclusion
Ce pas de géant, depuis une automatisation basée sur le codage, qui était généralement inabordable pour les petites agences, vers un outil d'automatisation non basé sur le codage qui nécessite très peu de formation et d'expertise, a aidé notre type d'entreprise à se développer. Non seulement il est plus intéressant à utiliser pour vos QA que les tests manuels, mais il vous permet également de rediriger leurs efforts vers des projets plus complexes qui n'étaient pas correctement testés par vos développeurs (ils ne sont pas tous en faute, ou le sont-ils ?).
Pour l’instant, c’est le bond en avant dont nous avons besoin – en attendant que l’intelligence artificielle finisse par tout faire – un bond en avant pour votre entreprise. Votre seul regret sera : « Pourquoi n’ai-je pas fait cela plus tôt ? »
Asaf Salem est le responsable de l'équipe d'assurance qualité de Blue Badger. Fort de sept années d'expérience dans le test des sites sur lesquels les clients de notre agence comptent quotidiennement, Asaf est fier de sa capacité à diriger et à motiver son équipe pour qu'elle apprenne et s'améliore en permanence afin d'aider nos clients du commerce électronique à se développer et à prospérer dans cet espace concurrentiel et en constante évolution.
Blue Badger est une agence de commerce électronique qui propose des services tels que la conception et le développement de thèmes personnalisés, la stratégie, l'optimisation du taux de conversion, le marketing de performance, etc. Laissez-nous vous aider à créer un écosystème de commerce électronique sur lequel vous pouvez compter. Contactez-nous dès aujourd'hui pour en savoir plus.