Kedengarannya seperti suatu kesimpulan yang aneh. Kemungkinan kita akan berfikir, bahwa testing merupakan halangan bagi keleluasaan pembuatan program. Tapi jika kita dapat melihat bahwa sebuah test yang baik terhadap method-method public di dalam sebuah class akan membuat kita bebas untuk merubah implementasi dari method public tersebut. Kita tidak perlu takut lagi bahwa perubahan yang dilakukan akan menyebabkan kita harus merubah atau lebih parah merusak keseluruhan program kita.
Selama kita dapat melewati Unit Test yang telah dibuat untuk method-method yang public, artinya method public kita memiliki parameter dan menghasilkan keluaran seperti yang diharapkan dalam test, kita dapat yakin bahwa keseluruhan program kita dapat tetap berjalan dengan lancar.
Memastikan bahwa keseluruhan program kita dapat berjalan dengan baik hanya merupakan tujuan pertama dari dilakukannya test. Beberapa hal lain yang kita bisa harapkan dengan adanya test secara menyeluruh terhadap program kita adalah:
- Testing memaksa kita membuat program yang dapat dengan mudah ditest. Ketika kita membuat sebuah method, kita akan selalu berfikir bagaimana kita akan melakukan test dengan menyeluruh terhadap method kita tersebut. Hal ini membawa kita untuk melakukan perubahan-perubahan di method dan tentunya keseluruhan program yang kita buat. Hasilnya adalah bagian-bagian program yang tidak saling terikat ('loose coupling'), fleksible dan lebih modular. Dengan begitu, perubahan terhadap program di kemudian hari dapat dilakukan dengan lebih mudah.
- Penulisan test mendorong kita untuk fokus dan mendefinisikan dengan jelas harapan kita terhadap bagaimana seharusnya program kita bekerja. Kita akan mendefinisikan dengan jelas, jika parameter A dimasukan, maka nilai B akan dihasilkan dan seterusnya. Setelah melihat harapan kita tentang keluaran dengan berbagai masukan, selanjutnya kita akan memikirkan mengenai kemungkinan-kemungkinan input yang akan diterima oleh program kita dan kemungkinan-kemungkinan keluarannya, yang mungkin berada di luar nilai sewajarnya. Dari situ kita akan harus mengambil keputusan mengenai bagaimana kita akan menanggulanginya. Hal ini mendorong kita untuk membuat program yang lebih fleksibel terhadap masukan dan menghindari kesalahan yang dapat menghentikan jalannya program secara keseluruhan.
- Dengan test case yang kita miliki, orang lain dapat melihat tujuan dibuatnya method yang kita test, berikut pula cara pemakaiannya. Dengan begitu, test dapat dijadikan sebagai dokumentasi yang jelas dari program yang kita bangun. Dan, pada point 1, karena kita akan cendrung membuat method kita mudah untuk ditest dan simple, maka tentunya akan memudahkan orang lain memahami mengenai keseluruhan program yang kita tulis.
Tidak ada komentar:
Posting Komentar