top of page

Week 9: F.I.R.S.T Principles for Unit Tests

  • Writer: Admin
    Admin
  • Apr 6, 2017
  • 2 min read

Welcome to Sprint 2, yeay!

Awal sprint ini kami, GoodangCode, masih melakukan fixing fitur Sprint 1, karena bingung mau nulis apa, saat ini sepertinya mau bahas tentang kaidah pembuatan unit testing dengan menggunakan prinsip F.I.R.S.T aja di tulisan ini, simak ya!

---

F.I.R.S.T PRINCIPLES

[F]ast

Pengembang harus menjalankan seluruh script testing yang dibuat dengan cepat. Oleh karena itu, kelompok kami menggunakan GitLab continuous integration, sehingga sesaat kami melakukan pushing commit ke GitLab, script testing yang telah dibuat, sudah termasuk function setup() dan teardown(), dapat langsung dijalankan secara otomatis.

[I]solated

Pengembang tidak boleh menuliskan source code yang memiliki ketergantungan dengan test case lain. Pada setiap kasus, kita harus dapat menjalankan setiap test case dalam satu waktu di keadaan apapun. Dengan membuat script testing yang saling independen, yaitu tidak bergantung dengan test case lain, pengembang dapat dengan mudah fokus terhadap satu behaviour dari bagian yang ingin kita test.

[R]epeatable

Pengembang harus dapat menghasilkan hasil yang sama pada script testing yang dibuat di setiap kali pengembang menjalankan testing tersebut. Salah satu cara yang dapat digunakan agar script testing yang dibuat adalah repeatable test, kita harus mengisolasi test tersebut dari external environment yang di luar kontrol pengembang.

[S]elf-validating

Pengembang harus menghasilkan script testing yang dapat memvalidasi dirinya sendiri, yaitu apakah output pada test case yang dibuat (expected value) sesuai atau tidak dengan keadaan aslinya (actual value) dan harus dapat menentukan apakah test tersebut failed atau pass, tidak boleh ada manual interpretation.


[T]imely

Pengembang harus menuliskan script testing secara berkala dan script testing yang dihasilkan harus meng-cover setiap method yang dibuat, tidak harus menghasilkan 100% coverage (pada PPL ini, coverage yang diharapkan adalah 85-90%), dengan memperhatikan guidelines atau strict rules dalam penulisan testing. Semakin banyak unit-test yang dibuat, maka semakin mudah juga kita menemukan kejanggalan yang ada pada code kita nanti, atau bahkan dapat mengefisiensikan waktu penulisan kode, karena script testing yang dibuat diharapkan menerapkan prinsip TDD, yaitu test first and code second, sehingga tidak perlu ada lagi proses refactoring.

Sekian yang dapat dituliskan, semoga kedepannya proses pengembangan aplikasi dapat berjalan dengan lancar dan semoga ilmu yang didapatkan dapat berguna dengan sebagaimana mestinya.

Salam,

Betty Nauli Dina

REFERENSI

- 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/

- http://stackoverflow.com/questions/18024785/tdd-first-principle


Comentários


© 2017 by GoodangCode

Subscribe for Goodang Team Updates!

bottom of page