Sebagai salah satu aplikasi marketplace yang banyak digunakan masyarakat di Indonesia, Tokopedia menghadirkan banyak fitur dan halaman produk di platformnya.
Berbagai fitur dan halaman produk tersebut seperti halaman check out, dasbor penjual, official store, produk detail, akun, pembayaran, hingga halaman Tokopedia Play.
Fitur dan halaman produk tersebut tentu setiap waktunya membutuhkan pemeliharaan dan peningkatan agar dapat selalu memberikan yang terbaik kepada lebih dari 100 juta penggunanya.
Dengan banyaknya fitur dan halaman produk yang perlu dikelola setiap harinya, bagaimana tim iOS Tokopedia dapat melakukan testing atau percobaan pada setiap fitur dan halaman produk yang berbeda tersebut?
Pada bulan September lalu, Tokopedia melalui Tokopedia Academy kembali menggelar START Summit Extension.
Mengangkat tema “How iOS Team Build a System Internal Apps Distribution & Testing”, Adityo Rancaka (Senior Software Engineer Tokopedia) dan Dhio Etanasti (Software Engineer Lead Tokopedia) berbagi pengalaman mereka di bidang mobile development, khususnya pada pengembangan iOS dalam melakukan distribusi aplikasi untuk testing.
Perjalanan dalam Membangun Internal Apps Distribution Testing
Di sesi pertama, Caka menceritakan bagaimana sulitnya melakukan testing terhadap setiap build atau hasil dari sebuah pengembangan.
Pada umumnya, diperlukan beberapa tahapan jika ingin melakukan testing terhadap suatu fitur atau halaman seperti melakukan signing code, mendaftarkan unit identifier, sampai mendistribusikan pengembangan tersebut kepada tim lain.
Jika di dalam satu tim terdiri lebih dari 10 orang, maka perlu ada 10 identifier perangkat yang perlu didaftarkan.
Tokopedia juga pernah mengalami hal serupa, hingga akhirnya para tim iOS Tokopedia menemukan cara untuk membuat distribusi sistem apps pada iOS guna menyederhanakan proses dan meningkatkan produktivitas seluruh tim developer dan menyesuaikan kebutuhan setiap tim di Tokopedia.
“Dalam melakukan testing, Tokopedia iOS memiliki beberapa metode, yakni Automated Tests yang terbagi menjadi Unit Test dan UI Test,” cetus Caka.
Unit Test dikhususkan untuk melakukan testing pada logic dan sistem functional di apps, sedangkan UI Test berguna untuk menjalankan user interface secara otomatis.
Namun, menurut Caka bahwa Automated Test saja tidak cukup. “Tim iOS Tokopedia juga perlu melakukan Manual Test dimana kita perlu mengunduh build atau rancangan ke sebuah server yang nantinya Product owner dan developer dapat memasang dan mengunduh apps di sana,” tambahnya.
Berangkat dari kebutuhan tersebut, tim iOS Tokopedia pun membuat sistem yang dikembangkan sendiri, yaitu Tokopedia Apps Distribution Platform yang memudahkan para iOS developer Tokopedia untuk mengunggah seluruh rancangan agar dapat digunakan untuk testing.
Selain mengembangkan sebuah servis untuk melakukan testing, tim iOS developer Tokopedia juga juga memiliki Apple Developer Enterprise Program.
Melalui program ini, para tim iOS developer tidak perlu mendaftarkan setiap perangkat atau user identifier satu persatu jika ingin melakukan testing pada build atau rancangan yang baru.
Membangun dan mengembangkan Tokopedia Apps Distribution Platform tentunya tidak luput dari berbagai tantangan.
Dalam satu hari, tim iOS developer dapat mengunggah setidaknya 90 task yang baru saja dibangun dengan ukuran yang bisa mencapai 36 giga per hari, di mana kapasitas penyimpanan yang ada hanya sebesar 250 giga.
Dengan limitasi tersebut, tim iOS developer pun akhirnya membuat suatu ownership pada setiap build.
Dengan adanya ownership pada setiap rancangan tersebut, seluruh tim iOS developer dapat mengetahui masing-masing pemilik dari setiap rancangan, sehingga dapat memudahkan dalam menentukan kapasitas atau limit guna membatasi setiap developer dalam mengunggah rancangan ke dalam sistem.
Tokopedia Pro: Melibatkan Nakama Tokopedia dalam Melakukan Internal Beta Testing
Di sesi ke dua, Dhio menjelaskan tentang bagaimana tim iOS developer Tokopedia dapat mengembangkan sistem distribusi apps yang sudah dimiliki untuk meningkatkan kualitas aplikasi Tokopedia. Salah satu contoh yang dapat diangkat adalah mengembangkan Internal Beta Testing.
Selain melakukan Manual Testing dan Automated Test, para developer perlu memastikan dan meminimalisir terjadinya error atau bugs pada setiap rancangan.
Untuk mengatasi hal ini, tim teknologi Tokopedia mengimplementasikan sebuah istilah bernama ‘dogfooding’, yang diartikan sebagai sebuah praktik dalam menggunakan produk dan servis sendiri.
“Hal ini memungkinkan para Nakama atau karyawan Tokopedia memiliki kesempatan untuk mencoba menggunakan fitur dan servis pada beberapa waktu tertentu sebelum akhirnya produk tersebut dirilis ke public,” ujar Dhio.
Menurutnya, praktik ini merupakan salah satu praktik yang bisa diimplementasikan dalam melakukan quality control.
Para tim iOS developer lantas mengembangkan sistem distribusi apps yang sudah ada dengan membuat sistem menyeluruh untuk melakukan internal beta testing yang bernama Tokopedia Pro.
Tokopedia Pro dapat digunakan oleh seluruh Nakama di Tokopedia, dimana mereka dapat menikmati fitur-fitur terbaru lebih awal dengan built-in feedback system.
“Nakama dapat melaporkan langsung kendala maupun bugs yang mereka dapatkan melalui feedback form yang terintegrasi pada keseluruhan sistem Tokopedia Pro,” tutur Dhio.
Selain itu, Nakama juga bisa memberikan masukan, bahkan menjelaskan keluhan beserta lampiran foto dan video dari isu yang dihadapi.
Setiap laporan yang masuk akan dikirim ke Tokopedia Apps Distribution Platform Service. Data-data tersebut kemudian diolah menjadi tiket agar dapat diproses ke proses perbaikan selanjutnya.
Tokopedia Pro juga terintegrasi dengan Slack, kanal komunikasi yang digunakan oleh seluruh Nakama di Tokopedia. Terdapat channel khusus yang didedikasikan untuk menerima laporan secara otomatis.
Pada channel tersebut, tim Developer juga bisa berdiskusi dengan Nakama yang memberikan feedback atau laporan.
Selain terintegrasi dengan Slack, data-data yang telah dilaporkan juga dapat disambungkan dengan Tokopedia Pro agar setiap Nakama dapat terinfo progress dari laporannya.
“Dengan budaya focus on consumer, para tim teknologi Tokopedia memberikan kesempatan kepada Nakama sebagai customer pertama Tokopedia dalam mencoba berbagai fitur dan improvement terbaru,” pungkas Dhio.
Baca Juga: Beginilah Proses di Balik Pembaruan Situs dan Aplikasi Tokopedia
Baca Juga: Inilah Cara Tokopedia Kelola Infrastuktur dengan SRE dan Multi Cloud
Penulis | : | Rafki Fachrizal |
Editor | : | Rafki Fachrizal |
KOMENTAR