L'histoire de la façon dont l'ingénieur QA vous a simplifié la vie avec l'aide de Test IT, en utilisant le Bot Framework

Ce n'est pas un secret qu'un bon logiciel diffère des autres non pas par la fonctionnalité, mais par la qualité des fonctions déclarées. Après tout, personne n'a besoin d'un logiciel riche en fonctionnalités s'il ne fonctionne tout simplement pas. Mais comment parvenez-vous à dire aux développeurs à temps que quelque chose ne va pas avec le projet?

Aujourd'hui, nous parlerons un peu des problèmes de communication entre les services de l'entreprise, et en même temps avec l'exemple de Test IT, nous examinerons ce qui nous a aidés à comprendre le Zen: impartial, avec un cœur de pierre et une âme issue d'un algorithme - un bot sur le Bot Framework. Bienvenue au chat!





On pense depuis longtemps qu'en temps de guerre, l'outil principal est la communication. Sans communication, il est impossible de coordonner vos troupes, de trouver des nouvelles sur le terrain, de fournir un soutien et de suivre les actions de l'ennemi. Et qu'est-ce que le développement, sinon une guerre locale de plusieurs départements pour un produit?

Et si dans les temps anciens, ils utilisaient un messager, un messager et plus tard un téléphone pour diffuser des nouvelles, alors au seuil de 2020, il serait étrange d'utiliser de telles technologies, surtout lorsque votre armée travaillant sur un produit peut être distribuée bien au-delà des limites d'un seul bureau. Voici notre ingénieur QA et a posé une question similaire.

Bien sûr, vous pouvez écrire des détails sur l'échec du test dans un chat en direct. Mais cela nécessitera du temps que vous ne souhaitez pas consacrer au même type de notifications. Vous pouvez ajouter une commande au portail IT de test et les forcer à vérifier l'état des autotests. Et cela résoudra également partiellement le problème, mais la nécessité d'être constamment sur le portail distraira grandement l'équipe de développement. Nous avons besoin de quelque chose de plus simple, sans perdre de temps à envoyer des notifications une fois de plus.

En suivant cette logique, nous sommes arrivés aux webhooks. Ils automatiseront l'envoi de notifications et de journaux critiques du système vers n'importe quel fer connecté à Internet.
Nous avons donc trié le canal de communication. Il est temps de réfléchir à l'endroit où les webhooks doivent envoyer leurs notifications. Idéalement, cela devrait être une plate-forme qui combine plusieurs messageries instantanées et e-mail pour les amoureux des classiques. Et, comme vous pouvez le deviner d'après le titre de l'article, la plate-forme est tombée sur le Bot Framework.

Cette combinaison répond pleinement aux exigences des notifications urgentes, étendra les capacités du bot sans interférer avec les cas de test et la plate-forme. Et le bot lui-même deviendra notre assistant de développement, qui lira inlassablement une conversation de travail et nous informera de tout événement intéressant dans TMS Test IT.

Dans l'article d'aujourd'hui, nous considérerons un exemple d'utilisation du bot dans Telegram pour envoyer des notifications aux équipes de développement et de test à partir de la plate-forme Test IT.

Créer un projet et un bot


Accédez au portail et créez un nouveau projet:

image

Le projet comprend des cas de test, des tests automatiques, des listes de contrôle, des webhooks et bien plus encore.

Ensuite, créez un plan de test. Laissez-le avoir le même nom simple que le nom du projet:

image

De plus, vous pouvez ajouter de nouveaux cas de test, mais nous irons directement à la création de notre assistant intelligent. Ne fermez pas le portail, nous y reviendrons pour la configuration des webhooks.
Le développement sera effectué sur le .Net Framework (enfin, où sans lui) à l'aide d'Azure. En fait, nous allons commencer par Azure .

Accédez au portail et recherchez le Web App Bot:

image

Cliquez sur "Créer", remplissez les champs obligatoires et développez. Dans le cadre de l'article, nous déploierons initialement le modèle Echo Bot et à l'avenir, nous en tirerons parti
Une fois le bot déployé avec succès, il est temps de se connecter à ses canaux de communication avec le bot. Une très grande liste de messagers et d'options de communication est présentée au choix du développeur, mais Telegram suffit pour nos besoins.

Pour ce faire, écrivez quelques bonnes commandes dans le bot @BotFather et créez un nouveau bot. Heureusement, il communique avec nous très amicalement, aidant à créer son propre genre. Bot Father a été créé chez Telegram pour contrôler d'autres bots. Oui, pas étonnant que son nom soit le père des bots!

A la fin de l'inscription, Bot Father doit nous remettre la clé unique de notre enfant. Nous sommes heureux de le copier, remercions le père de cette étrange famille et revenons au portail Azure.

Maintenant, nous devons télécharger le code source du bot afin de pouvoir travailler directement avec lui dans notre IDE:

image

Nous pouvons immédiatement obtenir un émulateur pour le débogage local. Si votre bot aura un peu plus de logique que la sortie de "Hello world", il est préférable de disposer des outils pour déboguer et tester le nouveau membre de votre équipe.

Directement sur le portail, il ne nous restait plus qu'à ouvrir notre nouveau bot, aller dans l'onglet «Chaînes», ajouter une chaîne Telegram et lui donner la clé, gentiment laissée par le père des bots. De plus, afin d'éviter que le bot ne plante pendant une longue période d'inactivité, il est conseillé de passer au service d'application (le nom est similaire au nom de notre bot sur le portail) -> configuration -> paramètres généraux et dans la colonne "Always On" sélectionnez le statut "Enabled". Sinon, votre bot risque de s'endormir et il faut un temps précieux pour que les utilisateurs finaux le lancent.

image

De plus, comme nous sommes toujours sur le portail Azure, nous déploierons une petite base de données pour ce bot. Utile pour stocker une liste des index de groupe et leurs clés secrètes. Vous pouvez en savoir plus sur le déploiement de la base de données ici .

Donc, si, lors de l'accès à notre bot dans Telegram, il retourne notre message, cela signifie que nous avons tout fait correctement et l'onglet avec Azure peut être reporté jusqu'à des temps meilleurs. Vous pouvez maintenant commencer à travailler sur la logique de notre assistant.

Nous dirigeons le cerveau du bot



image

Pour ceux qui ont de l'expérience avec ASP.NET Core, rien de nouveau ne viendra ensuite. Le reste laissera un bref manuel sur ce qu'il faut faire ensuite:

  • Apprendre à l'application à travailler avec Entity Framework et à lier la base de données. Il est nécessaire que le bot soit capable de stocker les communications ChatID, l'état d'ignorer le chat et le "secretKeyBot" des entités entrantes dans la base de données. Cela permettra d'utiliser le bot non seulement dans le cadre de ce projet et de l'entreprise dans son ensemble, mais aussi de l'ajouter librement à des groupes pour tous;
  • Ajoutez un modèle de données et un contrôleur API. Dans notre application, il doit y avoir un point d'entrée externe par lequel vous pouvez accéder au bot et transmettre le corps de la demande. Le modèle de données est la représentation du corps de la demande et le contrôleur doit travailler avec un appel externe;
  • Écrivez des puzzles et des équipes de service. Si tout est clair avec kruds, alors le service de commande est notre logique métier pour le traitement des messages de chat. Au départ, nous voulions pouvoir noyer les notifications du bot dans n'importe quel chat particulier. L'une des options pour ce faire est directement avec la commande chat, que le bot doit traiter et mémoriser uniquement pour ce chat.
  • Testez le bot dans un environnement local à l'aide d'un émulateur. Les gars particulièrement expérimentés peuvent télécharger le bot directement sur Azure et observer son comportement via un chat dans Telegram, mais dans ce cas, le bot ne vous renverra pas une description détaillée des erreurs. Oui, et les points d'arrêt (un outil de débogage préféré) ne peuvent pas être placés. Soit dit en passant, une petite caractéristique du Bot Framework est qu'il n'aime vraiment pas renvoyer une description détaillée de l'erreur. Nous nous développons donc avec soin et nous nous engageons plus souvent!
  • Publiez sur Azure. Parmi les dossiers du projet, vous pouvez en trouver un avec le nom simple "PostDeployScripts". Il contient un fichier important pour nous avec l'extension .PublishSettings. Les données sur la connexion au stockage de bot sur Azure sont là. Et pour ceux qui utilisent Visual Studio, ce fichier est la clé sacrée pour publier le projet: importez-le lors de la publication, et l'IDE en extraira toutes les données nécessaires.


Ajouter un webhook


En fait, le bot est créé. Il est temps de supprimer le webhook du portail TestIT. Nous sommes heureux de ne pas avoir fermé l'onglet dans le navigateur, et allez-y:

image

Nous allons dans les paramètres du projet, l'onglet "Webhooks" et en ajoutons un nouveau:

image

Essayons maintenant de changer l'état du plan de test et de voir comment le bot va réagir.

image

En fait, c'est là que nous nous sommes retrouvés avec un petit exemple de création d'un robot assistant. Notre bot peut être consulté sur GitHub .

Désormais, les équipes de développeurs et de testeurs peuvent s'engager en toute sécurité dans le développement de produits, et notre nouvel ami intelligent attendra inlassablement les nouvelles des domaines de test et les partagera rapidement.

Il est important de comprendre que les capacités du bot sont presque illimitées: il est capable de traiter toutes les demandes de l'extérieur. Et cela signifie que vous pouvez apprendre beaucoup de choses: filtrer les messages de chat, les notifications de team building, les mini-jeux pendant votre temps libre. Si vous essayez de faire preuve d'un peu d'imagination, vous pouvez lui apprendre à commander des pizzas, à construire un calendrier de travail, à reconnaître des documents ou même à transmettre vos e-mails entrants à des messageries instantanées.

Source: https://habr.com/ru/post/fr481654/


All Articles