11 Weeks of Testing


HAH?! 11 MINGGU??!?!
NGE-TEST APA SAMPE 11 MINGGU?!

Hehe.. Bukan gitu maksudnya..
Di post kali ini, saya ingin menceritakan tentang testing yang sudah saya lakukan selama +- 11 minggu men-develop allocateam.

Pada saat Sprint 1, saya pure memegang front-end, sehingga, saya juga bertanggung jawab untuk melakukan testing segala hal yang saya implementasi di front-end. Untuk para pecinta back-end, bingung banget pasti ga sih gimana sih testing front-end? Like, ribet gitu ga sih pasti? Terus, apa juga coba yang di test dan apa gunanya juga nge-test front-end? Eits... Ga boleh mikir yang aneh-aneh dulu. Coba tarik napas perlahan.. jernihkan pikiran.. then.. ta-da!

Pada front-end testing, kita dapat melakukan component testing, yaitu unittest yang yang kita buat akan memeriksa apakah component yang kita buat telah ter-render ketika aplikasi berjalan. Selain itu, kita juga dapat melakukan functionality testing, dimana unittest yang kita buat akan akan memeriksa apakah setiap function yang kita buat berjalan sesuai fungsionalitasnya atau tidak. Fungsi apa sih? Emang front-end punya fungsi-fungsi gitu? Hoo jelas ada dong! Terkhusus front-end nya allocateam ya, dimana front-end terpisah dengan back-end, sehingga akan banyak fungsi yang diperlukan oleh front-end untuk mengambil data dari back-end, melakukan penyesuaian suatu variabel apabila menjadi input untuk suatu component, dan lain sebagainya. Berikut beberapa contoh front-end testing yang telah saya buat untuk allocateam. Beberapa aja ya jangan semuanya hihi

Example of Jest Component Testing
Potongan code unittest di atas bertujuan untuk memeriksa apakah ketika aplikasi dijalankan, ter-render component bernama Hello dan StyledButton yang sebelumnya telah didefinisikan pula di dalam program.

Example of React Functional Testing
Potongan code unittest di atas bertujuan untuk memeriksa apakah function fetchData() yang sudah didefinisikan untuk mengembalikan sebuah list berisi response, untuk tidak memberikan list kosong.

Ga susah-susah banget kan kalau dilihat-lihat? Hihi. Nah untuk para front-end learner, yuk bareng saya lanjutin belajar front-end nya dan lebih perdalam tentang front-end testing nya. Kalau pakai React, bisa banget loh testing pakai Jest, soalnya saya juga menggunakan Jest untuk front-end testing allocateam ini hehe

Nah setelah full berurusan dengan front-end di Sprint 1, di Sprint 2, saya mulai berurusan lagi dengan back-end things, sehingga harus berurusan dengan back-end testing juga deh. Nah, setelah tadi membahas tentang front-end testing, mari kita kulik beberapa hal tentang back-end testing. Kalau mungkin banyak persepsi tentang apa gunanya front-end testing, sepertinya kalau terkait back-end, lebih sedikit sih persepsi seperti tersebut, karena basically back-end testing itu sudah jelas lah ya kegunannya, dimana testing tersebut biasanya terfokus pada functionality testing, untuk memastikan apakah setiap function yang kita buat berjalan dengan baik sesuai goal nya atau tidak.

Karena tadi saya sudah memberikan beberapa contoh mengenai front-end testing, kurang afdhol kalau saya tidak memberikan contoh mengenai back-end testing juga disini. Berikut adalah contoh back-end testing yang telah saya implementasikan dalam proses pengembangan allocateam. Testing ini dibuat menggunakan bahasa pemrograman python di dalam framework flask, mengikuti teknologi yang digunakan untuk pengembangan back-end nya pula. Oh ya, untuk yang contoh back-end testing, saya juga akan memberikan contohnya menjadi 2 bagian, yaitu Positive Functional Test dan Negative Functional Test. Sebelum pada nanya, Positive Functional Test itu adalah testing untuk memeriksa kemungkinan normal flow dari function terkait, sedangkan Negative Functional Test itu adalah testing untuk memeriksa kemungkinan unexpected behavior yang terjadi pada function terkait.

Example of Positive Functional Test
Potongan code unittest di atas melakukan mock ke database menggunakan mock_data yang mensimulasikan behavior data normal sehingga test tersebut memeriksa apakah function evaluation yang saya buat berjalan sesuai fungsionalitasnya ketika diberikan data yang memiliki normal behavior. 

Example of Negative Functional Test
Potongan code unittest di atas melakukan mock ke database menggunakan mock_data yang mensimulasikan behavior data yang belum memiliki data hasil algoritma alokasi yang dijalankan sehingga test tersebut memeriksa seharusnya function evaluation yang saya buat harus menangkap error yang menyatakan bahwa algoritma alokasi belum dijalankan.

Seru banget ga sih testing-testing things ini?! Super senang sih seiring pengembangan allocateam, selama kurang lebih 11 minggu melalui dua Sprint, saya bisa belajar testing lebih dalam baik dari sisi front-end ataupun back-end yang pastinya sangat berguna untuk menjadi referensi untuk pengembangan perangkat lunak lainnya di masa mendatang! 

Semoga post kali ini bisa berguna dan memotivasi para allocaters juga ya! 

0 komentar:

Post a Comment