Qui d'autre a besoin de sélénium? Quelqu'un utilise-t-il BDD en 2020? Apprentissage automatique chez Selenium

Chaque fois que je tombe sur un nouvel article sur la façon d'utiliser l' approche BDD et comment elle améliore la durée de vie du développement, des tests et de la gestion, je saisis le visage. (Et maintenant je ne sais pas quoi faire. Je ne saisis pas mon visage, mais juste triste). Cependant, les tâches d'écriture des tests de sélénium peuvent provoquer les mêmes sensations . Je voulais en parler avec ceux qui sont confrontés aux tests de sélénium et développent divers outils pour travailler avec eux.

image

Nous (Vsevolod Brekelov et Daria Manukhina, comité de programme de la conférence Heisenbug) avons parlé avec Anna Chernyshova, développeur de la bibliothèque Akita et du nouvel outil Healenium ( son discours sur BDD ), et Ivan Krutov, développeur de Selenoid. Ivan est engagé dans l'infrastructure pour les tests de sélénium depuis plusieurs années ( une de ses master classes ). Discuté:

  • Approche BDD en 2020;
  • Sélénium et son développement;
  • Carrière;
  • Apprentissage automatique et sélénium.


L'interview se compose de deux parties: dans la seconde, nous avons parlé de l'infrastructure des tests au sélénium, des outils du testeur et répondu à la question posée à la fin de ce post.


Beaucoup de lettres sur les interlocuteurs


- Anya, Vanya, parle-nous de toi. Commençons par Ani: dites-nous brièvement ce que vous faites principalement.


Anya : J'ai maintenant deux activités principales: la première - je travaille dans le centre de compétence de test EPAM à EPAM. Il s'agit d'un tel groupe de personnes qui sont consultées pour obtenir de l'aide dans le démarrage d'un projet, la sélection des technologies. Je fais beaucoup de tests d'audit sur des projets. Je comprends ce qui ne va pas, ce qui est bon, ce qui est mauvais, je recommande des améliorations, je fais du PoC. Fondamentalement, un tel conseil au sein de l'entreprise. La deuxième direction est l'accélérateur, notre nouveau Healenium , nous l'avons compensé relativement récemment, c'est la chose qui peut réparer les localisateurs cassés pendant l'exécution et maintenir les tests à jour.

- Génial! Vanya, et vous? Je sais que vous êtes un développeur Selenoid.


Vania: Je suis développeur de spécialisation. Java, Go sont essentiellement de tels langages. Bien que cela ait commencé il y a cent ans. J'ai aussi écrit en PHP quand la chose la plus simple était là. À l'école, il écrivait dans toutes sortes de pascals, comme tout le monde. En conséquence, au cours des 6 dernières années, j'ai fait ce qu'on appelle maintenant le mot à la mode DevOps, c'est une chose telle à la jonction. Selon la position en russe, cela peut être appelé, par exemple, un ingénieur logiciel, c'est à la fois un développeur et une personne impliquée dans la maintenance de l'infrastructure. Par exemple, je suis responsable des performances d'un grand cluster Selenium avec un nombre suffisamment important de navigateurs, il est tolérant aux pannes, distribué, etc. C'est la première partie. La deuxième partie - je fais toutes sortes d'open source et pas seulement des projets. Nous écrivons Selenoidnotoire pour tout le monde en open source. Nous avons également des outils commerciaux. Par exemple, Selenium pour Kubernetes est un produit distinct, nous fabriquons des solutions cloud pour Selenium, et bien plus encore. Il existe également une gamme de produits, nous développons professionnellement des outils pour le sélénium: ouvert et fermé sont différents. Une telle activité. Bien sûr, je vais à des conférences, parle, éduque les gens, comment construire efficacement le sélénium en fonction de mon expérience.

- Vous avez parlé un peu de Selenoid. Je sais que Selenoid est un projet de l'organisation Aerokube. Pouvez-vous me dire comment c'est? Est-ce une communauté ou une organisation? Une organisation commerciale ou comment est-elle apparue?

Vania: C'est les deux. En fait, au départ c'était juste une communauté, ils ont commencé une organisation sur GitHub afin de créer des outils open-source efficaces pour Selenium. Cela a été fait pendant son temps libre du travail, du travail principal. Il s'est avéré être le premier outil Selenoid, puis à la fin nous avons réalisé que pour être en mesure d'assurer correctement, pour ainsi dire, le développement efficace de ce Selenoid, vous avez besoin de deux choses.

Tous les bons produits open source se développent dans l'une des deux directions. La première est quand ils sont fabriqués dans une grande entreprise qui les sponsorise simplement, paie le salaire aux développeurs, et la deuxième option est quand il y a une solution open source gratuite, et qu'il y a un produit payant, similaire ou différent, en raison duquel le développement est monétisé. En conséquence, lorsque Selenoid a volé avec nous, nous avons juste pris une décision et l'avons conçue sous la forme d'une entreprise. Maintenant, c'est déjà une organisation commerciale qui a l'open source et a ses propres produits.

- Alors tu y travailles, il s'avère?

Vanya : Oui.

- Bien. Anya, vous avez écrit la bibliothèque Akita , qui était en cours de développement à Alfa Bank. L'utilisez-vous toujours quelque part activement? Ou est-elle restée à Alpha et c'est tout?

Anya: Il a été développé dans le cadre d'Alfa Bank. Tout d'abord, elle était pour leurs besoins. Ensuite, nous l'avons ouvert, car il semblait que cela pourrait être utile à quelqu'un d'autre. Pour autant que je sache, la banque l'utilise maintenant, bien sûr, et peut-être aussi une douzaine d'organisations tierces. Mais je ne travaille pas avec elle en ce moment.

- Vous avez promu BDD . En faites-vous la promotion quelque part maintenant, ou n'est-ce pas le sujet sur lequel vous travaillez activement?

Anya: Cela dépend aussi de la situation. Si le client vient et dit que je veux être au courant de ce qui se passe, alors oui, il est bon dans cette approche. Si les équipes de fonctionnalités le font ou si les tests sont effectués séparément en tant que service, alors dans ces cas, je ne le fais pas. Je n'ai pas travaillé avec BDD depuis un certain temps, maintenant c'est principalement une automatisation auto-réparatrice.

Utilisation de BDD en 2020. C'est une blague?


- BDD en 2020, ça va?

Anya : Je pense que ça va, mais cela dépend de la situation. Nous testons maintenant l'auto-guérison avec BDD dans la même banque Alfa et tout va bien. Tapez, il peut être mis à jour, c'est cette approche BDD qui est rendue plus stable et puis ça marche bien.

Vanya : En fait, BDD - c'était à l'origine pour les managers. Pour qu'une personne qui n'a pas de compétences très approfondies dans le développement de tests puisse néanmoins être assez facile à lire comment le produit est testé, à comprendre. Il me semble que tant que l'ensemble du développement est organisé de telle manière qu'il y a des cadres dirigeants qui ont des compétences différentes et qu'il y a des développeurs, je pense que BDD a du sens, pourquoi pas?

Anya: Il y a encore des situations, par exemple, il y avait des situations à la banque, il n'y avait tout simplement pas de testeur dans les équipes, et il fallait le tester d'une manière ou d'une autre, et les analystes ont dit: "ici on veut!". Pour eux, seul cet outil a été développé. Ils sont presque arrivés à cette formulation idéale de BDD, que les analystes étaient également impliqués dans la rédaction des scripts, et il était pratique pour eux d'être guidés par cette description de niveau supérieur des étapes afin de compiler les tests, et ils pouvaient automatiquement s'exécuter.



- Cet holivar arrive toujours, qui devrait passer des tests pour BDD? Par exemple, il y a une organisation qui n'a pas encore de BDD, et on ne sait pas si c'est nécessaire ou non, et qui devrait passer ces tests. Dans un monde idéal, que recommanderiez-vous?

Vanya : Je pense que cela dépend beaucoup de la quantité de tout.

Anya : Oui, et cela dépend beaucoup de la situation. S'il s'agit d'une équipe de fonctionnalités, où il y a tous des représentants de ces rôles et des testeurs avec de bonnes compétences, et il y a beaucoup de telles équipes, et c'est ainsi que l'organisation est construite, alors ils n'auront guère besoin de BDD. S'il s'agit d'une équipe où il n'y a pas de testeur, ou si le testeur a de faibles compétences pointues, par exemple, il s'agit principalement de tests manuels, alors cette approche sera également applicable, car le testeur peut également faire de l'automatisation immédiatement.

- Autrement dit, si vous avez beaucoup d'argent et que vous avez embauché beaucoup de personnes techniquement incompétentes, le BDD vous convient-il?

Anya : En principe, vous pouvez le dire.

Vanya : En général, il me semble que non seulement le BDD, mais tout test pendant la planification devrait être fortement basé sur l'argent.
Il nous est arrivé que la plupart des conférences se dirigent néanmoins dans la direction technique ou philosophique. Il n'est pas habituel de dire que de toute façon, nous travaillons dans des entreprises qui ont des budgets, qui ont une somme d'argent limitée. Toutes les décisions que prend la direction, tout de même repose finalement sur cet argent. Il n'y a aucun moyen d'aller nulle part. Juste des programmeurs, des testeurs et des analystes, nous brassons dans un monde si "limité", où on ne nous en parle pas, ils ne peuvent que dire "oui" ou "non". Il me semble que les tests, la planification du développement et tout le reste - vous devez toujours vous appuyer sur le budget existant, rien de plus. Tout de même, tout y repose.

BDD est-il externalisé ou hébergé?


- Si nous parlons de savoir si BDD est destiné à un projet externalisé et à un projet interne, y a-t-il une différence ou non? Si le budget le permet, avez-vous besoin de BDD pour l'externalisation?

Anya : Là encore, oui, tout dépend du budget. Je ne sais pas, je ne donnerais probablement pas BDD personnellement à l'externalisation, mais si, bien sûr, le client ne le veut pas vraiment. S'il dit: "Je veux du BDD et c'est tout, je m'en fiche!" - alors oui. Mais cela nécessitera des gars si habiles pour qu'ils envelopperont tout cela dans un cadre magnifique. Habituellement, les clients se tournent vers l'externalisation, qui disent: «Je veux rapidement une sorte d'automatisation», ou «Je n'ai pas d'automatisation, de construction» ou «Je suis tout mauvais, mettons à jour quelque chose en quelque sorte». Habituellement, dans de telles situations, leur solution nécessite une compréhension technique plus approfondie et une automatisation au niveau technique.
Bien que si cela tombe bien au client et que vous pouvez démarrer rapidement l'automatisation, cela dépend aussi probablement du temps. S'il est possible de cette façon de démarrer rapidement et d'atteindre l'objectif que le client souhaite, alors oui, il peut s'allonger.

- Il semble que BDD pour l'externalisation ne consiste pas seulement à leur écrire un projet, à découvrir les exigences, mais aussi à enseigner aux clients à comprendre généralement ce qui existe. Parce que la formation de certains analystes ou même des managers pour comprendre comment ils devraient faire des scénarios, s'ils sont dans le futur, est aussi une autre histoire.

Anya : Oui, cela peut avoir ses propres difficultés.

Vanya : Revenant à la question de savoir si le BDD est normal en 2020, il me semble qu'il y a une évolution certaine, je pars de façon philosophique ...
Au fil du temps, nous avons toutes sortes de nouvelles approches et technologies, et il me semble qu’il n’arrive pas que la technologie meure complètement. Par exemple, il y a 40 ans, lorsque les ordinateurs se développaient, il y avait des ordinateurs centraux de ces énormes machines qui sont maintenant presque mortes, néanmoins, certaines niches sont restées là où elles existent toujours et fonctionnent parfaitement.

Photo du site www.kmd.dk

Je viens de parler avec une personne, il est en quelque sorte connecté avec des banques, avec des vieilles américaines, il dit: «Tout coûte il y a quarante ans, tout fonctionne, parce que c'est moins cher de le maintenir que de réécrire dans un nouveau. " De la même manière, je pense, lors des tests, de nouvelles approches apparaissent, le BDD est apparu. Je ne pense pas que cela mourra du tout, il restera dans certaines niches, même s'ils trouvent quelque chose de mieux que cela. Donc, avec n'importe quel produit, avec n'importe quelle technologie. Il est impossible, d'une part, de s'emparer complètement à cent pour cent de l'ensemble du marché, d'autre part, de mourir complètement aussi - vous devez essayer de le faire, il y a toujours des niches. La question est de savoir quelle est leur part dans la masse totale des gens.

Carrière


— - , , , , , , .

: Les gens se posent souvent la question: comment se développer dans l'entreprise? Les développeurs juniors, les juniors viennent et, naturellement, dans leur tête l'objectif est de savoir comment grandir. En fin de compte, à un moment donné, vous commencez à ressentir une demande des entreprises que l'argent y soit compté, etc. En fait, la façon de devenir un niveau supérieur d'un développeur en chef est de commencer à penser, même dans une position aussi basse, à la façon dont vous commenceriez à le faire d'un point de vue commercial. Pas du point de vue, qu'est-ce que j'essaierais une nouvelle langue cool ou quelque chose d'autre, c'est cool pour un examen personnel de ma part, mais d'un point de vue commercial, si vous voulez grandir, je pense que vous devez y réfléchir davantage.

- - — , .


À un moment donné, j'ai entendu une personne intelligente. Il a dit qu'il existe différentes façons de faire progresser une carrière. Il a énuméré trois façons principales. La première façon est d'être le parent de quelqu'un. Ce n'est généralement pas suffisant, un petit nombre de personnes qui ont des parents de haut rang là-bas. La deuxième façon est de faire de la manipulation. Toutes sortes d'intrigues se tissent dans l'entreprise et ainsi de suite. Il y a peu de ces personnes qui savent comment faire cela. Et la troisième façon est de prouver par le travail votre utilité pour l'entreprise. L'idée principale de la croissance est de trouver une niche dans l'entreprise en difficulté. Et suggérez à votre direction comment résoudre ces problèmes efficacement, mais dans ce cas, vous pouvez vous développer considérablement.

— , , . ? , , , : «, , , ! , , ».

: Tout dépend beaucoup de la personne et de l'équipe. En gros, si une personne veut se développer et grandir, elle devra quand même le faire à un moment donné. Jusqu'à un certain moment, le manager communiquera pour lui, s'il en a un, mais s'il veut éventuellement se développer, il devra le faire. En quoi un développeur principal est-il différent d'un senior? Le fait qu'il possède une très bonne expertise et le fait qu'il sait résoudre des tâches déjà à moitié managériales. Il sait porter l'entière responsabilité du produit qu'il fabrique, de l'élaboration des exigences au développement direct, c'est la différence, me semble-t-il.

Anya : Oui, voici la compréhension de la raison pour laquelle vous faites quelque chose, et pas seulement de le faire - ce sera cool.

Sélénium Est-il toujours nécessaire?


— Selenium, . : « - Selenium? , , , Selenium?»

: Maintenant, on dit souvent que le sélénium est en train de mourir. Quelques autres outils viennent à sa place. Il me semble que ce n'est pas tout à fait vrai et que tout dépend de l'expertise. Dans tous les cas, la plupart des projets qui se trouvent actuellement à Selenium sont terminés et réalisés sur celui-ci. Vous aurez besoin de soutien et si, en tant que spécialiste des tests, vous souhaitez vous rendre quelque part, ce sera probablement Selenium. Il y a probablement beaucoup plus d'expertise dans ce domaine, et lorsque certaines nouvelles technologies arrivent sur le marché, elles peuvent exploser puis glisser quelque part. Le sélénium couvre, je dirais, toutes les possibilités des tests de jujine. Et c'est une chose tellement puissante, qui dans un proche avenir ne mourra certainement pas.

Si, en tant que spécialiste des tests, vous souhaitez vous rendre quelque part, ce sera probablement du sélénium.


Vanya : Je veux aussi compléter. Il y a toujours une certaine inertie avec la technologie. Le sélénium, comme vous le savez, existe depuis 2004, il a déjà 15 ans. Bien sûr, cela change aussi tout seul, cependant, pendant ce temps, un assez grand nombre de projets prêts à l'emploi se sont accumulés. Pour la programmation, il y a 15 ans, c'est un âge de pierre par rapport à ce qu'il est aujourd'hui. Et plus d'expérience a été acquise précisément dans le sélénium. Commencez même à passer à une nouvelle technologie, si vous êtes déjà un ingénieur en automatisation expérimenté, c'est difficile, c'est vraiment de l'inertie.
Étant donné que le produit existe depuis longtemps, il a accumulé une grande base de connaissances, des pièges, même si ce n'est pas seulement le problème de Sélénium, c'est le problème de toute nouvelle technologie en général - pour qu'il puisse voler, vous devez acquérir une masse critique de connaissances, d'utilisateurs, etc. .

Selenium a une masse critique d'utilisateurs, il y a des forums, des communautés, Stack Overflow, beaucoup de documentation, beaucoup de conférences et des spécialistes qui peuvent constamment transférer ces connaissances. Dès qu'une nouvelle technologie fait son apparition, elle ne peut voler maintenant que si elle contient beaucoup d'argent - et tout dépend de l'argent.

Il y a un exemple non pas de test, mais de développement. Il existe un langage de programmation Kotlin. Il s'est avéré que maintenant, il a volé dans la direction mobile, vole droit, vole. Ils disent qu'il y a des rumeurs selon lesquelles juste une somme d'argent assez décente a été investie dans sa promotion, de sorte qu'il est mentionné partout dans les conférences, afin que les gens développent des cadres. Il se passe tellement de choses. Pour surmonter l'inertie, vous devez dépenser une certaine quantité de ressources. Faire un bon produit, même s'il est vraiment meilleur que le sélénium, est difficile à promouvoir.

Pourquoi le sélénium? Parce que c'est désormais standard. Il existe un consortium World Wide Web spécifique, qui a pris et fixé le sélénium standard. Il est toujours préférable de travailler avec des outils standardisés. En choisissant entre deux outils, nous pouvons dire: "Tout est réparé ici, l'API est stable, tout va bien, mais il y a une partie obscure du côté de certaines entreprises, on ne sait pas combien de temps cela durera." Lors du choix entre ces deux outils, en règle générale, un gestionnaire raisonnable choisit généralement quelque chose de plus standard. Il me semble que l'écriture de tests sur Selenium a du sens, car même certains débutants sont maintenant plus faciles à faire. Le seuil d'entrée sera plus bas - plus que quiconque sur le Sélénium.

La deuxième raison pour laquelle vous devez continuer à écrire des tests sur Selenium, pourquoi vous devez généralement écrire des tests sur l'interface utilisateur. En fait, l'écriture de tests sur l'interface utilisateur, de bout en bout, est le seul moyen de vérifier que l'application fonctionne exactement comme l'utilisateur la voit. Même si nous écrivons toutes sortes d'unités et tout le reste, avec différents types de tests, cela ne donne pas une garantie à cent pour cent. Ce n'est qu'après avoir perdu les mêmes actions que l'utilisateur de l'application fera, nous pouvons être sûrs à cent pour cent que l'application fonctionne avec nous. Il est clair que vous n'avez pas besoin de passer complètement à cent pour cent du code de cette façon. Habituellement, les scénarios les plus critiques de l'application sont couverts, mais néanmoins ils sont importants.

Il est toujours préférable de travailler avec des outils standardisés.


Anya: Je voudrais ajouter plus sur les nouveaux outils. Une fois, j'ai entendu un gars intelligent lors d'une conférence. Il a parlé du lancement de nouvelles technologies et de la façon de comprendre quelle technologie va mourir, laquelle sera retardée. Dans toute technologie qui entre sur le marché, elle commence à gagner ce que Vanya vient de dire, une masse critique. Ensuite, elle a un boom, et ce boom doit être attendu, pour ainsi dire, car après ce boom, soit cette technologie reste, elle existe, elle aura son propre développement et bondira en avant, soit elle mourra après cela. Cela dépend également des investissements, de la capacité de l'équipe de développement à gérer le flux d'utilisateurs qui viennent vers eux, le flux de bogues ou les orientations pour un développement ultérieur, ou non. Alors tout de suite, saisissez quelque chose qui est sur le battage médiatique et transférez vos tests vers cette technologie, il me semblesera injustifiée.

- A votre avis, combien a changé le sélénium? Quelque chose a-t-il changé de façon spectaculaire au cours des deux dernières années dans cet instrument et évolue-t-il d'une manière ou d'une autre?

Vanya : Je pense que cela change beaucoup. Il y a deux ou trois ans, on avait le sentiment qu'il y avait une sorte de stagnation, car en fait, le sélénium a été inventé en 2004, puis il s'est développé, développé, développé, puis en 2008-2009, ils ont créé Selenium WebDriver et ils ont créé Selenium Grid. Après cinq ans, ils l'ont juste terminé, ont déployé quelques petites fonctionnalités, en général, rien n'a beaucoup changé. Tout le monde avait une grille de sélénium, tout le monde avait une bibliothèque de sélénium standard.

Mais les 2-3 dernières années, il y a eu un boom de toutes sortes de nouveaux produits à base de sélénium. Nous, par exemple, avons fait Selenoid. Les gars qui travaillaient à l'époque à Zalando , sur la base de la grille de sélénium, ont fabriqué un outil tel que Zalenium, également une solution compatible avec le sélénium. En fait, les deux outils ont été créés afin de résoudre tout problème spécifique pour lequel il n'y avait pas de solution dans le code d'origine. Puis d'autres sont apparus, concurrents du sélénium lui-même. Maintenant, il me semble, depuis deux ou trois ans, une sorte de dvizhuha-dvizhuha a disparu.

Il me semble que Selenium se développe, et au début de 2018, ils ont fixé la norme. Par conséquent, le sélénium, bien sûr, d'une part, en tant qu'outil, est devenu assez mature. D'autre part, l'équipe qui a initialement développé le code principal a réussi à imposer la responsabilité du maintien de la compatibilité avec la norme aux autres équipes de développeurs de navigateurs. Auparavant, la quasi-totalité de Selenium était une seule unité dans laquelle tout se trouvait, tous les pilotes, mais maintenant ils ont réussi à s'entendre avec toutes les équipes. Apple pour Safari prend en charge car il existe une norme et il n'est pas nécessaire de se coordonner avec qui que ce soit. Google prend en charge Chrome, Mozilla le fait pour Firefox. En fait, maintenant c'est déjà un écosystème distribué, il y a plusieurs points différents. Maintenant, Microsoft fabrique également ses propres navigateurs, pour Edge, il a créé son propre pilote,et ils ont réussi à répartir la responsabilité. Pour cette raison, il me semble qu'il y a eu un saut de qualité assez décent.

- Oui, il y a trois ans, je me souviens que les tests de Selenium sur Safari s'étaient déroulés, il fallait se dévisser comme ça. En général, ça faisait mal.

Vanya : Et maintenant tout se fait plus ou moins selon la norme. Là, bien sûr, il y a des particularités qui leur sont propres, mais en substance, tout est devenu uniforme, c'est-à-dire qu'il y a eu une telle unification de la façon dont tout cela fonctionne à l'intérieur. Je pense que c'est cool, il y a eu beaucoup d'efforts. Par conséquent, je ne pense pas qu'il y ait de stagnation au Sélénium actuellement. Il existe maintenant une saine concurrence entre différentes décisions.

Nous sommes en quelque sorte en concurrence avec les gars qui font le code principal de sélénium. Nous venons à la conférence, nous disons que les gars, le vôtre n'est pas efficace car, donc, et donc. Afin de prouver en quelque sorte qu'ils sont aussi bien faits, ils doivent faire leur propre chose. Il y a une saine concurrence.

Anya : Concernant l'IDE Selenium, je veux aussi ajouter, à propos duquel en général, il me semble, tout le monde a longtemps oublié. Avec l'avènement de nouveaux outils d'automatisation sans script, ils ont de nouveau repris l'IDE Selenium. En 2019, il a été beaucoup développé et une sortie à grande échelle est prévue début 2020, où ils présenteront quelque chose. L'interface de l'EDI a beaucoup changé et elle est devenue plus stable et plus pratique, disons.

Vanya : Je voulais aussi ajouter que maintenant ils ont commencé à essayer d'appliquer différentes technologies au sélénium qui n'avaient pas été appliquées auparavant, par exemple, le même apprentissage automatique.
C'est l'un des domaines qui n'existait toujours pas au Sélénium. Les gens, ayant utilisé le sélénium pendant environ 10 ans, ont trouvé un certain nombre de tâches qui, en fin de compte, peuvent être partiellement ou complètement résolues à l'aide de l'apprentissage automatique. Toutes sortes d'opérations de routine.

- Anya, dites-moi quels problèmes résolvez-vous par l'apprentissage automatique? Vont-ils tout écrire pour nous? Dans notre pays, l'intelligence artificielle commence à pénétrer partout. Si vous lancez «AI et Selenium» dans Google, les gens commencent à y développer leurs propres bibliothèques, à télécharger quelque chose d'autre, c'est-à-dire que le développement est en cours.

Anya: En ce qui concerne le sélénium, je peux dire que récemment, il a été beaucoup plus commode de prendre toutes sortes de décisions sur la base de celui-ci, enfin, en particulier, en raison de sa standardisation. En ce qui concerne les fonctionnalités, la chose la plus importante dont vous avez besoin est d'interagir avec les éléments de la page. Et en conséquence, cette partie incombe déjà aux testeurs comment décrire cette interaction à l'aide de sélénium. Si vous le décrivez uniquement à l'aide de Selenium, il peut y avoir des tests instables, car tout changement se produira sur l'interface utilisateur, certains éléments n'attendront pas, etc. L'apprentissage automatique commence à être appliqué à cet endroit afin que ces tests puissent être stabilisés. Pour que ces tests puissent être générés en fonction des informations que nous avons sur la page et en fonction du comportement des utilisateurs.

La tendance était Record and Play, ce que fait exactement l'IDE Selenium: on va à la page, on clique sur l'action, on crée des tests. Ces tests doivent être stables. L'apprentissage automatique y est nécessaire juste pour cela. Habituellement, les localisateurs sont codés en dur, donc si vous changez l'interface utilisateur, vous devez les mettre à jour. Le Healenium, que nous faisons actuellement, par exemple, nous permet de les mettre à jour en runtime, et notre test passera en conséquence.

Maintenant, il y a une telle tendance non seulement pour les tests Record and Play, mais pour la possibilité de générer des tests. Nous savons quels éléments nous avons sur la page. Nous pouvons dessiner une sorte de diagramme logique de notre site. Nous savons que nous avons la page principale, à partir d'elle la page de connexion et autre chose. Sur la base de ces connexions logiques et actions que nous pouvons effectuer sur cette page, nous pouvons générer des tests. Mais je ne connais pas de tels instruments sur le marché qui l'ont très bien fait. Healenium nous voulons développer juste dans cette direction.

Avec le développement de ces approches et connaissances dans le domaine de l'apprentissage automatique, dans un proche avenir, il y aura un biais dans le développement et l'apparition de tels outils. Par exemple, les robots d'exploration de sites qui peuvent tester automatiquement au lieu d'écrire des cas de test.

— , Selenium IDE . , . IDE .
, , ?




Je propose de discuter de cette question dans les commentaires. Et dans la suite de cet entretien nous découvrirons les réponses d'Anna et Ivan. À propos, lors de la conférence Heisenbug 2020 Piter , qui se tiendra en ligne , vous pourrez discuter avec eux et en savoir plus sur Healenium, Selenoid et l'utilisation du protocole Chrome DevTools dans le cluster Kubernetes.

Récemment, la deuxième partie de l'interview avec la réponse à la question sur le ML dans les tests a été publiée: nous avons découvert qui était la personne qui marquait et déterminé si le sélénium devait être étudié en 2020.

Pour ceux qui veulent élargir leurs horizons et assister à plus d'une conférence, mais immédiatement 8, nous avons préparé quelque chose .

All Articles