Archive

Posts Tagged ‘Test Driven Development’

Evident Data

January 26, 2009 Leave a comment

Bagaimana membuat maksud dari data yg ditampilkan jelas? Nah berarti ada dua jenis data. Yaitu data masukan dan keluaran. Jadi buatlah relasi antara kedua data tersebut jelas. Bagaimana prosesnya perubahan data tersebut. Karena kita menulis test bukan hanya untuk komputer. tetapi juga untuk orang lain yg akan menggunakan kelas tersebut. jadi dia bisa belajar dari test tersebut bagaimana behaviour dari suatu kelas atau fungsi.

Contohnya kita akan mengubah satu mata uang ke yg lain. dan kita mengambil 1,5 percent komisi. Exchange rate dari USD ke GBP adalah 2:1. Yg kita tukarkan adalah $100. kita akan mendapat 50GBp – 1.5% = 49.25 GBP. KIta dapat menterjemahkannya menjadi test seperti berikut.
Read more…

Test Data

January 26, 2009 Leave a comment

Data apa yg akan digunakan dalam test ?? Pilihlah data yg membuat test tersebut mudah dibaca dan dimengerti.  Karena test tersebut adalah dokumentasi. Pilihlah data test yg benar2 menuntun kita ke design yg benar dan complete. Kalau misalnya 1 dan 2 tidak memiliki makna yg berbeda gunakanlah satu. Lebih simple.

Pikirkanlah data2 apa saja yg bisa menyebabkan alur yg berbeda dari code yg dibuat. Jangan memunculkan data yg akan menuntun ke flow yg sama berulang. Read more…

Assert First

January 26, 2009 1 comment

Kapan kita harus menuliskan assert.. Assert.AreEquals(…, …..); ???

Tulislah pertama kali …

Ketika kita menuliskan test, kita sebenarnya menyelesaikan beberapa masalah sekaligus. meskipun kita tidak memikirkan bagaimana implementasinya. Diantaranya :

  1. Fungsionalitasnya punya siapa ?? apakah dari method yg sudah ada, modifikasi method, method baru, ataukah kelas baru
  2. Bagaimana dia akan dipanggil ?
  3. Bagaimana mengecek fungsi tersebut benar atau salah
  4. Bagaimana jawaban yg benar ?
  5. Apakah test2 lain yg muncul ?

dapat disederhanakan menjadi dua bagian bagaimana jawaban yg benar dan bagaimana cara mengeceknya. Contohnya adalah komunikasi socket. ketika kita selesai maka socket akan ditutup dan kita mendapatkan hasil bacaan string abc. nah itulah kuncinya. Apa yg kita mau ? Socket akan tertutup dan hasil pembacaan string abc. dari sanalah kita bergerak. bergeraklah dari akhir.
Read more…

Test First

January 20, 2009 3 comments

Kapan kita membuat test ? Buatlah test sebelum anda membuat code yang akan di test.

karena programmer akan malas jika harus mengetest kode yang sudah berjalan. Karena buat apa ditest lagi. Toh sudah jalan. Fungsionalitasnya sudah tercapai kok.

Dengan membuat test di awal kita dapat mengurangi ketidakpastian tentang behaviour suatu code. Kita juga lebih pd melakukan perubahan

Dengan membuat test di awal kita juga tidak akan membuat waste. Semua code tidak ada yg tidak terpakai. Ga da yg jadi sampah.
Read more…

Daftar Test

January 20, 2009 Leave a comment

Apa yang harus di test ? Sebelum kita membuat test daftarkan semua test yg anda pikirkan akan dibuat. LIst tersebut tidak perlu lengkap di awal. Jadi kita tw sekarang kita berada dimana. Dan kita tw apa yg akan dikerjakan.

Kita tidak dapat mengingat semua hal dalam kepala kita. Nah … itulah gunanya test list. Karena biasanya hal2 yang harus ditest akan bertambah seiring dengan pembuatan test.

Semakin banyak kita membuat test semakin banyak hal yang kita pikirkan harus ditest. N kadang hal tersebut memecahkan perhatian kita terhadap apa yg kita kerjakan skarang. Yang kt capai juga semakin sedikit dan semakin bertambahlah beban kerja kita. Hufff…
Read more…

TDD Patterns

January 20, 2009 Leave a comment

Ga ada software engineer yg mw merelease codenya bahkan karena perubahan yg kecil kecuali dia emang malas. Test membuat kita menjadi percaya diri terhadap perubahan yg kita lakukan. jadi ketika kita tidak yakin maka jalankan saja testny. Ntar testnya sendiri yg ngasih tau. Ga usah pusing.

Nah kejadinnya sama programmer ketika lagi stress karena dikejar deadline ato yg lain.Testnya jadi semakin sedikit. Bahkan kadang diabaikan saja. Ah..nanti ajalah. Belakangan aja testnya. Yang penting jalan dulu. Pdahal itu pelanggaran hukum TDD. Kita tidak boleh bikin code klo ga ada testnya. Bahkan sebiji titik koma pun tidak boleh ditambahkan klo testnya ga minta.
Read more…