Moi bot et mon poinçon

Je m'appelle Dasha et je suis ingénieur d'essais depuis 4 ans. Cela signifie que les tâches intéressantes que vous lancez avec l'excitation de «juin» à la recherche de nouvelles solutions apparaissent de moins en moins. Les mêmes projets, productions et cas! Non, je ne joue pas comme ça! Les tests sont toujours un défi et le désir de changer le monde pour le mieux ne doit pas mourir. Et une fois que j'ai rencontré ce problème: vous devez tester un bot de chat simple dans Telegram.



Contexte: il n'était pas pratique pour notre client d'effectuer les actions de routine comme convenu, car au départ, il lui a été envoyé un lien vers les calculs nécessaires, et chaque fois qu'il a ouvert les indicateurs nécessaires via le navigateur pour examen, ce qui a augmenté le temps de fonctionnement. Nous avons proposé de transférer la logique vers le chat bot afin de réduire le temps de prise de décision et de faciliter la vie des employés du client.

Pour fêter ça, j'ai décidé d'aborder cette affaire avec toute la responsabilité, de faire preuve d'un maximum d'ingéniosité et de simplement apprécier le travail.

Les tests ont été effectués en utilisant la méthode des boîtes noires et grises. Par conséquent, vous pouvez utiliser toute votre imagination pour créer des scripts personnalisés.

Déclaration: un service tiers envoie une demande SOAP, que nous devons traiter et enregistrer dans la base de données, puis créer une image avec les paramètres sous forme de tableau et l'envoyer à l'utilisateur pour approbation. En réponse, le système reçoit une confirmation ou un rejet ainsi qu'un commentaire sur la décision.

Il y a une description, des crayons aiguisés, des listes de contrôle préparées, des cookies tous mangés. Je suis prêt à commencer! Chaque seconde, de nouvelles questions naissaient ...

Arrêtez, arrêtez! Restez calme et commencez les tests. Donc, dans l'ordre:

1. Sous quelle forme afficher la date? Il y a toujours un problème avec la date: format, fuseau horaire, etc.
Nous n'avons pas pu obtenir les exigences exactes d'un système externe, nous avons donc décidé d'afficher la date sous la forme dans laquelle elle a été reçue à l'origine. Il est très difficile de prévoir dans quel format la date sera reçue (même une boule magique n'aurait pas pu faire cela).

2. Quelle sera la qualité de l'image si le message contient une grande quantité d'informations?
La qualité de l'image dépend de la quantité d'informations reçues de l'extérieur. Le télégramme lui-même réduit la qualité de l'image. Dans le cas où il y a une grande quantité d'informations, en transmettant avec un document, nous obtiendrons le tableau sous une forme lisible, mais l'utilisateur doit alors utiliser une application tierce pour ouvrir le fichier PDF généré. Cela compliquera la vie et personne n'aime les difficultés (mais tout le monde aime les cookies!). Dans le même temps, si vous envoyez une image, elle ne sera lisible que lorsqu'une petite quantité de données aura été reçue, mais l'utilisateur pourra alors utiliser les fonctionnalités de Telegram lui-même pour visualiser l'image. Nous avons décidé qu'il valait mieux laisser l'écran avec une image, car il est plus pratique de travailler avec, et il est peu probable d'obtenir une grande quantité d'informations.

3. Comment le système devrait-il réagir si aucun commentaire n'a été reçu sur la décision?
Tout s'est avéré assez simple ici: nous avons enregistré le résultat de la décision qui a été envoyée. Et à la deuxième demande, ils ont donné à l'utilisateur des informations sur la nécessité de remplir un commentaire sur la décision.

4. Comment l'utilisateur doit-il comprendre pour quelle solution il est nécessaire de laisser un commentaire si plusieurs demandes d'approbation d'affilée ont été reçues?
Ici, la fonctionnalité a été implémentée de sorte qu'un message demandant un commentaire se présente sous la forme d'une réponse à un message avec des informations de base sur la solution.

5. Que doit faire le système si l'utilisateur n'a pas encore pris de décision sur les anciens messages, mais que de nouveaux ont déjà été reçus?
Dans ce cas, notre système renvoie le même message pour approbation (personne n'ose nous ignorer!).

6. Combien de messages pouvons-nous accepter?
Pour répondre à cette question, j'ai décidé de créer une combinaison de test simple dans l'interface utilisateur SOAP. Le choix s'est porté sur cette application, car elle a une portée étendue (couvre la vérification des services Web, la simulation, les tests fonctionnels, les tests de charge, etc.).
Je ne vous dirai pas comment créer une combinaison de test simple, car ils ont déjà suffisamment écrit à ce sujet, je voudrais simplement décrire le problème et ma solution.
Le principal problème était que pour chaque nouvelle demande, un nouvel identifiant devait être généré, et cette valeur générée était réutilisée dans le même XML.

La solution a été trouvée:

Dans un cas de test, une propriété est créée avec l'attribut ID_Calc.



Ensuite, dans l'onglet Script d'installation, collez le script:
testCase.setPropertyValue ("ID_Calc", new java.util.Random (). nextInt (99999) .toString ())



Après cela, dans la requête elle-même, dans les balises où l'identifiant est utilisé, il faut écrire:
$ {# TestCase # ID}



Ainsi, chaque demande avait un identifiant unique, mais dans le cadre d'un message distinct, les identifiants étaient les mêmes.

Le travail de développement et de test a été effectué très rapidement et harmonieusement, nous avons donc réussi à obtenir le résultat le plus rapidement possible. La révision a été immédiatement remise au client et il a été satisfait.

Même à partir de la tâche la plus simple et la plus banale, vous pouvez faire une quête cool, dont vous pouvez être fier du passage! Eh bien, si vous vous ennuyez, mais que vous voulez des sensations vives, trouvez simplement les problèmes sur votre projet et résolvez-les d'une manière inhabituelle :)

Bonne chance

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


All Articles