WEEK 5: Instalasi, Code coverage, dan Continuous Integration
- Muhammad Burhan Sidqi
- Mar 9, 2017
- 2 min read
Halo!
Perkenalkan saya burhan, salah satu anggota kelompok PPLD5 (tim GoodangCode). Dalam mengerjakan proyek ini kelompok kami diberi waktu sebanyak 3 sprint. Pada Sprint-1 minggu pertama, saya dan teman-teman kelompok saya memulai menyiapkan environtment untuk dapat mengerjakan proyek ini. Instalasi yang dilakukan yaitu android studio (sebagai IDE pembuatan aplikasi android), crashlytics (sebagai pengirim/report jika terdapat bug atau crash pada aplikasi yang sedang digunakan), postgre dan sourcetree (untuk mempermudah dalam melakukan proses git).
CODE COVERAGE
Pada kali ini saya akan membahas mengenai code coverage (yang kami gunakan adalah codecov). Bagi saya yang baru mencoba-coba menggunakan code coverage, menimbulkan banyak pertanyaan ketika akan menggunakan code coverage seperti apa itu code coverage? Apa fungsi code coverage? Dan sebagainya. Jadi code coverage merupakan pengukuran untuk melihat seberapa banyak kode yang telah kita buat tereksekusi oleh test suit (dalam hal ini kelompok kami menggunakan gitlab_CI).
Lalu bagaimana cara mengukur seberapa banyak kode yang kita buat telah tereksekusi oleh testing? Untuk mengukurnya dapat dimasukkan dalam formula hits / (sum of hit + partial + miss). Dimana hits adalah banyaknya baris kode yang tereksekusi, partial adalah banyaknya baris kode yang tidak tereksekusi secara menyeluruh, dan miss adalah banyaknya baris kode yang tidak tereksekusi dalam testing.
Jika informasi yang diberikan code coverage belum 100% dapat menjadi indikasi bahwa kita harus terus mengembangkan testing agar setiap bari kode yang telah dibuat tereksekusi oleh test suit.
CONTINUOUS INTEGRATION
Continuous Integration yang kelompok kami gunakan adalah gitlab CI. Fungsi dari gitlab CI adalah untuk memastikan bahwa proyek yang telah kita push ke gitlab dapat di compile dan telah lolos unit test. Hal ini perlu untuk dilakukan karena dalam pengerjaan ketika proyek yang telah dibuat sudah dapat dijalankan pada local, namun kita juga perlu memeriksa apakah yang telah kita push juga dapat dijalankan seperti pada local. Berikut ini merupakan isi bagian awal gitlab CI yang mengatur environment yang akan menjalankan proyek di gitlab (melalui pipeline).

Dan berikut ini merupakan script untuk melakukan pengiriman report yang telah dilakukan pada proses compile dan testing yang akan dikirim ke code coverage.

Dan berikut adalah script untuk menjalankan proses compile dan testing.

Ketika proyek yang telah dikerjakan beserta gitlab CI sudah dipush ke gitlab maka proses compile dan testing akan terlihat pada pipeline. Pada pembuatan gitlab CI terdapat kendala pada pengaturan lisensi dan dijalankannya functional test yang menyebabkan percobaan yang berulang-ulang dalam konfigurasi gitlab CI.

Sekian yang dapat dituliskan pada kesempatan ini, semoga kedepannya proses pengembangan aplikasi dapat berjalan dengan lancar dan semoga ilmu yang didapatkan dapat berguna dengan sebagaimana mestinya. Dan hal yang akan saya lakukan berikutnya adalah memperbaiki CI dan mempelajari environment yang belum terpasang.
Salam,
Muhammad Burhan Sidqi
Comments