paint-brush
Comment rendre l'assurance qualité transparente : Allure TestOps pour une assistance de qualitépar@adtechholding
1,119 lectures
1,119 lectures

Comment rendre l'assurance qualité transparente : Allure TestOps pour une assistance de qualité

par AdTech Holding8m2023/02/20
Read on Terminal Reader

Trop long; Pour lire

Lead QA chez PropellerAds, qui fait partie d'AdTech Holding, partage les meilleures pratiques pour travailler avec l'outil Allure TestOps. Mikhail Sidelnikov : « Le test est la base de la qualité. Mais il n'aime pas la solitude - le test n'est pas un introverti !
featured image - Comment rendre l'assurance qualité transparente : Allure TestOps pour une assistance de qualité
AdTech Holding HackerNoon profile picture


Nous avons déjà présenté nos pratiques d'AQ et combien nous nous soucions de la transparence de tous les processus. Mais comment assurer cette transparence à tous les niveaux de développement ?

Aujourd'hui, nous avons de nouvelles idées de Mikhaïl Sidelnikov , le responsable de l'assurance qualité de PropellerAds, qui fait partie d'AdTech Holding. Mikhail a partagé les meilleures pratiques pour travailler avec l'outil Allure TestOps.


Pourquoi l'équipe l'a-t-elle choisie, quels outils utilisait-elle auparavant et quand Allure TestOps devient-il la meilleure solution pour des workflows d'assistance de qualité ?

Pourquoi la transparence est-elle si importante ?

En tant qu'entreprise basée sur des technologies de pointe, PropellerAds utilise l'approche CI/CD. Cela implique des versions constantes plusieurs fois par jour, de sorte que le processus ne doit tout simplement pas être interrompu en raison de malentendus ou d'erreurs.


Comment ça marche?

  • Un développeur crée une pull request
  • L'équipe QA commence immédiatement les tests
  • Les résultats des tests apparaissent instantanément dans Github, Slack et Allure TestOps.


C'est un processus continu — tout est automatisé et il n'y a presque pas de travail manuel. Le résultat de ce processus doit être un produit de haute qualité - et c'est pourquoi chaque étape doit être transparente.


Mais comment l'assurer ?


Mikhaïl :

— « Le test est la base de la qualité. Mais il n'aime pas la solitude — le test n'est pas un introverti ! Il a besoin d'une famille et d'amis de son genre pour apporter une réelle valeur. Et, comme tout le monde dans la vraie vie, un test et sa famille ont besoin d'un logement confortable avec une infrastructure pratique et un espace d'amélioration.


Alors, comment l'équipe d'assurance qualité de PropellerAds a-t-elle résolu la "question du logement" pour ses tests ?

Premières pratiques d'assurance qualité dans PropellerADs

Au début, PropellerAds ne disposait même pas d'un service d'assurance qualité à part entière : il n'a été organisé qu'en 2015. Il a fallu du temps pour automatiser les flux de travail et constituer une équipe efficace et inspirée.


Plus l'équipe grandissait, plus ses demandes augmentaient aussi ! Le nombre de tests et de microservices augmentait rapidement - et il était essentiel de les garder tous organisés. Sinon, il deviendrait impossible de travailler avec eux, de s'intégrer à divers CI/CD - et de rester transparent, après tout.


Implémentation de TestRail

Les fondateurs de l'équipe PropellerAds QA avaient une longue expérience de travail avec TestRail. C'est donc devenu la solution la plus évidente. De plus, il semblait répondre à tous les besoins de l'équipe comme suit :


  • Fonctionnalités requises : tenue de cas, historicité, lancement de test
  • Intégration assez acceptable avec Jira
  • Expérience de l'équipe dans l'intégration de TestRail avec CI/CD
  • Expérience globale de travail de l'équipe avec TestRail


Alors, la décision était prise.

Problèmes avec TestRail

Tout s'est plutôt bien passé au début. Pourtant, après un certain temps, l'équipe a estimé que TestRail n'était pas le meilleur outil répondant à tous ses besoins. Quel était le problème? Le point principal était que l'équipe grandissait encore et que tous les processus devenaient beaucoup plus exigeants.


En d'autres termes, tout évoluait rapidement :


  • L'équipe;
  • Le nombre de caisses manuelles
  • Le nombre de tests manuels
  • Le nombre de sorties


Mikhaïl :

— Il est devenu extrêmement difficile et incommode de créer d'abord des cas dans TestRail, puis de le faire dans le code. Nous voulions voir toute l'image transparente dans notre système de gestion des tests.


Enfin, l'équipe a commencé à avoir faim d'un flux de travail et d'outils alternatifs. La liste des problèmes est devenue de plus en plus longue, et les points les plus douloureux comprenaient les suivants :


  • Les nouveaux projets étaient mal intégrés
  • Il n'y avait pas de support pour les nouveaux cas ou étapes : si vous corrigiez quelque chose dans le code, vous deviez faire la même chose manuellement dans TestRail
  • La transparence et la pertinence sont devenues tendancieuses vers zéro


Dans l'ensemble, il y avait une menace que la qualité du produit commencerait à souffrir.

Nouvelles exigences

Finalement, il est devenu assez évident que l'équipe avait besoin d'une nouvelle solution. Mais avant, il fallait mettre les choses au clair : que manque-t-il à l'équipe et de quoi a-t-elle besoin à ce stade ? Après une discussion, l'équipe d'assurance qualité a dressé une simple liste d'exigences.


C'est ici:

  • Téléchargement automatisé des résultats des tests. L'équipe voulait voir les tests dans le TMS immédiatement après leur lancement, sans utiliser d'API
  • Intégration avec Jira. Il s'agissait à nouveau de transparence : avoir un statut de test directement dans le gestionnaire de tâches est le meilleur moyen de rendre les flux de travail aussi transparents que possible.
  • Intégration simple avec les codes de test : toutes les alternances doivent apparaître dans le TMS sans qu'il soit nécessaire de modifier quoi que ce soit manuellement
  • Test lance en CI/CD. Il serait utile de le faire beaucoup plus rapidement et, dans un scénario parfait, de les lancer directement depuis le TMS. TestRail dispose de la fonctionnalité de personnalisation de l'interface utilisateur, mais cette solution nécessitait un support constant.


Comment Allure TestOps a changé le processus

Les demandes sont devenues plus qu'apparentes, mais elles n'ont pas aidé à trouver la bonne solution. Et ici, l'équipe QA de PropellerAds a eu la chance de rencontrer un développeur réputé - Artem Eroshenko, qui a soudainement donné des conseils simples et directs :


Pourquoi utiliser TestRail s'il existe Allure TestOps ?


La première pensée a été : et qu'est-ce qu'Allure TestOps ?

Allure TestOps est une plateforme de test qui vous permet de stocker et de gérer des cas de test. Il est basé sur Allure Reports, très familier à la plupart des membres de l'équipe.



Mikhaïl :
— Alors on s'est dit : c'est un outil frais et tendance — pourquoi ne pas l'essayer ?

Et, un spoiler : ça a parfaitement fonctionné. Le processus a commencé à changer de la meilleure façon possible - et dans les plus brefs délais.

Alors, quelles ont été les fonctionnalités les plus utiles d'Allure TestOps qui ont tellement stimulé le flux de travail ?

Résultats de test

Si vous avez déjà essayé TestRail, vous savez que le téléchargement des résultats des tests y est compliqué : cela implique beaucoup de remue-ménage avec l'API.


Allure TestOPS résout le même problème de manière très élégante et simple.

Si vos résultats de test impliquent la génération d'un rapport Allure, vous avez déjà vos tests dans TestOps. L'équipe utilise Allure depuis un certain temps - et cela signifie que la plate-forme TestOps a conservé ses tests.

Un petit guide : pour ajouter n'importe quelle intégration, il vous suffit d'entrer dans les paramètres de TestOps, de sélectionner le produit de votre choix, puis de le configurer en quelques clics ! Rapide et indolore, comme ici :



Mikhaïl :

—Pas de cailloux cachés : trois champs, et vous avez terminé votre intégration. Cela fonctionne de la même manière avec les autres outils : paramètres minimum. Et notre mode sombre tant aimé est là aussi !


Si vous avez besoin d'intégrer Teamcity ou d'autres outils de ce type, vous pouvez le faire avec des plugins spéciaux. Il faut deux clics de souris pour configurer le téléchargement des résultats vers TestOps. Ce qui est encore plus utile, c'est que cela se produit pendant l'exécution. Voici à quoi il ressemble : élégant et simple à nouveau :


Une fois que vous êtes prêt avec les paramètres, vous pouvez lancer des travaux dans votre CI/CD. Et le processus devient plusieurs fois plus transparent immédiatement après. Allure TestOps vous permet de vérifier la couverture de test existante, de comprendre à quelle fréquence vous lancez des tests particuliers, de déterminer quels projets sont stables et lesquels ne le sont pas, et même de voir certains tests.


Le flux de test global dans Allure TestOps ressemble à ceci :

  • Vous définissez la configuration de build TeamCity une fois : indiquez l'ID du projet Allure et un chemin vers les résultats Allure dans la fonctionnalité de génération
  • Vous lancez la configuration Team City Build
  • Vous attendez vos résultats dans Allure et c'est tout !

Ainsi, une fois que vous avez terminé avec tous les paramètres, vous ne faites que deux étapes simples - pas de JS, de serveurs Web et d'API. Tout est réglé via l'interface utilisateur des outils que vous utilisez.

Qualité et statut

Il s'est avéré qu'Allure TestOps dispose d'un plugin Jira qui vous permet de voir tous les tests pour une tâche particulière. Le plugin comprend la pagination, les filtres de recherche et les derniers résultats de ces tests.

Les paramètres sont également simples et rapides — ainsi que l'interface :



Mikhaïl :

Tous les résultats sont mis à jour automatiquement et vous pouvez voir tous les cas qui ont été créés pour cette tâche particulière. C'était exactement ce dont nous avions besoin pour comprendre quoi et comment nous vérifions. Nous renforçons considérablement notre bonne vieille transparence et garantissons une meilleure compréhension de la qualité des fonctionnalités que nous publions.

Code des autotests

L'équipe QA de PropellerAds dispose de nombreux autotests : grâce à eux, elle peut garantir la meilleure qualité du produit. Allure TestOps simplifie grandement ce point essentiel. Il vous permet de créer les annotations nécessaires, et chaque annotation définit une étiquette pour un test. Au final, l'étiquette apparaîtra dans TestOps.


Il existe une longue liste d'annotations déjà existantes - et pas seulement dans Java. Voici un exemple:



Si vous manquez d'annotations prêtes, vous pouvez facilement en ajouter une : @LabelAnnotation(name = "any name"). Presque toutes les données TestOps fonctionnent via les étiquettes, et ces étiquettes sont personnalisables. Grâce à lui, vous pouvez voir différentes arborescences et couches dans la liste de tous les tests existants, filtrer et regrouper vos cas.

Autres caractéristiques

Ainsi, tous les problèmes ont été résolus grâce à TestOps. Outre ces problèmes résolus, nous avons également eu accès à davantage de nouvelles fonctionnalités. Les voici:

  • Allure vous permet de vérifier l'historique de lancement des tests. Mikhail dit que c'était une fonctionnalité qui tue : vous pouvez rapidement vérifier quand et où le test a été lancé et quand il a commencé à échouer.
  • Plans d'essais. Désormais, l'équipe pouvait non seulement créer, mais également lancer ces plans de test directement depuis TestOps.
  • Des tableaux de bord pratiques avec des données statistiques. Vous pouvez les créer vous-même ou utiliser les tableaux de bord prêts.
  • Divers paramètres pour les projets. Ils incluent la suppression des anciens résultats de test dont vous n'avez plus besoin, la définition de différents champs de test pour les cas manuels et automatisés et le lancement de tests directement depuis Allure TestOps avec diverses options.
  • Et bien d'autres.


Mikhaïl :

- Ce n'est qu'une petite partie de tout ce que vous obtenez avec Allure TestOps. Vous voulez quelque chose de nouveau ou vous avez trouvé un bogue ? Créez un ticket de bogue ou demandez directement aux développeurs dans le canal Telegram. C'est vraiment pratique ! Ou ils helpdesk - ces gars essaient de répondre dès que possible - Bon service.

Pour résumer : Allure TestOps contre TestRail

Alors, le "problème de logement" pour nos tests a-t-il été résolu ? Oui définitivement. En constante évolution, intuitif, avec un accès instantané à tous les outils nécessaires - Allure TestOps était la solution la plus appropriée.


Mais TestRail est-il si mauvais, après tout ?


Mikhaïl :

TestRail est un bon outil, mais il répond mieux à des besoins différents que les nôtres.

Quand est-il préférable d'utiliser TestRail, et quand Allure TestOps est votre sauveur ?


Rail d'essai

Séduire TestOps

Vous ne dépendez pas beaucoup du processus de publication

Vous avez de nombreuses versions et votre travail est basé sur CI/CD

L'intégration avec les autres outils n'est pas votre priorité

Vous recherchez la transparence des tests dans tous vos outils

Vous avez de nombreux cas manuels

Vous travaillez principalement avec des tests automatisés


Dans l'ensemble, Allure TestOps s'est avéré beaucoup plus efficace pour assurer la transparence de l'assurance qualité - à chaque étape et à chaque niveau. Et c'est ce dont nous avons besoin dans PropellerAds.



L'image principale de cet article a été générée parle générateur d'images AI de HackerNoon via l'invite "un ingénieur regardant un moteur".