Online Gathering Review — “How to be an International Quality Digitalent”

Aminurachma
NgalamBackend
Published in
5 min readMay 20, 2020
INTRODUCTION FOR E2E TEST

Haii, kali ini aku bakal ngereview materi dari Online Gathering Digipreneur dari Rakryan Digitalent Hub. Materi kali ini di sampaikan oleh Fathur Rohim atau biasa dipanggil O’im yang merupaka QA Engineer di SpaceStock serta merupakan General Manager di Ngalam Backend Community. O’im menyampaikan materi dengan judul “Introduction Cypress For E2E Test”. Gimana, udah penasaran belum? Keren banget kan? Oke langsung saja, mari simak penjelasan berikut ini.

Nah, ini aku kasih garis besar yang akan dibahas disini, antara lain Apa itu Cypress, Kenapa harus menggunakan Cypress, Mengapa Developer menyukai menggunakan Cypress, Bagaimana cara memulai menggunakan Cypress, pengkodean Cypress, dan menjalankan Cypress.

1. Apa itu Cypress ?

Cypress merupakan salah satu software yang digunakan untuk automation testing. Software ini bersifat open source dan dapat di download pada web Cypress yaitu https://www.cypress.io/. Dengan menggunakan Cypress, user dapat melakukan beberapa jenis pengujian seperti: end to end tests, integration test, serta unit test. Cypress memudahkan user dalam mengatur test, menulis test serta menjalankan test menjadi lebih cepat, mudah, dan handal. Seperti yang di jelaskan pada web Cypress, fitur yang dimiliki Cypress yaitu antara lain sebagai berikut:

  1. Time Travel, Cypress dapat mengambil screenshoot dari test yang Anda lakukan dengan cara mengarahkan kursor ke perintah di Command Log untuk melihat apa yang terjadi di setiap langkah.
  2. Debuggability, Cypress dapat memprediksi penyebab dari test yang gagal. Debug langsung dari Chrome DevTools. Kesalahan dan stack traces yang dapat dibaca membuat proses debug menjadi lebih cepat.
  3. Real Time Reload, Cypress dapat secara otomatis memuat ulang setiap kali Anda melakukan perubahan pada test Anda, dapat melihat perintah yang di eksekusi secara real time.
  4. Automatic Waiting, User tidak perlu menambah waktu tunggu untuk test yang dibuat. Cypress secara otomatis akan menunggu perintah dan pernyataan sebelum melanjutkan.
  5. Spies, Stubs, and Clocks, Verifikasi dan mengontrol kebiasaan fungsi, respon server, atau pengatur waktu. Fungsi yang sama yang kamu sukai dari unit testing berada tepat di ujung jarimu.
  6. Network Traffic Control, Memudahkan user dalam mengontrol, stub, dan menguji kasus tanpa melibatkan server.
  7. Consistent Result, Cypress dapat memberikan hasil pengujian yang cepat, konsisten, dan handal.
  8. Screenshots and Videos, User dapat melihat tangkapan layar(screenshoot) yang diambil secara otomatis bila gagal, atau video dari seluruh rangkaian pengujian user saat dijalankan dari CLI.

2. Kenapa harus menggunakan Cypress ?

Introduction Cypress for E2E Test’s Slide from O’im

Pada slide diatas dapat disimpulkan bahwa Cypress merupakan framework testing all-in-one yang memuat library dengan mocking and stubbing tanpa harus menggunakan Selenium. Jika dibandingan antara Cypress dengan Selenium, Cypress berbeda secara fundamental dan arsitektur. Cypress tidak dibatasi oleh batasan yang sama dengan Selenium. Ini memungkinkan Anda untuk menulis test yang lebih cepat, lebih mudah, dan lebih handal.

3. Mengapa Developers menyukai menggunakan Cypress ?

Introduction Cypress for E2E Test’s Slide from O’im
  1. Fast atau cepat, Open Source atau dapat dijalankan di semua OS yang ada serta Works on any Front-End Framework, Cypress dapat berjalan di semua Front-End Framework.
  2. Friendly for Developers & QA Engineers, Pada dasarnya para QA Engineers merupakan user dari Cypress, tapi Cypress merupakan software yang dapat digunakan oleh developers juga yang membangun aplikasi web menggunakan framework JavaScript modern.
  3. Memiliki fitur yang lengkap yang dapat menambah kecepatan testing dengan hasil yang maksimal.
  4. Memiliki yang mudah dipahami.

4. Bagaimana memulai menggunakan Cypress, pengkodean Cypress, dan menjalankan Cypress ?

Introduction Cypress for E2E Test’s Slide from O’im
  • Easy To Install

User dapat megunduh atau download Cypress melalui 2 cara yaitu dengan download secara langsung dari web https://www.cypress.io/ atau melalui terminal

Install Cypress melalui Web

atau

$ npm install cypress
  • Opening Cypress

Setelah Cypress berhasil di install, maka user dapat membuka Cypressdengan menuliskan script pada terminal

$ npx cypress open
  • Headless Runner

Setelah Cypress berhasil dibuka, maka user dapat menjalankan Cypressdengan menuliskan script pada terminal

$ npx cypress run
  • Custom Command

Setelah Cypressberhasil dibuka, maka user dapat menjalankan custom command yang ada di Cypress dengan menuliskan script pada terminal

$ npm run cy:open || npm run cy:run
  • Menulis Kode
Introduction Cypress for E2E Test’s Slide from O’im

Penulisan kode untuk melakukan testing dapat langsung menjalankan melalui file example yang tersedia maupun mengcustom sendiri. seperti video berikut

https://docs.cypress.io/img/snippets/empty-file-30fps.a1a72ed8.mp4

  • Menjalankan Test

Setelah script kode selesai dibuat, user dapat menjalankan hasil pengujian test case dengan memilih test case yang akan dijalankan pada Cypress. Selanjutnya, Cypress akan menjalankan pengujian secara otomatis melalui 2 cara yaitu :

a. GUI Runner

Hasil Pengujian Cypress melalui GUI Runner

Seperti yang terlihat pada tampilan GUI tersebut. Ketika test dijalankan kalian akan secara langsung melihat proses automate test berjalan dengan fitur dari Cypress seperti antara lain Time Travel, Debuggability, Real Time Reload dsb.

b. Headless Runner

Hasil Pengujian Cypress melalui Headless Runner

Hasil pengujian dapat diketahui setelah pengujian selesai atau berhenti. Status pengujian dikatakan berhasil jika Cypress menunjukkan warna hijau dan dinyatakan gagal jika menunjukkan warna merah.

Untuk lebih jelasnya kalian dapat membaca slide berikut ini dan atau lihat video di youtube yang saya cantumkan dibawah ini:

Fathur Rohim ft. Rakryan.id — How to be an International Quality Digitalent

Nah sekian dulu review yang dapat aku tuliskan, bagaimana apakah kalian sudah mulai tertarik dengan profesi QA Engineer menggunakan Cypress ? Semoga dengan review ini kalian bisa mempelajari Cypress lebih dalam lagi yaa ! Good luck !

Jangan sampai ketinggalan informasi dari Ngalam Backend Community yaa! Keep in touch with Ngalam Backend Community on :

https://kutt.it/nbcTelegramGroup

--

--