Contoh Kasus Implementasi TDD


Contoh Kasus Implementasi TDD yang Sering Dipakai di Dunia Nyata

Daftar Isi

  1. Apa Itu Implementasi TDD di Dunia Nyata?
  2. 1. Implementasi TDD pada Fitur Login User
  3. 2. Implementasi TDD pada Validasi Formulir Input
  4. 3. Implementasi TDD pada Proses Transaksi Pembayaran
  5. 4. Implementasi TDD pada Shopping Cart
  6. 5. Implementasi TDD pada API CRUD Produk
  7. Kesimpulan

Apa Itu Implementasi TDD di Dunia Nyata?

Implementasi TDD di dunia nyata berarti menerapkan metode Test-Driven Development (TDD) dalam kasus-kasus praktis yang sering ditemui dalam pengembangan aplikasi sehari-hari. Berikut beberapa contoh kasus nyata beserta langkah-langkah penerapannya.

1. Implementasi TDD pada Fitur Login User

Langkah TDD:

  • Red: Tulis tes gagal, misalnya validasi username/password yang salah.
  • Green: Tulis kode untuk memvalidasi username dan password.
  • Refactor: Rapikan kode agar lebih jelas.

// Contoh Tes (Jest)
test('Login gagal jika username/password salah', () => {
  expect(login('user', 'passSalah')).toBe(false);
});

2. Implementasi TDD pada Validasi Formulir Input

Langkah TDD:

  • Red: Tulis tes untuk memastikan formulir tidak menerima input kosong.
  • Green: Implementasi validasi sederhana agar formulir wajib diisi.
  • Refactor: Perbaiki struktur validasi agar mudah dikelola.

// Contoh Tes (JUnit)
@Test
void formulirHarusDiisi(){
  assertFalse(FormValidator.isValid(""));
}

3. Implementasi TDD pada Proses Transaksi Pembayaran

Langkah TDD:

  • Red: Tes transaksi gagal jika saldo tidak mencukupi.
  • Green: Tulis implementasi logika pengecekan saldo.
  • Refactor: Rapikan struktur kode transaksi.

// Contoh Tes (PHPUnit)
public function testTransaksiGagalJikaSaldoKurang(){
    $this->assertFalse($transaksi->bayar(500000, 300000));
}

4. Implementasi TDD pada Shopping Cart

Langkah TDD:

  • Red: Tes apakah item bisa ditambahkan ke dalam keranjang belanja.
  • Green: Implementasikan fungsi menambahkan item.
  • Refactor: Bersihkan kode agar lebih efisien.

// Contoh Tes (PyTest)
def test_tambah_item_ke_cart():
    cart = Cart()
    cart.tambah_item("Buku", 1)
    assert cart.jumlah_item() == 1

5. Implementasi TDD pada API CRUD Produk

Langkah TDD:

  • Red: Tes bahwa endpoint GET produk memberikan respons sesuai ekspektasi.
  • Green: Implementasi endpoint produk.
  • Refactor: Perbaiki kode API agar jelas dan bersih.

// Contoh Tes (Mocha & Chai)
it('Harus mendapatkan daftar produk', (done) => {
  chai.request(app)
    .get('/api/produk')
    .end((err, res) => {
      res.should.have.status(200);
      res.body.should.be.a('array');
      done();
    });
});

Kesimpulan

Implementasi TDD di dunia nyata membantu kamu memastikan setiap fitur bekerja dengan baik sejak awal, meminimalisir bug, dan membuat proses pengembangan jauh lebih efektif. Dengan konsisten menggunakan TDD, kualitas produk akhir yang kamu hasilkan pasti jauh lebih tinggi dan dapat dipercaya.

0 comments :

Post a Comment