Mengenal Dusk — Browser Test dari Laravel

Imam Sutono
Detik Engineering
Published in
3 min readMar 21, 2022
source: https://medium.com/@adiach3nko/21c630d48aa4

Halo detikers,

Mungkin banyak dari kita yang tau bahwa dalam pengembangan sebuah perangkat lunak (software development), ada yang namanya proses testing yang bertujuan untuk mengevaluasi apakah kode yang kita tulis sudah benar dan sesuai dengan kebutuhan atau requirement yang ada. Testing juga

Salah satu kategori dalam testing tersebut yaitu browser atau end-to-end testing, dimana dalam testing ini, kita dapat secara langsung melihat bagaimana aplikasi kita berjalan di browser seperti dijalankan oleh user secara langsung. Tapi bedanya, browser testing dapat memudahkan kita karena dia akan berjalan secara otomatis, sesuai skenario alur aplikasi yang kita tentukan.

Jika kita merujuk pada laravel, ada salah satu library dalam ekosistemnya yang dapat kita gunakan untuk melakukan hal tersebut, yaitu Laravel Dusk.

Dalam dokumentasi resminya, didefinisikan bahwa laravel dusk adalah

“automated browser testing to ship your aplication with confidence”

Jadi, kita bisa memanfaatkan si dusk ini untuk melakukan browser testing secara otomatis agar kita nyaman atau percaya diri ketika men-deliver aplikasi yang kita buat ke stakeholder terkait atau ke pengguna. Dengan melakukan browser testing terlebih dahulu, kita bisa lebih yakin bahwa kode yang kita tulis sudah sesuai dengan requirement dari tim produk atau bisnis dan sudah dapat digunakan dengan baik oleh pengguna dengan bug yang minimal.

Laravel dusk akan menjalankan dan berinteraksi dengan elemen web secara otomatis, dan pada prosesnya dapat kita pantau secara langsung. Contohnya seperti video dibawah ini:

— ini video live running dusk

Beberapa contoh API yang ada dalam laravel dusk yaitu seperti:

  • visit (untuk berpindah url)
  • type (mengetik sebuah value pada sebuah input)
  • press (untuk menekan sebuah tombol)
  • assertSee (memastikan bahwa sebuah teks ada di halaman web)
  • dan masih banyak lagi

Untuk dokumentasi lengkapnya, kalian bisa mengunjungi link berikut

Saya sudah membuat beberapa contoh kasus yang dapat kita tulis browser testing nya untuk memastikan bahwa fitur tersebut sudah berjalan sesuai dengan yang kita inginkan.

Contoh kasus pada repository tersebut seperti fitur register user, login, dan juga membuat task list. Tentu juga masih banyak kasus yang dapat kita tulis browser testing nya, sesuai dengan aplikasi yang kita buat.

Menulis browser testing di sisi lain juga menambah proses development. Setelah menulis kode aplikasi, kita juga harus menulis skenario dan kode untuk test, yang itu akan menambah cost dalam proses pengembangan aplikasi.

Tapi dengan menulis tes seperti ini, kita dapat mengurangi cost untuk melakukan tes secara manual yang membutuhkan waktu dan tenaga yang cukup banyak, apalagi jika alur aplikasinya cukup kompleks dan panjang. Dalam jangka panjang, menulis juga dapat berdampak baik, dimana seperti yang kita bahas tadi, kita lebih yakin bahwa kode aplikasi kita sudah benar dan sesuai, serta menghindari adanya bug ketika aplikasi sudah digunakan oleh pengguna. Yang mana jika ditemukan bug ketika sudah production, itu akan menambah cost lebih banyak dibandingkan jika bug tersebut kita temukan saat proses development.

Terus, gimana implementasinya?
Kita bahas di artikel selanjutnya ya 😉

Oke mungkin segitu dulu aja ya detikers. Kalau ada pertanyaan atau hal yang masih mengganjal, yuk kita diskusi di kolom komentar!

--

--

Detik Engineering
Detik Engineering

Published in Detik Engineering

detik.com adalah sebuah portal web yang berisi berita dan artikel daring di Indonesia. Berbeda dari situs-situs berita berbahasa Indonesia lainnya, detik.com hanya mempunyai edisi daring.

Imam Sutono
Imam Sutono

Written by Imam Sutono

Web Dev @detikcom | PasuruanDev Community Manager | Photography Enthusiast