Siapa lagi yang butuh Selenium? Adakah yang menggunakan BDD pada tahun 2020? Pembelajaran Mesin di Selenium

Setiap kali saya menemukan artikel baru tentang cara menggunakan pendekatan BDD dan bagaimana itu meningkatkan kehidupan pengembangan, pengujian dan manajemen, saya mengambil wajah. (Dan sekarang saya tidak tahu harus berbuat apa. Saya tidak mengambil wajah saya, tetapi hanya sedih). Namun, tugas menulis tes Selenium dapat menyebabkan sensasi yang sama . Saya ingin membicarakannya dengan mereka yang dihadapkan dengan tes Selenium dan sedang mengembangkan berbagai alat untuk pekerjaan yang nyaman dengan mereka.

gambar

Kami (Vsevolod Brekelov dan Daria Manukhina, komite program konferensi Heisenbug) berbicara dengan Anna Chernyshova, pengembang perpustakaan Akita dan alat Healenium baru ( ceramahnya tentang BDD ), dan Ivan Krutov, pengembang Selenoid. Ivan telah terlibat dalam infrastruktur untuk tes Selenium selama beberapa tahun ( Salah satu kelas masternya ). Dibahas:

  • Pendekatan BDD pada tahun 2020;
  • Selenium dan perkembangannya;
  • Karier;
  • Pembelajaran Mesin dan Selenium.


Wawancara terdiri dari dua bagian: di bagian kedua, kami berbicara tentang infrastruktur tes Selenium, alat penguji, dan menjawab pertanyaan yang diajukan pada akhir posting ini.


Banyak surat tentang lawan bicara


- Anya, Vanya, ceritakan tentang dirimu. Mari kita mulai dengan Ani: beri tahu kami secara singkat apa yang terutama Anda lakukan.


Anya : Saya sekarang memiliki dua kegiatan utama: yang pertama - saya bekerja di pusat kompetensi pengujian EPAM di EPAM. Ini adalah sekelompok orang yang sedang berkonsultasi untuk mendapatkan bantuan dalam memulai suatu proyek, memilih teknologi. Saya melakukan banyak pengujian audit pada proyek. Saya mengerti apa yang salah, apa yang baik, apa yang buruk, saya merekomendasikan peningkatan, saya membuat PoC. Pada dasarnya, konsultasi seperti itu di dalam perusahaan. Arah kedua adalah akselerator, Healenium baru kami , kami telah mengkompensasi untuknya relatif baru-baru ini, ini adalah hal yang dapat memperbaiki pelacak yang rusak dalam runtime dan terus melakukan pengujian.

- Bagus! Vanya, bagaimana denganmu? Saya tahu Anda adalah pengembang Selenoid.


Vania: Saya adalah pengembang spesialisasi. Java, Go pada dasarnya adalah bahasa seperti itu. Meskipun dimulai seratus tahun yang lalu. Saya juga menulis di PHP ketika hal yang paling sederhana ada di sana. Di sekolah, ia menulis dalam segala jenis pascals, seperti yang lainnya. Akibatnya, 6 tahun terakhir saya telah melakukan apa yang sekarang disebut kata kunci DevOps, ini adalah hal yang demikian di persimpangan. Menurut posisi dalam bahasa Rusia, ini dapat disebut, misalnya, seorang insinyur perangkat lunak, baik pengembang maupun orang yang terlibat dalam memelihara infrastruktur. Sebagai contoh, saya bertanggung jawab atas kinerja cluster Selenium besar dengan jumlah browser yang cukup besar, itu toleran terhadap kesalahan, didistribusikan, dan sebagainya. Ini bagian pertama. Bagian kedua - Saya melakukan segala macam open source dan tidak hanya proyek. Kami menulis Selenoidterkenal karena semua orang di open source. Kami juga memiliki alat komersial. Sebagai contoh, Selenium untuk Kubernetes adalah produk terpisah, kami membuat solusi cloud untuk Selenium, baik, dan banyak lagi. Ada juga lini produk, kami secara profesional mengembangkan alat untuk Selenium: terbuka dan tertutup berbeda. Kegiatan seperti itu. Tentu saja, saya pergi ke konferensi, berbicara, mendidik orang, cara membangun Selenium secara efektif berdasarkan pengalaman saya.

- Anda mengatakan sedikit tentang Selenoid. Saya tahu Selenoid adalah proyek organisasi Aerokube. Bisakah Anda memberi tahu saya bagaimana kondisinya? Apakah ini sebuah komunitas atau itu sebuah organisasi? Sebuah organisasi komersial atau bagaimana penampilannya?

Vania: Keduanya. Bahkan, pada awalnya itu hanya sebuah komunitas, mereka memulai sebuah organisasi di GitHub untuk menciptakan sumber terbuka, alat yang efektif untuk Selenium. Ini dilakukan di waktu luangnya dari pekerjaan, dari pekerjaan utama. Ternyata menjadi alat Selenoid pertama, maka pada akhirnya kami menyadari bahwa untuk dapat memastikan, dengan tepat, pengembangan efektif Selenoid ini Anda memerlukan satu dari dua hal.

Semua produk open source yang bagus berkembang dalam satu dari dua arah. Yang pertama adalah ketika mereka dibuat di beberapa perusahaan besar yang hanya mensponsori mereka, membayar gaji kepada para pengembang, dan opsi kedua adalah ketika ada solusi open source gratis, dan ada beberapa produk berbayar, mirip atau berbeda, karena pengembangan yang dimonetisasi. Akibatnya, ketika Selenoid terbang bersama kami, kami hanya membuat keputusan dan mendesainnya dalam bentuk perusahaan. Sekarang sudah menjadi organisasi komersial yang memiliki sumber terbuka dan memiliki produk sendiri.

- Jadi Anda bekerja di dalamnya, ternyata?

Vanya : Ya.

- Bagus Anya, Anda menulis perpustakaan Akita , yang sedang dikembangkan di Alfa Bank. Apakah Anda masih menggunakannya di suatu tempat secara aktif? Atau apakah dia tinggal di Alpha dan hanya itu?

Anya: Itu dikembangkan hanya sebagai bagian dari Alfa Bank. Pertama-tama, dia untuk kebutuhan mereka. Lalu kami membukanya, karena sepertinya itu mungkin berguna untuk orang lain. Sejauh yang saya tahu, bank sekarang menggunakannya, tentu saja, dan mungkin juga sekitar selusin organisasi pihak ketiga. Tapi saya tidak bekerja dengannya sekarang.

- Anda mempromosikan BDD . Apakah Anda mempromosikannya di suatu tempat sekarang, atau ini bukan topik yang sedang Anda kerjakan secara aktif?

Anya: Itu juga tergantung pada situasinya. Jika pelanggan datang dan mengatakan bahwa saya ingin mengetahui apa yang terjadi, maka ya, mereka pandai dalam pendekatan ini. Jika tim fitur melakukan ini, atau pengujian dilakukan secara terpisah sebagai layanan, maka dalam kasus ini saya tidak mempromosikannya. Saya belum pernah bekerja dengan BDD selama beberapa waktu, sekarang ini terutama otomatisasi penyembuhan diri.

Penggunaan BDD pada tahun 2020. Ini lelucon?


- BDD pada tahun 2020 tidak apa-apa?

Anya : Saya kira tidak apa-apa, tapi itu tergantung situasinya. Sekarang kami menguji penyembuhan diri dengan BDD di Alfa Bank yang sama dan semuanya baik-baik saja. Ketik itu bisa diperbarui, ini adalah pendekatan BDD yang dibuat lebih stabil dan kemudian berfungsi dengan baik.

Vanya : Sebenarnya, BDD - itu untuk manajer awalnya. Sehingga seseorang yang tidak memiliki kompetensi yang sangat dalam dalam pengembangan tes dapat dengan mudah membaca bagaimana produk diuji, untuk dipahami. Tampak bagi saya bahwa selama seluruh pengembangan diatur sedemikian rupa sehingga ada manajer eksekutif yang memiliki kompetensi berbeda dan ada pengembang, saya pikir BDD masuk akal, mengapa tidak?

Anya: Masih ada situasi, misalnya, bagaimana bank memilikinya, bahwa tim sama sekali tidak memiliki tester, dan itu perlu untuk mengujinya, dan analis mengatakan: "di sini kita inginkan!". Bagi mereka, hanya alat ini termasuk yang dikembangkan. Mereka hampir sampai pada formulasi BDD yang ideal ini, bahwa para analis juga terlibat dalam penulisan skrip, dan itu nyaman bagi mereka untuk dipandu oleh deskripsi tingkat atas dari langkah-langkah untuk menyusun tes, dan mereka dapat secara otomatis berjalan.



- Holivar ini masih akan datang, siapa yang harus menulis tes untuk BDD? Misalnya, ada beberapa organisasi yang belum memiliki BDD, dan tidak jelas apakah itu diperlukan atau tidak, dan siapa yang harus menulis tes ini. Di dunia yang ideal, apa yang akan Anda rekomendasikan?

Vanya : Saya pikir itu sangat tergantung pada jumlah semuanya.

Anya : Ya, dan itu sangat tergantung pada situasinya. Jika ini adalah tim fitur, di mana ada semua perwakilan dari peran ini dan beberapa penguji dengan keterampilan keras yang baik, dan ada banyak tim seperti itu, dan ini adalah bagaimana organisasi dibangun, maka mereka tidak akan membutuhkan BDD. Jika ini adalah tim di mana tidak ada tester, atau tester memiliki keterampilan keras yang lemah, misalnya, ini terutama pengujian manual, maka pendekatan ini juga akan berlaku, karena tester juga dapat melakukan otomatisasi segera.

- Artinya, jika Anda memiliki banyak uang dan Anda telah mempekerjakan banyak orang yang secara teknis tidak kompeten, maka apakah BDD cocok untuk Anda?

Anya : Pada prinsipnya, kamu bisa mengatakan itu.

Vanya : Secara umum, menurut saya bukan hanya BDD, tetapi setiap pengujian selama perencanaan harus sangat didasarkan pada uang.
Begitulah yang terjadi pada kami sehingga sebagian besar konferensi bergerak ke arah teknis atau filosofis. Bukan kebiasaan untuk mengatakan bahwa dalam hal apa pun, kami bekerja di perusahaan yang memiliki anggaran, yang memiliki sejumlah uang terbatas. Semua keputusan yang diambil manajemen, semuanya tetap pada akhirnya bertumpu pada uang ini. Tidak ada jalan menuju ke mana pun. Hanya programmer, penguji dan analis, kita menyeduh di dunia "terbatas", di mana kita tidak diberitahu tentang mereka, mereka hanya bisa mengatakan "kita lakukan" atau "tidak." Menurut saya, pengujian, perencanaan pembangunan, dan segala hal lainnya - Anda selalu perlu membangun anggaran yang ada, tidak lebih. Semua sama, semua ada di sana.

Apakah BDD di-outsource atau di-host?


- Jika kita berbicara tentang apakah BDD adalah untuk proyek outsourcing dan untuk proyek internal, apakah ada perbedaan atau tidak? Jika anggaran memungkinkan, apakah Anda memerlukan BDD untuk outsourcing?

Anya : Sekali lagi, ya, semuanya tergantung pada anggaran. Saya tidak tahu, saya mungkin tidak akan memberikan BDD secara pribadi untuk outsourcing, tetapi jika, tentu saja, pelanggan tidak benar-benar menginginkannya. Jika dia berkata: "Saya ingin BDD dan hanya itu, saya tidak peduli!" - lalu ya. Tapi ini akan membutuhkan orang-orang yang terampil sehingga mereka membungkus semuanya dengan indah dalam beberapa kerangka kerja yang indah. Biasanya, pelanggan datang ke outsourcing yang mengatakan: "Saya dengan cepat menginginkan semacam otomatisasi," atau "Saya tidak memiliki otomatisasi, pembuatan," atau "Saya melakukan hal yang buruk, mari perbarui sesuatu entah bagaimana." Biasanya dalam situasi seperti itu, solusi mereka membutuhkan pemahaman teknis yang lebih dalam dan otomatisasi pada tingkat teknis.
Meskipun jika itu jatuh ke klien dan Anda dapat dengan cepat memulai otomatisasi, itu juga mungkin tergantung pada waktu. Jika mungkin dengan cara ini untuk dengan cepat memulai dan mencapai tujuan yang diinginkan klien, maka ya, ia dapat berbaring.

- Tampaknya BDD untuk outsourcing tidak hanya tentang bagaimana menulis proyek kepada mereka, mencari tahu persyaratannya, tetapi juga tentang mengajar pelanggan untuk secara umum memahami apa yang ada. Karena pelatihan beberapa analis atau bahkan manajer dalam memahami bagaimana mereka harus membuat skenario, jika mereka di masa depan, juga merupakan cerita yang berbeda.

Anya : Ya, ini mungkin memiliki kesulitannya sendiri.

Vanya : Kembali ke pertanyaan apakah BDD normal pada tahun 2020, menurut saya ada beberapa evolusi yang pasti, saya meninggalkannya secara filosofis ...
Seiring waktu, kami memiliki segala macam pendekatan dan teknologi baru, dan bagi saya tampaknya tidak terjadi bahwa teknologi benar-benar mati. Sebagai contoh, 40 tahun yang lalu, ketika komputer berkembang, ada mainframe dari mesin-mesin besar yang sekarang hampir mati, namun, ceruk tertentu tetap ada di tempat mereka masih ada dan bekerja dengan sempurna.

Foto dari situs www.kmd.dk

Saya baru-baru ini berbicara dengan seseorang, ia entah bagaimana terhubung dengan bank, dengan beberapa yang lama di Amerika, ia berkata: "Semuanya berharga empat puluh tahun yang lalu, semuanya berfungsi, karena lebih murah untuk mempertahankannya daripada menulis ulang ke yang baru. " Dengan cara yang sama, saya pikir, dalam pengujian, pendekatan baru muncul, BDD telah muncul. Saya tidak berpikir bahwa itu akan mati sama sekali, itu akan tetap di beberapa ceruk, bahkan jika mereka datang dengan sesuatu yang lebih baik dari ini. Begitu juga dengan produk apa pun, dengan teknologi apa pun. Tidak mungkin, di satu sisi, untuk sepenuhnya, seratus persen merebut seluruh pasar, di sisi lain, untuk mati sepenuhnya juga - Anda perlu mencoba untuk mewujudkannya, selalu ada beberapa celah. Pertanyaannya adalah berapa bagian mereka dalam jumlah total orang.

Karier


โ€” - , , , , , , .

: Orang sering bertanya: bagaimana cara tumbuh di perusahaan? Pengembang junior, junior datang dan, tentu saja, di kepala mereka tujuannya adalah bagaimana tumbuh. Pada akhirnya, pada titik tertentu, Anda mulai merasakan tuntutan bisnis bahwa uang harus dihitung di sana dan seterusnya. Kenyataannya, cara untuk tumbuh ke tingkat yang lebih tinggi dari kepala pengembang adalah mulai berpikir bahkan dalam posisi yang begitu rendah tentang bagaimana Anda akan mulai melakukannya dari sudut pandang bisnis. Bukan dari sudut pandang, apa yang akan saya coba bahasa baru yang keren atau sesuatu yang lain, itu bagus untuk ujian pribadi saya sendiri, tetapi dari sudut pandang bisnis, jika Anda ingin tumbuh, saya pikir Anda perlu memikirkan lebih lanjut tentang ini.

- - โ€” , .


Pada suatu waktu saya mendengar orang pintar. Dia mengatakan bahwa ada berbagai cara untuk menumbuhkan karier. Dia mendaftar tiga cara utama. Cara pertama adalah menjadi kerabat seseorang. Ini biasanya tidak cukup, sejumlah kecil orang yang memiliki kerabat berpangkat tinggi di sana. Cara kedua adalah melakukan manipulasi. Segala macam intrik menenun di perusahaan dan sebagainya. Ada beberapa orang yang tahu bagaimana melakukan ini. Dan cara ketiga adalah dengan membuktikan kegunaan utilitas Anda kepada perusahaan. Gagasan utama pertumbuhan adalah menemukan ceruk dalam perusahaan yang memiliki masalah. Dan sarankan kepada manajemen Anda bagaimana menyelesaikan masalah ini secara efektif, tetapi dalam hal ini Anda dapat tumbuh dengan pesat.

โ€” , , . ? , , , : ยซ, , , ! , , ยป.

: Itu semua sangat tergantung pada orang dan pada tim. Pada umumnya, jika seseorang ingin tumbuh dan berkembang, ia masih harus melakukannya di beberapa titik. Sampai titik waktu tertentu, manajer akan berkomunikasi untuknya, jika dia memilikinya, tetapi jika dia akhirnya ingin berkembang, dia harus melakukannya. Apa perbedaan antara pengembang utama dan senior? Fakta bahwa ia memiliki keahlian yang sangat baik dan fakta bahwa ia tahu bagaimana menyelesaikan tugas yang sudah setengah manajerial. Dia tahu bagaimana memikul tanggung jawab penuh atas produk yang dia buat mulai dari menyusun persyaratan hingga pengembangan langsung, inilah bedanya, menurut saya.

Anya : Ya, inilah pemahaman mengapa Anda melakukan sesuatu, dan tidak hanya melakukannya - itu akan keren.

Selenium Apakah dia masih dibutuhkan?


โ€” Selenium, . : ยซ - Selenium? , , , Selenium?ยป

: Sekarang sering dikatakan bahwa Selenium sedang sekarat. Beberapa alat lain menggantikannya. Tampaknya bagi saya bahwa ini tidak sepenuhnya benar dan semua itu tergantung pada keahlian. Bagaimanapun, sebagian besar proyek sekarang di Selenium dilakukan dan dilakukan di atasnya. Anda akan memerlukan dukungan, dan jika sebagai spesialis pengujian Anda ingin mendapatkan suatu tempat, maka kemungkinan besar itu adalah Selenium. Mungkin ada lebih banyak keahlian di bidang ini, ditambah ketika beberapa teknologi baru memasuki pasar, itu bisa meledak dan kemudian meluncur ke suatu tempat. Selenium mencakup, saya akan mengatakan, semua kemungkinan pengujian jujine. Dan ini adalah hal yang sangat kuat, yang dalam waktu dekat pasti tidak akan mati.

Jika sebagai spesialis pengujian Anda ingin pergi ke suatu tempat, maka kemungkinan besar itu adalah Selenium.


Vanya : Saya juga ingin menambah. Selalu ada inersia tertentu dengan teknologi. Selenium, seperti yang Anda tahu, sudah ada sejak 2004, sudah berusia 15 tahun. Tentu saja, itu juga berubah sendiri, namun, selama waktu ini sejumlah besar proyek siap pakai telah terakumulasi. Untuk pemrograman, 15 tahun yang lalu adalah zaman batu dibandingkan dengan sekarang. Dan lebih banyak pengalaman telah diperoleh tepatnya di Selenium. Mulai saja pindah ke beberapa teknologi baru, jika Anda sudah menjadi insinyur otomasi yang berpengalaman, itu sulit, itu benar-benar inersia.
Karena produk telah ada sejak lama, ia telah mengakumulasikan basis pengetahuan yang besar, jebakan, bahkan jika itu bukan hanya masalah Selenium, itu umumnya merupakan masalah dari teknologi baru - agar dapat terbang, Anda perlu mendapatkan sejumlah pengetahuan, pengguna, dan sebagainya. .

Selenium memiliki massa pengguna yang kritis, ada forum, komunitas, Stack Overflow, banyak dokumentasi, banyak konferensi dan spesialis yang dapat secara konstan mentransfer pengetahuan ini. Begitu teknologi baru muncul, ia bisa terbang sekarang hanya jika ada banyak uang di dalamnya - dan semuanya tergantung pada uang.

Ada contoh bukan tentang pengujian, tetapi tentang pengembangan. Ada bahasa pemrograman Kotlin. Dia sekarang, ternyata, terbang ke arah bergerak, terbang lurus, terbang. Mereka mengatakan bahwa ada beberapa desas-desus bahwa hanya sejumlah uang yang cukup layak telah diinvestasikan dalam promosinya, sehingga disebutkan di mana-mana dalam konferensi, sehingga orang mengembangkan kerangka kerja. Begitu banyak yang terjadi. Untuk mengatasi kelembaman, Anda perlu menghabiskan sejumlah sumber daya. Hanya membuat produk yang bagus, bahkan jika itu benar-benar lebih baik daripada Selenium, sulit untuk dipromosikan.

Mengapa Selenium? Karena sekarang standar. Ada Konsorsium World Wide Web tertentu, yang mengambil dan memperbaiki Selenium standar. Itu selalu lebih baik untuk bekerja dengan alat yang terstandarisasi. Memilih di antara dua alat, kita dapat mengatakan: "Semuanya sudah diperbaiki di sini, API stabil, semuanya baik-baik saja, tetapi ada beberapa bagian yang tidak jelas di sisi yang juga dilakukan oleh beberapa perusahaan, tidak jelas berapa lama akan berlangsung." Ketika memilih antara dua alat ini, sebagai aturan, seorang manajer yang masuk akal biasanya memilih sesuatu yang lebih standar. Sepertinya saya menulis tes pada Selenium masuk akal, karena bahkan beberapa pemula sekarang lebih mudah dilakukan. Ambang entri akan lebih rendah - lebih dari siapa pun yang dapat Anda tanyakan tentang Selenium.

Alasan kedua mengapa Anda harus terus menulis tes di Selenium, mengapa Anda umumnya perlu menulis tes di UI. Faktanya, menulis tes pada UI, seperti end-to-end, adalah satu-satunya cara untuk memverifikasi bahwa aplikasi bekerja persis seperti yang dilihat pengguna. Sekalipun kita menulis segala macam unit dan yang lainnya, tutup dengan berbagai jenis pengujian, ini tidak memberikan jaminan seratus persen. Hanya setelah kehilangan tindakan yang sama yang akan dilakukan pengguna aplikasi, kita dapat seratus persen yakin bahwa aplikasi tersebut bekerja dengan kita. Jelas bahwa Anda tidak perlu benar-benar melewati seratus persen kode dengan cara ini. Biasanya skenario yang paling kritis dalam aplikasi dicakup, tetapi toh itu penting.

Itu selalu lebih baik untuk bekerja dengan alat yang terstandarisasi.


Anya: Saya ingin menambahkan lebih banyak tentang alat baru. Suatu kali saya mendengar seorang pria pintar di sebuah konferensi. Dia berbicara tentang peluncuran teknologi baru dan bagaimana memahami teknologi mana yang akan mati, yang akan ditunda. Dalam teknologi apa pun yang memasuki pasar, ia mulai mendapatkan apa yang dikatakan Vanya, massa yang kritis. Kemudian dia memiliki boom, dan boom ini perlu ditunggu, seolah-olah, karena setelah boom ini, baik teknologi ini tetap, ia berdiri, itu akan memiliki pengembangan sendiri dan melompat ke depan, atau dia akan mati setelah itu. Itu juga tergantung pada investasi, pada apakah tim pengembangan berhasil mengatasi arus pengguna yang datang kepada mereka, aliran bug, atau arahan untuk pengembangan lebih lanjut, atau tidak. Jadi segera, ambil sesuatu yang ada di sensasi dan mentransfer tes Anda ke teknologi ini, menurut sayaakan dibenarkan.

- Menurut Anda, berapa banyak yang berubah di Selenium? Apakah ada yang berubah secara dramatis dalam dua tahun terakhir dalam instrumen ini dan apakah itu berkembang?

Vanya : Saya pikir itu banyak berubah. Dua atau tiga tahun yang lalu, ada perasaan bahwa ada semacam stagnasi di dalamnya, karena sebenarnya Selenium ditemukan pada 2004, kemudian dikembangkan, dikembangkan, dikembangkan, kemudian pada 2008-2009 mereka datang dengan Selenium WebDriver, dan mereka muncul dengan Selenium Grid. Setelah lima tahun, mereka baru saja menyelesaikannya, meluncurkan beberapa fitur kecil, secara umum, tidak ada yang berubah banyak. Setiap orang memiliki Selenium Grid, semua orang memiliki perpustakaan Selenium standar.

Tapi 2-3 tahun terakhir, telah ada booming di semua jenis produk baru berbasis Selenium. Kami, misalnya, membuat Selenoid. Orang-orang yang bekerja pada waktu itu di Zalando , berdasarkan Selenium Grid, membuat alat seperti Zalenium, juga solusi yang kompatibel dengan Selenium. Bahkan, kedua alat itu dibuat untuk memecahkan masalah khusus yang tidak ada solusi dalam kode asli. Lalu yang lain muncul, pesaing Selenium sendiri. Sekarang, bagi saya, selama dua atau tiga tahun terakhir, semacam gerakan yang bergerak telah hilang.

Tampak bagi saya bahwa Selenium sedang berkembang, ditambah pada awal 2018 mereka memperbaiki standar. Karena itu, Selenium, tentu saja, di satu sisi, sebagai alat, memiliki kematangan yang cukup banyak. Di sisi lain, tim yang awalnya mengembangkan kode inti berhasil memaksakan tanggung jawab untuk menjaga kompatibilitas dengan standar untuk tim pengembang browser lainnya. Sebelumnya, hampir semua Selenium adalah satu unit di mana semuanya berada, semua pembalap, tetapi sekarang mereka berhasil setuju dengan semua tim. Apple untuk Safari mendukung karena ada standar dan tidak perlu berkoordinasi dengan siapa pun. Google mendukung Chrome, Mozilla mendukung Firefox. Bahkan, sekarang sudah ekosistem terdistribusi, ada beberapa titik berbeda. Sekarang Microsoft juga membuat sendiri untuk browser-nya, untuk Edge itu membuat driver sendiri,dan mereka berhasil mendistribusikan tanggung jawab. Karena ini, menurut saya ada lompatan yang cukup baik dalam kualitas.

- Ya, tiga tahun lalu, saya ingat bahwa tes untuk Selenium di Safari berjalan, perlu untuk membuka diri seperti itu. Secara umum, itu menyakitkan.

Vanya : Dan sekarang semuanya dilakukan kurang lebih sesuai dengan standar. Di sana, tentu saja, ada beberapa kekhasan mereka sendiri, tetapi pada dasarnya semuanya menjadi seragam, yaitu, ada penyatuan seperti bagaimana semuanya bekerja di dalam. Saya pikir itu keren, ada banyak upaya yang dilakukan untuk itu semua. Karena itu, saya tidak berpikir ada stagnasi di Selenium sekarang. Sekarang ada persaingan yang sehat dari berbagai keputusan.

Kami dalam beberapa hal bersaing dengan orang-orang yang membuat kode Selenium utama. Kami datang ke konferensi, kami mengatakan bahwa teman-teman, Anda tidak efektif karena, oleh karena itu, dan karena itu. Untuk membuktikan bahwa mereka juga berhasil, mereka harus melakukan hal mereka sendiri. Ada persaingan sehat.

Anya : Mengenai Selenium IDE, saya juga ingin menambahkan, yang menurut saya secara umum, semua orang sudah lama lupa. Dengan munculnya alat baru untuk otomatisasi tanpa skrip, mereka kembali menggunakan Selenium IDE. Selama 2019, itu dikembangkan sangat banyak dan rilis skala besar direncanakan pada awal 2020, di mana mereka akan menyajikan sesuatu. Antarmuka IDE telah banyak berubah dan menjadi lebih stabil dan nyaman, katakanlah.

Vanya : Saya juga ingin menambahkan bahwa sekarang mereka mulai mencoba menerapkan teknologi berbeda untuk Selenium yang belum pernah diterapkan sebelumnya, misalnya, pembelajaran mesin yang sama.
Ini adalah salah satu daerah yang masih belum ada di Selenium. Orang-orang, yang telah menggunakan Selenium selama sekitar 10 tahun, menemukan sejumlah tugas tertentu, yang ternyata, dapat diselesaikan sebagian atau seluruhnya dengan bantuan pembelajaran mesin. Segala macam operasi rutin.

- Anya, katakan padaku masalah apa yang kamu selesaikan dengan pembelajaran mesin? Apakah mereka akan menulis segalanya untuk kita? Di negara kita, kecerdasan buatan mulai menembus di mana-mana. Jika Anda mengarahkan "AI dan Selenium" ke Google, orang-orang mulai mengembangkan perpustakaan mereka sendiri di sana, mengunggah sesuatu yang lain, yaitu pengembangan sedang berlangsung.

Anya: Mengenai Selenium, saya dapat mengatakan bahwa baru-baru ini jauh lebih mudah untuk membuat semua jenis keputusan berdasarkan itu, baik, khususnya, karena standarisasi. Mengenai fitur, hal terpenting yang Anda butuhkan adalah berinteraksi dengan elemen-elemen pada halaman. Dan karenanya, bagian ini sudah terletak pada penguji bagaimana menggambarkan interaksi ini menggunakan Selenium. Jika Anda mendeskripsikannya murni menggunakan Selenium, maka mungkin ada tes yang tidak stabil, karena perubahan apa pun akan terjadi pada UI, beberapa elemen tidak akan menunggu, dan sebagainya. Pembelajaran mesin mulai diterapkan ke tempat ini sehingga tes ini dapat distabilkan. Sehingga tes ini dapat dibuat berdasarkan informasi yang kami miliki di halaman, dan berdasarkan perilaku pengguna.

Trennya adalah Rekam dan Mainkan, apa yang sebenarnya dilakukan Selenium IDE: kita buka halaman, klik aksi, kita buat tes. Tes-tes ini harus stabil. Pembelajaran mesin diperlukan di sana hanya untuk itu. Biasanya pelacak dikodekan, jadi jika Anda mengubah UI, Anda perlu memperbaruinya. Healenium, yang saat ini kami lakukan, misalnya, memungkinkan kami untuk memperbarui mereka dalam runtime, dan pengujian kami akan lulus sesuai.

Sekarang ada kecenderungan semacam itu tidak murni untuk tes Rekam dan Mainkan, tetapi untuk kemungkinan menghasilkan tes. Kami tahu elemen apa yang kami miliki di halaman. Kita dapat menggambar semacam diagram logis dari situs kita. Kami tahu bahwa kami memiliki halaman utama, dari halaman login dan lainnya. Berdasarkan koneksi logis dan tindakan yang dapat kita lakukan di halaman ini, kita dapat menghasilkan tes. Tapi saya tidak tahu instrumen seperti itu di pasaran yang melakukannya dengan sangat baik. Healenium yang ingin kita kembangkan hanya ke arah ini.

Dengan pengembangan pendekatan dan pengetahuan ini di bidang pembelajaran mesin, dalam waktu dekat akan ada bias dalam pengembangan dan penampilan alat tersebut. Misalnya, perayap situs yang dapat secara otomatis menguji alih-alih menulis kasus uji.

โ€” , Selenium IDE . , . IDE .
, , ?




Saya mengusulkan untuk membahas masalah ini di komentar. Dan dalam kelanjutan wawancara ini kita akan menemukan jawaban Anna dan Ivan. Ngomong-ngomong, pada konferensi Heisenbug 2020 Piter , yang akan diadakan online , Anda dapat mengobrol dengan mereka dan mempelajari lebih lanjut tentang Healenium, Selenoid dan penggunaan protokol Chrome DevTools di kluster Kubernetes.

Baru-baru ini, bagian kedua dari wawancara dengan jawaban untuk pertanyaan tentang ML dalam pengujian dirilis: mereka menemukan siapa orang yang menjadi penanda , dan menemukan apakah Selenium harus dipelajari pada tahun 2020.

Bagi mereka yang ingin memperluas wawasan mereka dan menghadiri lebih dari satu konferensi, tetapi segera 8, kami telah menyiapkan sesuatu .

All Articles