Jakarta, Gizmologi – Tokopedia sebagai ekosistem e-commerce memiliki berbagai fitur dan halaman produk yang sangat kompleks. Seperti halaman check out, dasbor penjual, official store, produk detail, akun pengguna, pembayaran, hingga halaman Tokopedia Play yang semuanya perlu dipelihara dan dikembangkan setiap waktu.
Dengan banyaknya halaman yang perlu dikelola setiap harinya, bagaimana tim developer Tokopedia, khususnya bagian iOS, agar dapat melakukan testing atau percobaan pada setiap halaman yang berbeda tersebut? Pada September lalu, Tokopedia Academy kembali menggelar START Summit Extension terkait pengembangan aplikasi iOS.
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.
Kembangkan Tokopedia Apps Distribution Platform
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. Para tim iOS Tokopedia menemukan cara untuk membuat distribusi sistem apps pada iOS guna menyederhanakan proses. Sekaligus meningkatkan produktivitas seluruh tim developer dan menyesuaikan kebutuhan setiap tim di Tokopedia.
Dalam melakukan testing, tim iOS Tokopedia 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. Mereka juga perlu melakukan Manual Test dengan mengunduh build atau rancangan ke sebuah server yang nantinya Product owner dan developer dapat memasang dan mengunduh apps di sana. Oleh karena itu, tim iOS Tokopedia pun membuat sistem Tokopedia Apps Distribution Platform. Sistem ini 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 Libatkan Nakama untuk Internal Beta Testing
Sementara itu Dhio menjelaskan tentang bagaimana tim iOS developer Tokopedia dapat 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 publik. Ini merupakan salah satu praktik yang bisa diimplementasikan dalam melakukan quality control.
Para tim iOS developer lantas mengembangkan distribusi apps yang sudah ada dengan membuat sistem menyeluruh untuk melakukan internal beta testing yang bernama Tokopedia Pro. Sistem ini dapat digunakan oleh seluruh Nakama di Tokopedia, di mana mereka dapat menikmati fitur-fitur terbaru lebih awal dengan built-in feedback system.
Nakama dapat melaporkan langsung kendala, bugs maupun saran melalui feedback form yang terintegrasi pada keseluruhan sistem Tokopedia Pro. 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.
Disclaimer: Gizmologi merupakan media partner untuk ajang Start Summit Extension.
from Gizmologi https://ift.tt/3FUkmDX
via IFTTT
0 Komentar