Archive

Posts Tagged ‘TDD’

Unit Testing di C++

February 25, 2012 Leave a comment

Saya merupakan fans dari Test Driven Development. Bagi anda penggila Agile atau Extreme Programming hal itu mungkin tidak asing lagi. Ketika saya pindah dari c# ke c++, salah satu hal yang paling ingin saya cari adalah bagaimana melakukan Unit Test. karena dengan melakukan dari test kita bisa dapat belajar lebih cepat dan terarah. Visual Studio C++ 11 menawarkan kemudahan untuk melakukan native testing. Kita tidak perlu memanfaatkan C++ CLI utk melakukan nya. Benar-benar native.

Silahkan mengikuti langkah-langkahnya berikut ini. Your testing experience will be better with C++

 

Enjoy this one. Be Test Addicted

Advertisements

Behaviour Driven Development (Part 2)

February 5, 2009 Leave a comment

Nama test yg jelas sangat membantu jika test tersebut error. Ketika kita melakukan perubahan dan test yg sebelumnya berhasil gagal, maka kita dapat mengeceknya dari nama methodnya. Apa sebenarnya behaviour yg diinginkan dari test tersebut. Biasanya salah satu dari berikut yg terjadi …

  1. Ada bug baru. Solusinya perbaiki bugnya
  2. Behaviournya masih relevan tetapi sudah berpindah ke tempat lain. Solusinya pindahkan test tersebut ke tempat yg semestinya dan mungkin mengubahnya.
  3. Behaviournya sudah tidak sesuai lagi. Karena system sudah berubah.  Perubahan requirement. Solusinya : delete test tersebut.

Pilihan yg terakhir itu biasanya kita ga percaya diri melakukannya. Karena kita takut kualitas code menjadi berkurang. Tapi sebenarnya itu alasanya kita menggunakan kata should (seharusnya). Jadi ketika kita lihat test tersebut kita bisa mengujinya dngan kata really (benarkah). Benarkah seperti itu ?? atau sekarang sudah tidak lagi. Jadi ketika test tersebut gagal kita bisa menguji kembali dengan kata benarkah harus seperti itu ?
Read more…

Categories: BDD Tags: ,

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…