Meminimalisir Deployment Error Dengan User Acceptance Test

Nadya Anandari
Sep 26, 2019 · 4 min read
Image Source : itweb.co.za

Kata Deployment merupakan kata yang akrab dengan software engineering. Pada proses deployment ini software engineer sering kali menemukan kendala seperti deployment error. Tentu kegagalan dalam proses deployment sangat dihindari oleh para software engineer.

Menurut tim Skyshi Digital Indonesia, deployment merupakan sesuatu tahapan penting dalam kegiatan bisnis proses. Hal ini butuh antisipasi yang lebih agar deployment tidak mengalami kendala. Deployment error akan menjadi sebuah masalah karena berpotensi membuat aplikasi tidak dapat berjalan, apabila aplikasi tidak berjalan seperti semestinya, bisnis pun tidak dapat berjalan dengan lancar.

Menurut Project Manager Skyshi, Wahid Prima Cahyanto faktor penyebab sering terjadinya error yakni,

  1. Environment yang digunakan pada server satu dengan yang lain berbeda. Dalam hal ini contohnya environment pada server staging dan server production berbeda dan sering kali menyebabkan error.
  2. Kesalahan yang berasal dari human error.
    Contoh kasus seperti back-end engineer pada tahap staging menambah field untuk fitur baru tetapi ia lupa untuk menambahkan satu field baru di databasenya.

Teknik atau metode deployment sebetulnya bermacam-macam, dari bermacam jenis tersebut, Skyshi memilih menggunakan teknik Blue/Green Deployment yang mana teknik ini dapat menjalankan dua lingkungan produksi yang identik yang dikenal dengan sebutan Blue dan Green.

Teknik ini dapat menghilangkan downtime ketika melakukan deployment aplikasi. Selain itu, penerapan blue/green ini dapat mengurangi risiko seperti, apabila terjadi sesuatu yang tidak terduga pada versi baru di Green, aplikasi dapat segera kembali ke versi terakhir dengan beralih kembali ke Blue. Perubahannya sangat cepat, sekali switch service langsung berubah 100%. Dikarenakan perubahan yang cepat, testing harus sangat diprioritaskan sebelum di switch, aplikasi juga harus dipastikan aman dari request yang tiba-tiba muncul dan banyak.

Dalam workflow yang ideal proses deployment terdiri dari tiga environment:

  • Development (local environment)
  • Staging (pre-production)
  • Production (live site)

Agar proses deployment lancar dan minim error, tim Skyshi menggunakan strategi penambahan aplikasi testing untuk menunjang kelancaran proses deployment. Ndaru Andrianto menyatakan tim Skyshi menggunakan User Acceptance Test (UAT) sebelum masuk ke tahap production. Ia menyatakan bahwa dengan menggunakan UAT akan jauh lebih aman karena software engineer dapat menyamakan database di Staging dengan yang ada server production. Seandainya terjadi kesalahan, UAT server akan mengetahui dimana letak kesalahan, kemudian software engineer dapat revert pekerjaannya.

Memang secara proses UAT akan memperpanjang waktu pengerjaan karena sebetulnya di staging data masih bisa diubah, Namun dengan adanya UAT data dapat langsung disamakan dengan yang ada di production, yang sudah live digunakan user.

Di UAT, software engineer diberi kesempatan untuk berinteraksi dengan aplikasi sebelum resmi dirilis dan melihat apakah ada fitur yang diabaikan atau mengandung bug. UAT dilakukan dengan pengujian internal oleh software engineer . UAT dinilai merupakan metode yang efektif untuk memastikan kualitas dalam hal waktu dan biaya, serta untuk melakukan peningkatan transparansi dengan user aplikasi.

Pada UAT fase pengujian dan dokumentasi dilakukan. Software engineer akan menguji perangkat lunak dan setiap bug potensial atau masalah lainnya. Kemudian software engineer melakukan perbaikan di mana mereka membuat penyesuaian pada kode, menyelesaikan bug atau membuat perubahan yang disarankan.

Ndaru mengatakan “sekarang kita juga pake Kubernetes dan Docker, kita berusaha nyamain environment di server staging maupun di production. Kalau udah sama biasanya hampir 90% kegiatan deployment berjalan lancar dan tidak mengalami kegagalan.”

Selain menambah aplikasi-aplikasi untuk meminimalisir error pada deployment, Project Manager Skyshi Digital Indonesia, Prima menyampaikan ada beberapa hal yang dapat dilakukan software engineer itu sendiri untuk meminimalisir deployment error.

  1. Software engineer harus sering berfikir untuk defensif code. Secara mandiri software engineer harus dapat menerapkan case apa saja yang akan terjadi. Ia harus melihat user behavior lainnya selain dari user-flow yang sudah ada.
  2. Kemudian jauh sebelum jadwal deployment, software engineer harus menyelesaikan semua permasalahan atau defendensi antara klien dan development.
  3. Sebelum melakukan deployment, software engineer juga harus melihat data dimana waktu terbaik untuk melakukan deployment agar terhindar dari server down. Waktu yang tepat untuk melaksanakan deployment yakni ketika aktivitas user rendah.
  4. Mengucapkan terima kasih kepada setiap tim atau software engineer yang bertugas dan bersedia untuk deployment baik lancar maupun terdapat kendala. Prima menuturkan bahwa ini merupakan hal diluar teknis namun akan berdampak besar bagi diri software engineer tersebut. Pentingnya mengapresiasi software engineer merupakan salah satu cara agar mereka tetap bertahan pada profesi yang dijalankan.

Hal berikut merupakan salah satu cara meminimalisir deployment error. Strategi ini bisa digunakan untuk mempermudah software engineer dalam menjalankan pekerjaan, apabila minim error tentu akan lebih meringankan pekerjaan software engineer dan mereka dapat memaksimalkan pekerjaan lainnya. Dalam pengerjaan sistem memang tidak bisa selalu sempurna, namun dengan menggunakan strategi atau teknik-teknik yang dinilai baik dapat meminimalisir bencana atau hal yang tidak diinginkan, termasuk ketika melakukan deployment.

SkyshiDigital

Nadya Anandari

Written by

SkyshiDigital

We help scale up your startup to the next level

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade