+62 896 6423 0232 | info@idmetafora.com
Software ERP Indonesia IDMETAFORA


Kenali Apa Itu Selenium, Tools Auto Testing Web Apps

1 October, 2022   |   Silfiya

Kenali Apa Itu Selenium, Tools Auto Testing Web Apps

Automation testing merupakan teknik dalam pengujian software yang menggunakan perangkat lunak khusus untuk menguji serta membandingkan output yang dihasilkan dengan output yang diharapkan. Automation testing dibutuhkan untuk membantu tester apabila pada saat pengujian sulit untuk dilakukan secara manual. Pada saat ini sudah begitu banyak automation testing tools yang bisa digunakan oleh software tester, salah satunya merupakan selenium.

Butuh waktu berjam-jam menguji untuk memastikan apakah aplikasi web berfungsi di dalam dan di luar lingkungan pengembangan lokal. Sebelum Selenium, pengujian tersebut jatuh ke sejumlah penguji manual, yang memberlakukan serta menghidupkan kembali ratusan skenario kasus uji pada seluruh browser yang diukur, menandai apa saja yang rusak serta mencoba menunjukkan sumber dari kerusakan itu.

Bergantung pada ukuran tim pengujian manual, pengujian sistem dari ujung ke ujung bisa memakan waktu dari hari sampai dengan minggu untuk menjalankannya. Metodologi pengembangan pada saat ini bekerja dalam kerangka waktu yang jauh lebih singkat, yakni dua sampai dengan empat minggu. Pengiriman rilis baru yang bebas bug pada saat  itu membutuhkan pengujian deterministik serta berulang yang memberikan umpan balik yang hampir instan. Itulah mengapa Anda harus mengetahui mengenai apa itu Selenium. Dalam pengujian Selenium merupakan bagian integral dari pengembangan pada saat ini. Dibawah ini merupakan penjelasan  yang lebih dalam mengenai apa itu Selenium.
 

Apa Itu Selenium?


Selenium adalah sebuah  alat auto testing  yang digunakan untuk mengotomatisasi tes aplikasi web yang dilakukan pada browser. Pengujian selenium bisa dilakukan dengan menggunakan browser apapun, serta script tes bisa ditulis dalam banyak bahasa pemrograman contohnya seperti Java, C#, Python, Ruby PHP, dan lain sebagainya.

Auto testing tools dikhususkan untuk otomatisasi testing di web apps, sehingga dalam pengujian pada aplikasi desktop serta seluler tidak akan bisa dilakukan. Selenium sendiri  bersifat open source, dimana tools tersebut bisa diunduh serta digunakan secara gratis. Karena sifatnya yang open source, sehingga para pengguna dapat  membagi, memperluas, serta memodifikasi kode yang telah tersedia.
 

Jenis-jenis Selenium


Setelah yang sudah sedikit dijelaskan diatas mengenai selenium. Selenium merupakan serangkaian perangkat lunak, Di bawah ini  merupakan penjelasan mengenai jenis-jenis serta serangkaian perangkat lunak tersebut.

1. Selenium IDE (Integrated Development Environment)
Selenium IDE adalah sebuah tools auto testing yang paling sederhana dan merupakan tools yang paling mudah untuk dipelajari. Keuntungan dalam menggunakan tools auto testing tersebut adalah bahwa tes yang direkam melalui plugin mampu diekspor dalam berbagai bahasa pemrograman contohnya seperti: Java, Ruby, Python dan lain sebagainya. 
Selain dari kelebihan di atas, Tools auto testing jenis ini juga mempunyai banyak kelebihan diantaranya yaitu: 

-Perintah Selenese seperti pen, clickAndWait, assert, verify, dan lain sebagainya.
-Pencari seperti id, nama, xpath, pemilih css, dan lain sebagainya.
-Menjalankan kode JavaScript khusus untuk menggunakan runScript
-Mengekspor kasus uji dalam berbagai macam format.
-Untuk membuat tes dengan sedikit maupun tanpa pengetahuan sebelumnya dalam pemrograman.
-Untuk membuat kotak uji sederhana serta ruang uji yang bisa anda  ekspor nanti ke RC atau WebDriver.
-Untuk menguji aplikasi web hanya terhadap Firefox serta juga Chrome.

2. Selenium RC (Remote Control)
Sedangkan untuk Selenium jenis RC merupakan alat pengujian web otomatis pertama yang memungkinkan penggunanya untuk menggunakan bahasa pemrograman yang mereka sukai.
Merancang tes dengan menggunakan bahasa yang lebih ekspresif 
Menjalankan tes mengenai berbagai browser (kecuali HtmlUnit) pada sistem operasi yang berbeda.
Menerapkan tes di web apps pada berbagai lingkungan menggunakan Selenium Grid.
Menguji di web apps terhadap browser baru yang mendukung JavaScript.
Menguji aplikasi web dengan skenario berbasis AJAX yang lebih kompleks.

3. WebDriver
WebDriver merupakan tools auto testing yang lebih baik daripada Selenium IDE serta Selenium RC dalam berbagai aspek. Webdriver sendiri menerapkan pendekatan yang lebih modern serta stabil dalam melakukan otomatisasi pada browser.
-Menggunakan bahasa pemrograman tertentu dalam merancang uji kasus.
-Menguji apakah aplikasi yang kaya akan fungsionalitas berbasis AJAX.
-Menjalankan tes di browser HtmlUnit.
-Membuat hasil tes yang telah disesuaikan.

WebDriver  juga dikenal sebagai Selenium 2.0. Selenium WebDriver menjalankan skrip pengujian melalui driver khusus browser. yang terdiri dari:
API
Ports untuk  menguji skrip yang Anda tulis di Ruby, Java, Python, maupun C# ke dalam Selenese (bahasa skrip Selenium sendiri), melalui binding.

Library
Menampung API serta binding khusus bahasa. Meskipun banyak binding pada pihak ketiga yang tersedia untuk mendukung bahasa pemrograman yang berbeda, binding sisi klien inti yang didukung oleh proyek utama yaitu: Selenium Java (sebagai file jar selenium), Selenium Ruby, Selenium dotnet (atau Selenium C#, tersedia sebagai .dan lain sebagainya  file), Selenium Python, serta Selenium JavaScript (Node).

Driver
Modul yang bisa dieksekusi yang membuka instance browser dan menjalankan skrip pengujian. Khusus browser contoh misalnya, Google mengembangkan serta mengelola Chromedriver untuk Selenium yang mendukung otomatisasi pada Chromium atau Chrome.

Framework
Pustaka dukungan untuk integrasi dengan kerangka kerja uji bahasa alami  maupun pemrograman, seperti Selenium dengan Cucumber atau Selenium dengan TestNG.

4. Selenium Grid
Selenium Grid merupakan sebuah alat yang bisa menjalankan pengujian paralel (menjalankan beberapa tes sekaligus) pada berbagai mesin serta browser yang berbeda. Selenium grid bisa bersamaan digunakan dengan Selenium RC

Menjalankan skrip Selenium RC anda di beberapa browser serta sistem operasi secara bersamaan.
Menjalankan test suite yang sangat besar, yang perlu diselesaikan dalam waktu yang cepat.
Selenium Grid merupakan server pintar yang merutekan  sebuah perintah uji ke instance browser pada perangkat dengan jarak jauh. Dua komponen utama yang diperlukan untuk ini yaitu (selain skrip pengujian dari sisi klien atau penguji) yaitu:

Hub (server). Menerima permintaan akses dari seorang klien WebDriver. Merutekan perintah uji JSON ke driver jarak jauh pada ‘node’ yang terdaftar.
Node (perangkat jarak jauh). Berisi OS asli, browser, serta  remoteWebDriver.
WebDriver-client akan menjalankan pengujian pada perangkat yang jauh melalui remoteWebDriver. RemoteWebDriver seperti WebDriver biasa, kecuali dua komponennya merupakan Klien (skrip pengujian Anda) serta Server (servlet Java yang benar-benar menjalankan sebuah pengujian pada perangkat jarak jauh).

Dalam skrip pengujian Anda, Anda menentukan ‘kemampuan yang diinginkan’ (perangkat, platform, browser, dan lain sebagainya.) dari node tempat pengujian yang akan dijalankan. Hub menerima skrip tersebut, berjalan melalui node yang terdaftar untuk menemukan satu yang cocok dengan kemampuan yang diinginkan, serta memberikan pengujian padanya untuk dieksekusi.
Untuk menyiapkan Grid terbilang cukup mudah. Akan tetapi penskalaan, konfigurasi, serta pemeliharaan integritasnya bisa  menghabiskan banyak sumber daya. Pastikanlah untuk mengadopsinya setelah pertimbangan yang cermat.
 

Alasan Menggunakan Selenium Untuk Automation Testing


Banyak sekali tester yang menggunakan selenium untuk membantu dalam proses software testing. Dibawah ini merupakan beberapa alasannya yakni.

1.Bersifat open source
Selenium adalah automation testing tools yang bersifat open source. Anda bisa mengunduh serta menggunakan berbagai fitur yang tersedia secara gratis. Selain dari itu, karena sifatnya yang open source, para pengguna juga memperoleh keuntungan lainnya yaitu bisa berbagi, memperluas, serta memodifikasi kode yang tersedia.

2.Support berbagai bahasa pemrograman dan framework
Selenium bisa terintegrasi dengan berbagai bahasa pemrograman, framework, serta berbagai platform pengembangan. Untuk kompilasi source code sendiri, Selenium dapat terintegrasi dengan ANT maupun Maven. Sedangkan untuk application testing serta reporting, Selenium bisa terintegrasi dengan framework TestNG. Selenium juga dapat terintegrasi dengan berbagai open source tools untuk menambah fungsionalitas yang lain.

3.Fleksibilitas
Keuntungan lain yang dapat Anda dapatkan adalah pada saat menggunakan Selenium yakni kemampuannya untuk regrouping serta refactoring test case. Fitur tersebut membantu seorang developer serta tester untuk mempercepat perubahan kode, meminimalkan komplikasi, serta mengurangi duplikasi kode. Hal tersebut bisa membuat manajemen pengujian menjadi jauh lebih sederhana dan efisien.

4. Support untuk semua platform
Selenium adalah automation testing dengan tingkat portabilitas tinggi yang bisa berjalan pada berbagai platform serta browser. Hal tersebut dapat memungkinkan para pihak developer serta software tester untuk menulis automation scripts dengan mudah tanpa harus khawatir dengan platform yang akan digunakan.
 

Mengapa Kita Membutuhkan Pengujian Automation Testing Selenium?


Bayangkan saja apabila penguji manual mempunyai  skenario ini: Asumsikan bahwa halaman pendaftaran mempunyai kolom input ini: nama pengguna, alamat email, serta sandi. Penguji akan mendapatkan desktop Windows 7 serta mengikuti langkah-langkah di bawah ini, secara berurutan, pada versi terbaru Chrome dan Firefox:

Masukkan URL pada bilah alamat
Masukkan string yang tidak valid pada setiap bidang input (email, nama pengguna, serta kata sandi)
Periksa apakah string input divalidasi terhadap ekspresi reguler yang sesuai serta nilai apa pun yang sudah ada sebelumnya dalam database
Masukkan string yang ‘valid’’ pada setiap bidang masukan; klik Daftar
Periksa apakah halaman “Selamat datang,‘{‘username’}’” sudah muncul
Periksalah  apakah database sistem membuat ID pengguna baru untuk ‘{‘username’}’
Tandai pengujian sebagai ‘passed’ apabila  ya, ‘failed’ apabila fitur pendaftaran rusak di mana saja selama pengujian.

Itu merupakan pengujian sistem yang sangat dasar. Umumnya, penguji lebih cenderung memeriksa seluruh alur kerja pengguna untuk mencari kerusakan, pada sebanyak mungkin kombinasi OS browser yang diperlukan untuk memenuhi standar kompatibilitas yang diukur.
Bergantung kepada jumlah penguji manual (dan ketelitian kasus pengujian), mungkin saja perlu waktu antara jam sampai dengan berminggu-minggu untuk memastikan bahwa apakah aplikasi web berfungsi sepenuhnya.

Pengembang modern serta tim produk tidak mempunyai waktu sebanyak itu untuk dialokasikan untuk pengujian. Akan tetapi mereka juga tidak bisa mengesampingkan pengujian yang melelahkan untuk segera dirilis. Inilah alasan mengapa mereka mengisi daya pengujian mereka dengan otomatisasi, didukung oleh apa itu Selenium.

Liputan Software ERP IDMETAFORA Indonesia!

Jika anda merasa artikel ini bermanfaat, bagikan ke pengikut anda melalui tombol dibawah ini:



Software ERP Indonesia

Artikel rekomendasi untuk Anda