Wer braucht noch Selen? Verwendet jemand BDD im Jahr 2020? Maschinelles Lernen bei Selen

Jedes Mal, wenn ich auf einen neuen Artikel stoße, in dem es darum geht, den BDD-Ansatz zu verwenden und die Lebensdauer von Entwicklung, Test und Management zu verbessern, greife ich ins Gesicht. (Und jetzt weiß ich nicht, was ich tun soll. Ich greife nicht nach meinem Gesicht, sondern bin nur traurig.) Die Aufgaben des Schreibens von Selentests können jedoch die gleichen Empfindungen hervorrufen . Ich wollte mit denen darüber sprechen, die mit Selentests konfrontiert sind und verschiedene Werkzeuge entwickeln, um bequem mit ihnen arbeiten zu können.

Bild

Wir (Vsevolod Brekelov und Daria Manukhina, Programmkomitee des Heisenbug-Konferenzprogramms) sprachen mit Anna Chernyshova, Entwicklerin der Akita- Bibliothek und des neuen Healenium- Tools ( ihr Vortrag über BDD ), und Ivan Krutov , Entwickler von Selenoid. Ivan beschäftigt sich seit mehreren Jahren mit der Infrastruktur für Selentests ( eine seiner Meisterklassen ). Besprochen:

  • BDD-Ansatz im Jahr 2020;
  • Selen und seine Entwicklung;
  • Werdegang;
  • Maschinelles Lernen und Selen.


Das Interview besteht aus zwei Teilen: Im zweiten Teil sprachen wir über die Infrastruktur von Selentests, die Tools des Testers und beantworteten die Frage, die am Ende dieses Beitrags gestellt wurde.


Viele Briefe über Gesprächspartner


- Anya, Vanya, erzähl uns von dir. Beginnen wir mit Ani: Sagen Sie uns kurz, was Sie hauptsächlich tun.


Anya : Ich habe jetzt zwei Hauptaktivitäten: die erste - ich arbeite im EPAM-Testkompetenzzentrum bei EPAM. Dies ist eine solche Gruppe von Menschen, die um Hilfe beim Starten eines Projekts und bei der Auswahl von Technologien gebeten werden. Ich mache viele Audittests für Projekte. Ich verstehe, was falsch ist, was gut ist, was schlecht ist, ich empfehle Verbesserungen, ich mache PoC. Grundsätzlich ist eine solche Beratung innerhalb des Unternehmens. Die zweite Richtung ist das Gaspedal, unser neues Healenium , das wir vor relativ kurzer Zeit kompensiert haben. Dies ist das, was kaputte Locators zur Laufzeit reparieren und Tests auf dem neuesten Stand halten kann.

- Großartig! Wanja, was ist mit dir? Ich weiß, dass Sie ein Selenoid-Entwickler sind.


Vania: Ich bin ein Spezialisierungsentwickler. Java, Go sind grundsätzlich solche Sprachen. Obwohl es vor hundert Jahren begann. Ich habe auch in PHP geschrieben, als das Einfachste da war. In der Schule schrieb er in allen möglichen Pascals, wie alle anderen auch. Infolgedessen habe ich in den letzten 6 Jahren das so genannte Schlagwort DevOps gemacht, das ist so etwas an der Kreuzung. Entsprechend der russischen Position kann dies beispielsweise als Softwareentwickler bezeichnet werden. Es ist sowohl ein Entwickler als auch eine Person, die an der Wartung der Infrastruktur beteiligt ist. Zum Beispiel bin ich für die Leistung eines großen Selenium-Clusters mit einer ausreichend großen Anzahl von Browsern verantwortlich, es ist fehlertolerant, verteilt und so weiter. Dies ist der erste Teil. Der zweite Teil - Ich mache alle Arten von Open Source und nicht nur Projekte. Wir schreiben Selenoidberüchtigt für alle in Open Source. Wir haben auch kommerzielle Werkzeuge. Zum Beispiel ist Selen für Kubernetes ein separates Produkt. Wir stellen Cloud-Lösungen für Selen her und vieles mehr. Es gibt auch eine Produktlinie, wir entwickeln professionell Werkzeuge für Selen: offen und geschlossen sind unterschiedlich. Eine solche Aktivität. Natürlich gehe ich zu Konferenzen, spreche, unterrichte Menschen und lerne Selen basierend auf meinen Erfahrungen effektiv.

- Du hast ein wenig über Selenoid gesagt. Ich weiß, dass Selenoid ein Projekt der Aerokube-Organisation ist. Kannst du mir sagen, wie es ist? Ist das eine Gemeinschaft oder eine Organisation? Eine kommerzielle Organisation oder wie ist sie überhaupt entstanden?

Vania: Es ist beides. Anfangs war es nur eine Community, sie gründeten eine Organisation auf GitHub, um Open-Source-Tools für Selenium zu erstellen. Dies geschah in seiner Freizeit von der Arbeit, von der Hauptarbeit. Es stellte sich heraus, dass es das erste Selenoid-Werkzeug war. Am Ende wurde uns klar, dass Sie eines von zwei Dingen benötigen, um sozusagen die effektive Entwicklung dieses Selenoid richtig sicherstellen zu können.

Alle guten Open Source-Produkte entwickeln sich in eine von zwei Richtungen. Die erste ist, wenn sie in einem großen Unternehmen hergestellt werden, das sie einfach sponsert, das Gehalt an die Entwickler zahlt, und die zweite Option ist, wenn es eine kostenlose Open-Source-Lösung gibt und es ein kostenpflichtiges Produkt gibt, ähnlich oder anders, aufgrund dessen die Entwicklung monetarisiert wird. Als Selenoid mit uns flog, haben wir einfach eine Entscheidung getroffen und sie in Form eines Unternehmens entworfen. Jetzt ist es bereits eine kommerzielle Organisation, die Open Source hat und ihre eigenen Produkte hat.

- Also arbeitest du daran, wie sich herausstellt?

Vanya : Ja.

- Gut. Anya, du hast die Akita- Bibliothek geschrieben , die bei der Alfa Bank entwickelt wurde. Verwenden Sie es noch irgendwo aktiv? Oder ist sie in Alpha geblieben und das war's?

Anya: Es wurde nur als Teil der Alfa Bank entwickelt. Zuallererst war sie für ihre Bedürfnisse. Dann haben wir es geöffnet, weil es so schien, als wäre es für jemand anderen nützlich. Soweit ich weiß, nutzt die Bank es jetzt natürlich und vielleicht auch etwa ein Dutzend Drittorganisationen. Aber ich arbeite gerade nicht mit ihr.

- Sie haben BDD beworben . Bewerben Sie es jetzt irgendwo oder ist dies nicht das Thema, an dem Sie aktiv arbeiten?

Anya: Es kommt auch auf die Situation an. Wenn der Kunde kommt und sagt, dass ich wissen möchte, was passiert, dann sind sie gut in diesem Ansatz. Wenn Feature-Teams dies tun oder Tests separat als Service durchgeführt werden, werde ich in diesen Fällen nicht dafür werben. Ich habe seit einiger Zeit nicht mehr mit BDD gearbeitet, jetzt handelt es sich hauptsächlich um selbstheilende Automatisierung.

Verwendung von BDD im Jahr 2020. Das ist ein Witz?


- BDD im Jahr 2020 ist in Ordnung?

Anya : Ich finde das okay, aber es hängt von der Situation ab. Jetzt testen wir die Selbstheilung mit BDD in derselben Alfa Bank und alles ist in Ordnung. Typ es kann aktualisiert werden, es ist dieser BDD-Ansatz, um stabiler zu machen und dann funktioniert es gut.

Vanya : Tatsächlich BDD - ursprünglich für Manager. Damit eine Person, die nicht über sehr tiefe Kompetenzen in der Entwicklung von Tests verfügt, dennoch leicht zu lesen ist, wie das Produkt getestet wird, zu verstehen. Es scheint mir, dass BDD sinnvoll ist, solange die gesamte Entwicklung so organisiert ist, dass es Führungskräfte mit unterschiedlichen Kompetenzen und Entwickler gibt. Warum nicht?

Anya: Es gibt immer noch Situationen, zum Beispiel gab es Situationen in der Bank, in denen es einfach keinen Tester in den Teams gab, und es war notwendig, es irgendwie zu testen, und die Analysten sagten: "Hier wollen wir!" Für sie wurde genau dieses Tool einschließlich entwickelt. Sie kamen fast zu dieser idealen Formulierung von BDD, dass die Analysten auch am Schreiben der Skripte beteiligt waren, und es war zweckmäßig, sich von dieser übergeordneten Beschreibung der Schritte leiten zu lassen, um die Tests zu kompilieren, und sie konnten automatisch ausgeführt werden.



- Dieser Holivar kommt noch, wer sollte Tests für BDD schreiben? Zum Beispiel gibt es eine Organisation, die noch kein BDD hat, und es ist unklar, ob es benötigt wird oder nicht und wer diese Tests schreiben sollte. Was würden Sie in einer idealen Welt empfehlen?

Vanya : Ich denke, es hängt sehr von der Menge von allem ab.

Anya : Ja, und das hängt sehr von der Situation ab. Wenn dies ein Feature-Team istWenn es alle Vertreter dieser Rollen und einige Tester mit guten Fähigkeiten gibt und es viele solcher Teams gibt, und auf diese Weise die Organisation aufgebaut ist, werden sie kaum BDD benötigen. Wenn dies ein Team ist, in dem es keinen Tester gibt oder der Tester über schwache Fähigkeiten verfügt, z. B. hauptsächlich manuelles Testen, ist dieser Ansatz auch anwendbar, da der Tester auch sofort automatisieren kann.

- Das heißt, wenn Sie viel Geld haben und viele Leute eingestellt haben, die technisch inkompetent sind, ist BDD dann für Sie geeignet?

Anya : Im Prinzip kann man das sagen.

Vanya : Im Allgemeinen scheint es mir, dass nicht nur BDD, sondern alle Tests während der Planung stark auf Geld basieren sollten.
Bei uns ist es so passiert, dass sich die meisten Konferenzen dennoch in die technische oder philosophische Richtung bewegen. Es ist nicht üblich zu sagen, dass wir auf jeden Fall in Unternehmen mit Budgets arbeiten, die nur über einen begrenzten Geldbetrag verfügen. Alle Entscheidungen, die das Management trifft, hängen letztendlich von diesem Geld ab. Es kommt nicht weiter. Nur Programmierer, Tester und Analysten, wir brauen in einer so "begrenzten" Welt, in der uns nichts darüber erzählt wird. Sie können nur "wir tun" oder "nicht tun" sagen. Es scheint mir, dass Testen, Entwicklungsplanung und alles andere - Sie müssen immer auf dem vorhandenen Budget aufbauen, nicht mehr. Trotzdem ruht dort alles.

Wird BDD ausgelagert oder gehostet?


- Wenn wir darüber sprechen, ob BDD für ein ausgelagertes und ein internes Projekt ist, gibt es einen Unterschied oder nicht? Benötigen Sie BDD für das Outsourcing, wenn das Budget dies zulässt?

Anya : Auch hier hängt alles vom Budget ab. Ich weiß nicht, ich würde BDD wahrscheinlich nicht persönlich für das Outsourcing geben, aber wenn der Kunde das natürlich nicht wirklich will. Wenn er sagt: "Ich will BDD und das war's, es ist mir egal!" - dann ja. Aber das erfordert so geschickte Jungs, dass sie alles wunderschön in einen wunderschönen Rahmen packen. Normalerweise kommen Kunden zum Outsourcing und sagen: "Ich möchte schnell eine Art Automatisierung" oder "Ich habe keine Automatisierung, Build" oder "Ich bin alle schlecht, lassen Sie uns etwas irgendwie aktualisieren." In solchen Situationen erfordert ihre Lösung normalerweise ein tieferes technisches Verständnis und eine tiefere Automatisierung auf technischer Ebene.
Wenn es dem Kunden gut fällt und Sie schnell mit der Automatisierung beginnen können, hängt es wahrscheinlich auch von der Zeit ab. Wenn es auf diese Weise möglich ist, schnell zu beginnen und das vom Kunden gewünschte Ziel zu erreichen, kann er sich hinlegen.

- Bei BDD für das Outsourcing geht es anscheinend nicht nur darum, wie man ein Projekt an sie schreibt, die Anforderungen herausfindet, sondern auch darum, den Kunden beizubringen, allgemein zu verstehen, was da ist. Denn die Schulung einiger Analysten oder sogar Manager, um zu verstehen, wie sie in Zukunft Szenarien erstellen sollten, ist auch eine andere Geschichte.

Anya : Ja, das kann seine eigenen Schwierigkeiten haben.

Vanya : Um auf die Frage zurückzukommen, ob BDD im Jahr 2020 normal ist, scheint es mir, dass es eine bestimmte Entwicklung gibt, die ich so philosophisch verlasse ...
Im Laufe der Zeit haben wir alle möglichen neuen Ansätze und Technologien, und es scheint mir, dass es nicht vorkommt, dass Technologie vollständig stirbt. Zum Beispiel gab es vor 40 Jahren, als sich Computer entwickelten, Großrechner dieser riesigen Maschinen, die jetzt fast gestorben sind. Dennoch blieben bestimmte Nischen dort, wo sie noch existieren und perfekt funktionieren.

Foto von der Website www.kmd.dk

Ich habe erst kürzlich mit einer Person gesprochen, die irgendwie mit Banken verbunden ist, mit einigen alten amerikanischen. Er sagt: "Alles kostet vor vierzig Jahren, alles funktioniert, weil es billiger ist, es zu warten." als auf einen neuen umschreiben. " Auf die gleiche Weise, denke ich, tauchen beim Testen neue Ansätze auf, BDD ist aufgetaucht. Ich glaube nicht, dass es überhaupt sterben wird, es wird in einigen Nischen bleiben, auch wenn sie sich etwas Besseres einfallen lassen. Also mit jedem Produkt, mit jeder Technologie. Es ist einerseits unmöglich, den gesamten Markt hundertprozentig zu erobern, andererseits auch vollständig zu sterben - man muss versuchen, dies zu erreichen, es gibt immer einige Nischen. Die Frage ist, welchen Anteil sie an der Gesamtmasse der Menschen haben.

Werdegang


— - , , , , , , .

: Die Leute stellen oft die Frage: Wie kann man im Unternehmen wachsen? Junior-Entwickler, Junioren kommen und natürlich ist das Ziel in ihrem Kopf, wie man wächst. Am Ende spürt man irgendwann, dass ein Unternehmen verlangt, dass Geld dort gezählt wird und so weiter. Tatsächlich besteht der Weg, um zu einem höheren Level eines Chefentwicklers zu werden, darin, selbst in einer so niedrigen Position darüber nachzudenken, wie Sie dies aus geschäftlicher Sicht tun würden. Nicht aus der Sicht, was würde ich versuchen, eine coole neue Sprache oder etwas anderes, es ist cool für eine persönliche Prüfung meiner eigenen, aber aus geschäftlicher Sicht, wenn Sie wachsen wollen, denke ich, dass Sie mehr darüber nachdenken müssen.

- - — , .


Einmal hörte ich eine kluge Person. Er sagte, dass es verschiedene Möglichkeiten gibt, eine Karriere aufzubauen. Er listete drei Hauptwege auf. Der erste Weg ist, jemandes Verwandter zu sein. Dies ist in der Regel nicht genug, eine kleine Anzahl von Menschen, die dort hochrangige Verwandte haben. Der zweite Weg ist die Manipulation. Alle möglichen Intrigen weben im Unternehmen und so weiter. Es gibt nur wenige solche Leute, die wissen, wie man das macht. Und der dritte Weg besteht darin, durch die Arbeit Ihren Nutzen für das Unternehmen zu beweisen. Die Hauptidee des Wachstums ist es, eine Nische im Unternehmen zu finden, die Probleme hat. Und schlagen Sie Ihrem Management vor, wie Sie diese Probleme effektiv lösen können. In diesem Fall können Sie jedoch erheblich wachsen.

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

: Es hängt alles sehr stark von der Person und dem Team ab. Im Großen und Ganzen muss eine Person, die sich entwickeln und wachsen möchte, dies irgendwann noch tun. Bis zu einem bestimmten Zeitpunkt wird der Manager für ihn kommunizieren, falls er einen hat, aber wenn er sich irgendwann weiterentwickeln möchte, muss er dies tun. Wie unterscheidet sich ein leitender Entwickler von einem Senior? Die Tatsache, dass er über ein sehr gutes Fachwissen verfügt und dass er weiß, wie man solche bereits halb-leitenden Aufgaben löst. Er weiß, wie er die volle Verantwortung für das Produkt trägt, das er von der Erstellung der Anforderungen bis zur direkten Entwicklung herstellt. Dies ist der Unterschied, wie mir scheint.

Anya : Ja, hier kommt das Verständnis, warum du etwas tust und nicht nur - es wird cool.

Selen Wird er noch gebraucht?


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

: Jetzt wird oft gesagt, dass Selen stirbt. Einige andere Werkzeuge kommen an seine Stelle. Es scheint mir, dass dies nicht ganz stimmt und trotzdem alles vom Fachwissen abhängt. In jedem Fall werden die meisten Projekte, die jetzt bei Selenium durchgeführt werden, durchgeführt. Sie benötigen Unterstützung, und wenn Sie als Testspezialist irgendwohin wollen, ist es höchstwahrscheinlich Selen. Es gibt wahrscheinlich viel mehr Fachwissen in diesem Bereich, und wenn einige neue Technologien auf den Markt kommen, kann es bombardieren und dann irgendwohin rutschen. Selen deckt, würde ich sagen, alle Möglichkeiten des Jujine-Tests ab. Und das ist so eine mächtige Sache, die in naher Zukunft definitiv nicht sterben wird.

Wenn Sie als Testspezialist irgendwohin wollen, dann ist es höchstwahrscheinlich Selen.


Vanya : Ich möchte auch ergänzen. Es gibt immer eine gewisse Trägheit mit der Technologie. Wie Sie wissen, gibt es Selen seit 2004, es ist bereits 15 Jahre alt. Natürlich ändert es sich auch von selbst, aber in dieser Zeit hat sich eine ziemlich große Anzahl von vorgefertigten Projekten angesammelt. Für die Programmierung ist vor 15 Jahren eine Steinzeit im Vergleich zu heute. Und genau in Selen wurden weitere Erfahrungen gesammelt. Fangen Sie einfach an, auf eine neue Technologie umzusteigen. Wenn Sie bereits ein erfahrener Automatisierungstechniker sind, ist es schwierig, es ist wirklich Trägheit.
Da das Produkt schon seit langer Zeit existiert, hat es eine große Wissensbasis und Fallstricke angehäuft, auch wenn es nicht nur das Problem von Selen ist, sondern das Problem jeder neuen Technologie im Allgemeinen. Damit es fliegen kann, müssen Sie eine kritische Masse an Wissen, Benutzern usw. erwerben .

Selen hat eine kritische Masse an Benutzern, es gibt Foren, Communitys, Stack Overflow, viele Dokumentationen, viele Konferenzen und Spezialisten, die dieses Wissen ständig weitergeben können. Sobald eine neue Technologie entsteht, kann sie nur fliegen, wenn viel Geld darin ist - und alles hängt vom Geld ab.

Es gibt ein Beispiel nicht zum Testen, sondern zur Entwicklung. Es gibt eine Programmiersprache Kotlin. Wie sich herausstellte, flog er jetzt in die bewegliche Richtung, gerade Fliegen, Fliegen. Sie sagen, dass es einige Gerüchte gibt, dass nur ein ziemlich anständiger Geldbetrag in seine Werbung investiert wurde, so dass er überall auf Konferenzen erwähnt wird, damit die Menschen Rahmenbedingungen entwickeln. Es passiert so viel. Um die Trägheit zu überwinden, müssen Sie eine bestimmte Menge an Ressourcen aufwenden. Nur ein gutes Produkt herzustellen, auch wenn es wirklich besser als Selen ist, ist schwer zu fördern.

Warum Selen? Weil es jetzt Standard ist. Es gibt ein spezielles World Wide Web Consortium, die das Standard-Selen nahm und reparierte. Es ist immer besser, mit standardisierten Werkzeugen zu arbeiten. Wenn wir zwischen zwei Tools wählen, können wir sagen: "Hier ist alles repariert, die API ist stabil, alles ist in Ordnung, aber es gibt einen undurchsichtigen Teil auf der Seite, die auch einige Unternehmen tun, es ist unklar, wie lange es dauern wird." Bei der Wahl zwischen diesen beiden Tools wählt ein vernünftiger Manager in der Regel etwas Standardisierteres. Es scheint mir, dass das Schreiben von Tests auf Selen sinnvoll ist, da selbst einige Anfänger jetzt einfacher sind. Die Eintrittsschwelle wird niedriger sein - mehr als jeder andere, den Sie nach Selen fragen können.

Der zweite Grund, warum Sie weiterhin Tests auf Selenium schreiben müssen, warum Sie im Allgemeinen Tests auf der Benutzeroberfläche schreiben müssen. Tatsächlich ist das Schreiben von Tests auf der Benutzeroberfläche (End-to-End) die einzige Möglichkeit, um zu überprüfen, ob die Anwendung genau so funktioniert, wie der Benutzer sie sieht. Selbst wenn wir alle Arten von Einheiten und alles andere schreiben, die mit verschiedenen Arten von Tests abgedeckt sind, gibt dies keine hundertprozentige Garantie. Erst wenn wir die gleichen Aktionen verlieren, die der Anwendungsbenutzer ausführen wird, können wir hundertprozentig sicher sein, dass die Anwendung mit uns zusammenarbeitet. Es ist klar, dass Sie auf diese Weise nicht hundertprozentig den Code vollständig übergeben müssen. Normalerweise werden die kritischsten Szenarien in der Anwendung behandelt, aber es ist trotzdem wichtig.

Es ist immer besser, mit standardisierten Werkzeugen zu arbeiten.


Anya: Ich möchte mehr über neue Tools hinzufügen. Einmal hörte ich auf einer Konferenz einen klugen Kerl. Er sprach über die Einführung neuer Technologien und darüber, wie man versteht, welche Technologie sterben und welche sich verzögern wird. In jeder Technologie, die auf den Markt kommt, gewinnt sie, was Wanja gerade sagt, eine kritische Masse. Dann hat sie einen Boom, und auf diesen Boom muss sozusagen gewartet werden, denn nach diesem Boom bleibt entweder diese Technologie, sie steht, sie wird ihre eigene Entwicklung haben und vorwärts springen, oder sie wird danach sterben. Es hängt auch von den Investitionen ab, ob es dem Entwicklungsteam gelingt, mit dem Strom von Benutzern, die zu ihnen kommen, dem Strom von Fehlern oder Anweisungen für die weitere Entwicklung fertig zu werden oder nicht. Greifen Sie also sofort zu etwas, das auf dem Hype steht, und übertragen Sie Ihre Tests auf diese Technologie, so scheint es mirwird ungerechtfertigt sein.

- Wie viel hat sich Ihrer Meinung nach in Selen verändert? Hat sich in den letzten zwei Jahren an diesem Instrument etwas dramatisch verändert und entwickelt es sich irgendwie weiter?

Vanya : Ich denke, es ändert sich ziemlich viel. Vor zwei oder drei Jahren gab es das Gefühl, dass es eine Art Stagnation gab, denn tatsächlich wurde Selen 2004 erfunden, dann entwickelt, entwickelt, entwickelt, 2008-2009 entwickelten sie Selenium WebDriver und sie entwickelten Selenium Grid. Nach fünf Jahren haben sie es gerade fertiggestellt und einige kleine Funktionen eingeführt. Im Allgemeinen hat sich nicht viel geändert. Jeder hatte ein Selenium-Gitter, jeder hatte eine Standard-Selenium-Bibliothek.

In den letzten zwei bis drei Jahren gab es jedoch einen Boom bei allen möglichen neuen Produkten auf Selenbasis. Wir haben zum Beispiel Selenoid gemacht. Die Leute, die zu dieser Zeit bei Zalando arbeiteten , basierend auf dem Selenium Grid, stellten ein Werkzeug wie Zalenium her, ebenfalls eine Selenium-kompatible Lösung. Tatsächlich wurden beide Tools entwickelt, um bestimmte Probleme zu lösen, für die es im ursprünglichen Code keine Lösung gab. Dann erschienen andere, Konkurrenten von Selen selbst. Nun, es scheint mir, dass in den letzten zwei oder drei Jahren eine Art Dvizhuha-Dvizhuha verschwunden ist.

Es scheint mir, dass sich Selen entwickelt, und Anfang 2018 haben sie den Standard festgelegt. Daher hat Selen als Werkzeug natürlich einerseits eine große Reife. Andererseits gelang es dem Team, das ursprünglich den Kerncode entwickelt hatte, anderen Teams von Browser-Entwicklern die Verantwortung für die Aufrechterhaltung der Kompatibilität mit dem Standard aufzuerlegen. Früher war praktisch das gesamte Selenium eine Einheit, in der alles lag, alle Fahrer, aber jetzt gelang es ihnen, allen Teams zuzustimmen. Apple for Safari unterstützt dies, da es einen Standard gibt und Sie sich mit niemandem abstimmen müssen. Google unterstützt Chrome, Mozilla Firefox. In der Tat, jetzt ist es bereits ein verteiltes Ökosystem, es gibt verschiedene Punkte. Jetzt macht Microsoft auch seine eigenen für seine Browser, für Edge hat es seinen eigenen Treiber gemacht,und sie haben es geschafft, die Verantwortung zu verteilen. Aus diesem Grund scheint es mir einen ziemlich anständigen Qualitätssprung gegeben zu haben.

- Ja, vor drei Jahren erinnere ich mich, dass die Tests für Selen auf Safari liefen. Es war notwendig, sich so abzuschrauben. Im Allgemeinen tat es weh.

Vanya : Und jetzt wird alles mehr oder weniger nach dem Standard gemacht. Dort gibt es natürlich einige Besonderheiten, aber im Wesentlichen wurde alles einheitlich, das heißt, es gab eine solche Vereinheitlichung, wie alles im Inneren funktioniert. Ich finde es cool, da wurde viel Mühe investiert. Daher glaube ich nicht, dass Selen derzeit stagniert. Jetzt gibt es einen gesunden Wettbewerb verschiedener Entscheidungen.

Wir konkurrieren in gewisser Weise mit den Leuten, die den Haupt-Selenium-Code erstellen. Wir kommen zur Konferenz, wir sagen, Jungs, deine ist nicht effektiv, weil deshalb und deshalb. Um irgendwie zu beweisen, dass sie auch gut gemacht sind, müssen sie ihr eigenes Ding machen. Es gibt einen gesunden Wettbewerb.

Anya : In Bezug auf die Selenium-IDE möchte ich auch hinzufügen, was meiner Meinung nach im Allgemeinen jeder längst vergessen hat. Mit dem Aufkommen neuer Tools für die skriptlose Automatisierung nahmen sie erneut die Selenium-IDE auf. Im Jahr 2019 wurde es sehr stark entwickelt und Anfang 2020 ist eine groß angelegte Veröffentlichung geplant, in der sie etwas präsentieren werden. Die Benutzeroberfläche der IDE hat sich stark verändert und ist beispielsweise stabiler und praktischer geworden.

Vanya : Ich wollte auch hinzufügen, dass sie jetzt versucht haben, verschiedene Technologien auf Selen anzuwenden, die zuvor noch nicht angewendet wurden, zum Beispiel dasselbe maschinelle Lernen.
Dies ist eines der Gebiete, die es in Selen noch nicht gab. Menschen, die Selen seit etwa 10 Jahren verwenden, haben eine bestimmte Anzahl von Aufgaben gefunden, die, wie sich herausstellte, mit Hilfe des maschinellen Lernens teilweise oder vollständig gelöst werden können. Alle Arten von Routineoperationen.

- Anya, sag mir, welche Probleme löst du durch maschinelles Lernen? Werden sie alles für uns schreiben? In unserem Land beginnt künstliche Intelligenz überall einzudringen. Wenn Sie "KI und Selen" in Google einbinden, beginnen die Leute dort, ihre eigenen Bibliotheken zu entwickeln, laden etwas anderes hoch, dh die Entwicklung ist im Gange.

Anya: In Bezug auf Selen kann ich sagen, dass es in letzter Zeit viel bequemer war, alle Arten von Entscheidungen auf dieser Grundlage zu treffen, insbesondere aufgrund seiner Standardisierung. In Bezug auf Funktionen ist es am wichtigsten, mit den Elementen auf der Seite zu interagieren. Dementsprechend liegt dieser Teil bereits bei den Testern, wie diese Wechselwirkung mit Selen beschrieben werden kann. Wenn Sie es nur mit Selen beschreiben, kann es zu instabilen Tests kommen, da dort Änderungen an der Benutzeroberfläche auftreten, einige Elemente nicht warten und so weiter. An diesem Ort wird allmählich maschinelles Lernen angewendet, damit diese Tests stabilisiert werden können. Damit diese Tests basierend auf den Informationen, die wir auf der Seite haben, und basierend auf dem Benutzerverhalten generiert werden können.

Der Trend war Record and Play, was genau die Selenium IDE macht: Wir gehen zur Seite, klicken auf die Aktion, wir erstellen Tests. Diese Tests müssen stabil sein. Dafür ist dort maschinelles Lernen erforderlich. Normalerweise sind Locators fest codiert. Wenn Sie also die Benutzeroberfläche ändern, müssen Sie sie aktualisieren. Das Healenium, das wir gerade durchführen, ermöglicht es uns, sie zur Laufzeit zu aktualisieren, und unser Test wird entsprechend bestanden.

Jetzt gibt es einen solchen Trend nicht nur für Aufnahme- und Wiedergabetests, sondern auch für die Möglichkeit, Tests zu generieren. Wir wissen, welche Elemente wir auf der Seite haben. Wir können eine Art logisches Diagramm unserer Site zeichnen. Wir wissen, dass wir die Hauptseite haben, von der die Anmeldeseite und etwas anderes. Basierend auf diesen logischen Verbindungen und Aktionen, die wir auf dieser Seite ausführen können, können wir Tests generieren. Aber ich kenne solche Instrumente auf dem Markt nicht, die es sehr gut gemacht haben. Healenium wollen wir genau in diese Richtung entwickeln.

Mit der Entwicklung dieser Ansätze und Kenntnisse auf dem Gebiet des maschinellen Lernens wird es in naher Zukunft eine Verzerrung bei der Entwicklung und dem Erscheinungsbild solcher Werkzeuge geben. Zum Beispiel Crawler von Websites, die automatisch testen können, anstatt Testfälle zu schreiben.

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




Ich schlage vor, dieses Problem in den Kommentaren zu diskutieren. Und in der Fortsetzung dieses Interviews werden wir die Antworten von Anna und Ivan herausfinden. Übrigens können Sie auf der Heisenbug 2020 Piter-Konferenz , die online stattfinden wird , mit ihnen chatten und mehr über Healenium, Selenoid und die Verwendung des Chrome DevTools-Protokolls im Kubernetes-Cluster erfahren.

Kürzlich wurde der zweite Teil des Interviews mit der Antwort auf die Frage zu ML beim Testen veröffentlicht: Sie fanden heraus, wer die Person ist , und fanden heraus, ob Selen im Jahr 2020 untersucht werden sollte.

Für diejenigen, die ihren Horizont erweitern und an mehr als einer Konferenz teilnehmen möchten, aber sofort 8, haben wir etwas vorbereitet .

All Articles