Membuat Unit Test dengan Prinsip FIRST
- M Faisal Mazidnianto
- Apr 19, 2017
- 2 min read
Udah engga kerasa aja udah Sprint 2 :"
Pada Sprint 2 ini banyak hal yang harus dipelajari terutama Unit Test karena membuat Unit Test tidak semudah kedengerannya, banyak hal-hal yang harus diperhatikan. Oleh karena itu, pada post ini saya akan membahas 5 prinsip dalam membuat Unit Test.
Dalam membuat Unit Test kita dianjurkan untuk mengikuti 5 prinsip ini karena dengan mengikuti prinsip-prinsip tersebut kita mendapatkan Unit Test yang useful dan code-nya lebih stabil. 5 prinsip tersebut adalah Fast, Isolated, Repeatable, Self-validating, dan Timely atau biasa dikenal dengan singkatan FIRST.
Fast - Tes harus berjalan dengan cepat, maksudnya adalah jika kita ragu untuk menjalankan tes setelah terdapat perubahan sederhana, maka tes tersebut terlalu lambat. - Tes-tes termasuk setup, actual, dan tear down test harus bisa mengeksekusi secara cepat karena kita mungkin memiliki ribuat tes di seluruh proyek.
Isolated - Jangan membuat tes yang bergantung dengan tes lainnya atau dengan kata lain tesnya harus bersifat independen. - Tes harus dapat memisahkan fail yang terjadi. Oleh karena itu, sebaiknya nama class atau method yang dibuat pada tes harus sesuai dengan class dan method mana yang akan diuji, sehingga developer tidak harus bolak balik untuk mengecek fail tersebut
Repeatable - Tes harus dapat menghasilkan hasil yang sama saat dijalankan berulang kali. - Tes harus terisolasi dengan environment external.
Self-Validating - Penulis tes harus menghindari spesifikas yang berlebihan sehingga saat ada perubahan yang bersifat periferal tidak mempengaruhi kemampuan untuk menentukan apakah tes tersebut pass atau fail.
- Tes harus dapat memvalidasi tesnya, maksudnya adalah setiap tes harus dapat menentukan bahwa output yang keluar apakah output yang diharapkan atau tidak. Tidak boleh ada interpretasi manual hasil terhadap output tersebut.
Timely - Tes seharusnya ditulis segera sebelum code yang akan ditelah dibuat. - Tes harus dapat meng-cover seluruh code
Salam,
Muhammad Faisal Mazidnianto
Referensi :
https://agileinaflash.blogspot.co.id/2009/02/first.html#comment-form
https://github.com/ghsukumar/SFDC_Best_Practices/wiki/F.I.R.S.T-Principles-of-Unit-Testing
http://howtodoinjava.com/best-practices/first-principles-for-good-tests/
Comments