“Bro, tolong tes ini di staging yaa.”
“Gaiis, ada issue nih di production!”
Kalo pertama kali nyemplung ke dunia IT, pasti bakal aneh sama istilah-istilah ini. Maksudnya apaan gitu. Staging, udah kayak lagi ngatur tata panggung aja wkwkwk.
Jadi, nama-nama tadi adalah sebutan environment tempat sebuat software dirilis. Kita mulai dulu dari pembahasan setiap jenis environment ya gais yaa!
A. Jenis-Jenis Product Environment
Ada beberapa jenis environment yang digunakan dalam berjalannya sebuah software. Umumnya dibagi menjadi beberapa jenis sebagai berikut.
1. Production Environment
Di mana Production Environment adalah sebuah environment yang udah rilis secara resmi dan bisa diakses secara publik. Contohnya, aplikasi resmi yang bisa di-download di Playstore, atau sebuah website yang URL nya boleh disebarluaskan dan bisa diakses siapa aja. Di environment inilah hasil akhir dari suatu siklus development di-deploy, dn pastinya udah layak digunakan.
Ketika masih dalam tahap development dan testing dalam suatu SDLC, nggak mungkin dong sebuah produk langsung diletakkan di production agar bisa dites. Ini sama aja kayak kita menjual sebuah mobil di showroom, tapi belum pernah dites jalan sama sekali. So, kita mengenal yang namanya testing environment. Tapi, sebelum masuk ke sana, tahan dulu buat simak environment kedua ini!
2. Local Environment
FYI, sebelum di-deploy ke testing environment, sebenernya ada 1 environment lagi yang cuma bisa diakses oleh developer, yaitu Local Environment. Sebuah environment yang memanfaatkan server lokal dari device masing-masing developer sebagai tempat hasil kodingan di-deploy untuk pertama kalinya, sebelum lanjut diserahkan ke QA menuju ke tahap testing.
3. Alpha Environment
Alpha Environment adalah sebuah testing environment yang dipake untuk menaruh sebuah software untuk dites secara terbatas. Biasanya yang berhak melakukan pengetesan di sini hanya tim development aja, seperti QA, developer, atau project manager. Tentunya, URL atau aplikasi yang berada di environment ini sifatnya rahasia. Bahkan di beberapa perusahaan ada yang dipasang password, bahkan harus connect ke VPN. Penamaan dari Alpha Environment ini beragam di tiap perusahaan. Ada yang menamakan Staging, Pre Production, Non Production, dll.
4. Beta Environment
Beta merupakan testing environment yang sudah naik 1 level dari Alpha Environment. Biasanya sebuah produk di-deploy di sini saat memasuki fase pra rilis. Biasanya, di tahap ini udah masuk ke kodingan production, tapi aksesnya masih terbatas ke stakeholder terkait. Tapi, saat ini udah banyak perusahaan yang mengundang user secara sukarela buat ikutan program beta, sebelum nantinya ngerasain versi official release-nya. Contoh, developer aplikasi iOS merilis aplikasinya ke Test Flight, untuk keperluan testing sebelum nantinya rilis secara resmi di App Store. Atau kalo di kasus Android, aplikasi yang di-deploy ke Playstore, tapi cuma bisa di-download sama orang yang ikut program Internal Beta.
B. Manfaat dari Testing Environment
Well, kenapa sih harus dibagi-bagi jadi beberapa environment gini? Bukannya malah jadi menguras budget yaa? Yup, pasti bakal memakan budget yang ga sedikit. Tapi ini bakal worth it banget buat kelangsungan siklus hidup sebuah produk. So, apa aja sih manfaat & kegunaan dari adanya testing environment? Ini dia beberapa point-nya.
1. Sebagai tempat pengetesan selama development cycle
Well, kalo ini jelas banget yaa, karena ga mungkin dong begitu baru kelar development eh langsung dirilis, wkwkwkw.
2. Tidak mengganggu kondisi yang ada di production environment
Dengan adanya testing environment, fixing ga langsung dilakukan di production. So kondisi di production bisa tetap terjaga dan ga harus sering-sering melakukan downtime buat melakukan maintenance.
3. Melakukan testing terhadap bug fixing yang sebelumnya terjadi di production
Ketika terjadi bug di production, tentu seorang developer bakal melakukan fixing di testing environment terlebih dahulu. Walaupun sebenernya bisa aja langsung dilakukan fixing di production, tapi hal ini tentu ga recommended yaa. Karena berpotensi bikin masalah baru kalo seandainya proses bug fixing ga berjalan sesuai rencana.
4. Memudahkan tim developer dan QA ketika pengen melakukan eksperimen
Bayangin ketika pengen testing aplikasi e-commerce yang mana harus melakukan simulasi belanja dengan nominal gede. Tentu tester ga harus beneran merogoh kocek buat beli barangnya. Atau ketika tim developer pengen ngetes layout sebuah website dengan pasang copywriting yang nyeleneh. Nah, hal-hal eksperimental kayak gini tentu cuma bisa dilakukan di testing environment. Testing bisa dilakukan dengan lebih tenang & pastinya ga merugikan pihak manapun.
Karya ini GRATIS! Tapi kamu boleh kok kasih tip biar kreator hepi 🥰