Minggu, 28 Juni 2015

Apa Itu TDD?

Menurut pengalaman pribadi dan mudah dipahami, menurut saya TDD atau Test Driven Development adalah metode development software dengan melakukan tiga fase, yaitu "Red-Green-Refactor".

Fase Red

Fase Red yang dimaksud disini adalah tulis test case terlebih dahulu. Tes tersebut dijalankan dan pasti hasilnya gagal / merah karena kode implementasi software memang belum ditulis. Contoh test case dalam bahasa pemrograman Ruby:
describe MyClass do
  describe "#one" do
    it "returns 'satu'" do
      my_instance = MyClass.new
      expect(my_instance.one).to eq "satu"
    end
  end
end
kode diatas tujuannya melakukan tes terhadap method one dari class MyClass.

Fase Green

Fase Green adalah fase dimana kita melakukan implementasi kode agar test case sukses. Contoh:
class MyClass
  def one
    return "satu"
  end
end
Ketika test case ketika fase red dijalankan kembali, bisa dipastikan bahwa hasilnya adalah hijau atau sukses.

Fase Refactor

Fase refactor ini adalah fase untuk melakukan perubahan kode agar menjadi lebih baik. Fase refactor hanya dilakukan setelah semua test case sukses atau hijau semua, tidak ada yang gagal. Contoh refactor:
# test case
describe MyClass do
  describe "#satu" do
    it "returns 'satu'" do
      my_instance = MyClass.new
      expect(my_instance.satu).to eq "satu"
    end
  end
end

# implementasi
class MyClass
  def satu
    return "satu"
  end
end

Tiga proses diatas dilakukan berulang - ulang saat hingga program yang kita inginkan selesai. Karena proses pembuatan software dilakukan berdasarkan test case yang dibuat, bisa dipastikan kode implementasi yang kita buat tidak melenceng kemana - mana dan hanya menuliskan kode sesuai dengan test case.

Dengan adanya tes, kelebihan lainnya adalah ketika menulis kode untuk fitur lain, kita bisa mengecek apakah membuat error fitur yang lainnya.

1 komentar:

Related Posts Plugin for WordPress, Blogger...