Testing Automation di dalam Pipeline — Part 1

Dhicy Ramdhani
Tunaiku Tech
Published in
4 min readMar 30, 2021

Definisi CI / CD

Perkembangan teknologi yang semakin cepat dan dinamis menyebabkan transisi proses development yang semakin cepat. Oleh karena itu dibutuhkan sebuah proses yang berjalan secara dinamis, cepat serta memiliki tingkat efisiensi yang tinggi. Dalam dunia Software Quality Assurance kegiatan pengujian disebut dengan testing. Testing merupakan proses pengujian sebuah sistem baik secara negatif maupun positif untuk menguji serta mencari apakah ada kelemahan dalam sebuah sistem. Proses testing juga dituntut untuk selalu inovatif dalam mengikuti alur perkembangan teknologi yang semakin cepat. Feature aplikasi akan cepat dirasakan oleh end user jika proses testing dilakukan secara cepat, tepat dan efisien. Untuk mengatasi hal kedinamisan tersebut maka digunakan konsep CI/CD. CI adalah proses pengujian dan pembuatan software secara otomatis setelah kode aplikasi yang baru terintegrasi ke dalam repository. Sedangkan CD adalah proses penyampaian aplikasi yang dibuat dalam proses CI ke bagian lingkungan produksi, yang dimasukkan melalui automated test. Pada proses testing CI / CD bisa dikatakan sebagai proses testing yang dilakukan oleh automated test script di dalam sebuah pipeline dalam rentang waktu yang bisa ditentukan atau dijadwalkan.

Manfaat

Ada 2 metode dalam proses testing yakni manual testing dan automated testing. Testing dengan menggunakan cara manual adalah dengan melakukan test langsung kedalam sistem atau view aplikasi. Cara ini sama seperti yang end user lakukan ketika menggunakan aplikasi. Adapun automated testing adalah testing yang menggunakan script automation untuk testing aplikasi. Jadi dengan cara menjalankan script, sistem akan langsung ditest sesuai dengan kondisi yang telah ditentukan sebelumnya. Proses automated testing biasanya dilakukan pada komputer local QA. Tools yang digunakan beragam, namun yang paling umum adalah menggunakan selenium webdriver untuk website dan appium untuk mobile app. CI / CD bisa diterapkan dan lebih baik diterapkan pada proses running test script automation. Beberapa kegunaan dari diterapkannya CI / CD pada proses testing secara automate antara lain:

  1. Mengurangi effort testing manual dengan digantikan oleh automated testing sehingga proses testing menjadi lebih cepat
  2. Membuat proses testing lebih dinamis karena bisa dilakukan kapanpun dan dimanapun hanya dengan melakukan trigger terhadap test script supaya bisa berjalan
  3. Bisa dilakukan scheduling atau penjadwalan running test script sehingga memungkinkan proses testing terjadi di waktu tertentu secara berulang

Requirement

Pada sesi kali ini kita akan mencoba melakukan integrasi CI / CD automation test dengan menggunakan katalon studio. Yang harus kalian persiapkan antara lain:

  1. Katalon Studio (free atau paid version). Kalau bisa kalian sudah update ke versi terbaru.
  2. Katalon Runtime Engine (KRE — paid). KRE digunakan khusus agar test script yang kita buat dengan katalon bisa berjalan dengan baik. Hanya terdapat KRE yang berbayar. Oleh karena itu teman — teman harus membeli lisensinya terlebih dahulu.
  3. Circleci. Circleci digunakan sebagai CI/CD tools karena lebih ringan dan lebih mudah dalam hal pemeliharaan (maintenance). Selain itu sudah banyak plugin yang telah terintegrasi dengan circleci.

Step by step

  • Circleci Settings

Melakukan pengaturan project pada pipeline sangat penting sebelum test script dijalankan. Pengaturan ini sangat penting karena circleci membutuhkan otorisasi untuk mengakses code dan script yaml. Apa itu yaml script?. Yaml script merupakan script yang digunakan untuk melakukan trigger terhadap pipeline sehingga testing bisa dilakukan di pipeline. Letak dari yaml script adalah di dalam folder “ .circleci “. Folder ini biasanya kita harus buat sendiri. Selain itu kita harus memberikan otorisasi terhadap circle ci. Kata kuncinya adalah “Follow Project” . Dengan membuat project anda bisa di follow oleh circle ci maka proses pipeline akan bisa berjalan dengan baik. Berikut ini merupakan tahap — tahap memberikan otorisasi kepada circle ci:

  1. Login dengan menggunakan google account.
  2. Pilih project menu
  3. Pilih project yang akan kalian set up
  4. Klik tombol “Set up “
  5. Klik add config untuk mengkonfirmasi bahwa circle ci telah diberikan akses untuk running pipeline di project yang kamu buat. Jangan khawatir jika build berjalan dan gagal. Nanti kita akan set up yaml filenya .
  6. Proses otorisasi telah selesai. Selanjutnya kalian setting project yang akan diintegrasikan.
  7. Masuk ke folder project di local kalian
  8. Kemudian buat folder dengan nama “.circleci” (harus pakai .)
  9. Buat file kosong dan save dengan nama config.yml. Perhatikan bahwa file harus diberi nama “config”.
  10. Isi file config dengan script yaml kemudian push perubahannya ke git
  11. Selesai ! sekarang kalian bisa run test kalian di pipeline. Pertanyaannya bagaimana kita menentukan test suite yang mana saja yang akan dijalankan di dalam pipeline?

Katalon studio bisa menjalankan automation script dengan integrasi di dalam circleci. Seperti bahasan sebelumnya bahwa kita memerlukan yaml file / config.yml untuk bisa mentrigger pipeline untuk bisa menjalankan automation script. Berikut ini merupakan contoh file config.yml . Script ini bisa kalian salin di file config.yml.

version: 2.1
orbs:
katalon-studio: katalon/katalon-studio@23.0.11
workflows:
build:
jobs:
- katalon-studiorun:
name: RND Testing
version: “latest”
command_arguments: ‘katalonc -runMode=console
-browserType=”Chrome” -retry=2 -statusDelay=15
-testSuitePath=”Test Suites/Suite_Google”

Dari script diatas terlihat informasi nama browser dan nama test suite. Hal ini diperlukan agar yaml file bisa mengambil script automation dan path test suite. kombinasi keduanya harus sinkron sebab dibutuhkan agar script bisa berjalan pada mode console (headless browser). Headless browser adalah virtual browser yang tidak tampak secara fisik seperti ketika kita membuka browser pada komputer kita. Secara harfiah automation yang berjalan pada pipeline berjalan di belakang layar dan tidak tampak secara fisik. Perhatikan juga indentasi atau spacing antar script. Sebab pada yaml script indentasi atau jarak yang agak menjorok kedalam menjadi pemisah antar command. Jika indentasi script yang kalian buat tidak sesuai, maka kemungkinan akan terjadi error ketika script dijalankan.

Untuk contoh penerapannya secara riil pada dengan katalon studio akan dibahas pada artikel selanjutnya.

see you……

Dhicy Ramdhani

Amarbank 2021 —

Edisi Maret 2021

--

--