Yuk Intip Cara Tim iOS Tokopedia Kembangkan Sistem Internal untuk Lakukan Apps Testing!
Dengan banyaknya halaman yang perlu dikelola setiap harinya, bagaimana tim iOS tokopedia dapat melakukan testing?
Editor: Content Writer
TRIBUNNEWS.COM - Pernahkah kamu membayangkan ada berapa banyak fitur dan produk di Tokopedia yang hampir setiap harinya membutuhkan suatu peningkatan dan perbaikan agar dapat selalu memberikan yang terbaik kepada lebih dari 100 juta pengguna di seluruh Indonesia?
Tokopedia sebagai sebuah Ekosistem Super memiliki berbagai fitur dan halaman produk seperti halaman check out, dasbor penjual, official store, produk detail, akun, pembayaran, hingga halaman Tokopedia Play yang perlu dipelihara dan dikembangkan setiap waktu. Dengan banyaknya halaman yang perlu dikelola setiap harinya, bagaimana tim iOS tokopedia dapat melakukan testing atau percobaan pada setiap halaman 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. Unit Test dikhususkan untuk melakukan testing pada logic dan sistem functional di apps, sedangkan UI Test berguna untuk menjalankan user interface secara otomatis.
Namun, 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. 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, dimana 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.