Test driven development TDD


Test Driven Development (TDD) adalah pendekatan pengembangan perangkat lunak yang mendorong pengembang untuk menulis tes sebelum menulis kode yang sebenarnya. TDD terdiri dari siklus pendek: Tulis tes, tulis kode, dan refactor. Dalam tutorial ini, kita akan membahas TDD menggunakan bahasa pemrograman Kotlin.

1. Persyaratan Awal

Sebelum memulai, pastikan Anda telah menginstal:

  • Java Development Kit (JDK)
  • IntelliJ IDEA atau IDE lain yang mendukung Kotlin
  • Gradle atau Maven (sebagai alat manajemen proyek)

2. Membuat Proyek Kotlin

  1. Buat proyek baru di IntelliJ IDEA dan pilih Kotlin sebagai bahasa pemrograman.

  2. Import dependensi untuk testing, misalnya menggunakan JUnit. Tambahkan di file build.gradle.kts Anda:

    dependencies {
        testImplementation("org.junit.jupiter:junit-jupiter:5.8.1")
    }
  3. Sinkronkan proyek Anda.

3. Memahami Siklus TDD

Siklus TDD mengikuti pola Red-Green-Refactor:

Langkah 1: Tulis Tes (Red)

Tulis tes untuk fungsi yang ingin Anda buat. Misalnya, kita akan membuat fungsi penjumlahan sederhana.

Buat file tes di folder src/test/kotlin/:

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class CalculatorTest {
    @Test
    fun testAdd() {
        val calculator = Calculator()
        assertEquals(5, calculator.add(2, 3))
    }
}

Langkah 2: Tulis Kode (Green)

Sekarang, buat kelas Calculator dan implementasikan metode add untuk lulus tes.

Buat file Calculator.kt di src/main/kotlin/:

class Calculator {
    fun add(a: Int, b: Int): Int {
        return a + b
    }
}

Langkah 3: Refactor

Setelah tes lulus (warna hijau), Anda dapat melakukan refactor kode jika diperlukan. Dalam contoh ini, kode sudah cukup bersih, dan tidak perlu refactor lebih lanjut.

4. Menambahkan Tes Tambahan

Sekarang Anda dapat menambahkan lebih banyak tes untuk metode lain, misalnya pengurangan.

@Test
fun testSubtract() {
    val calculator = Calculator()
    assertEquals(1, calculator.subtract(3, 2))
}

Dan implementasikan metode subtract di kelas Calculator:

fun subtract(a: Int, b: Int): Int {
    return a - b
}

5. Menjalankan Tes

Anda dapat menjalankan tes dengan klik kanan pada file tes dan memilih Run 'CalculatorTest' atau menggunakan perintah Gradle dari terminal:

./gradlew test

6. Kesimpulan

Test Driven Development (TDD) adalah metode yang efektif untuk memastikan bahwa kode Anda berfungsi seperti yang diharapkan sebelum mengimplementasikan fungsionalitas. Dengan mengikuti siklus Red-Green-Refactor, Anda akan mendorong pengembangan yang lebih terstruktur dan mengurangi bug dalam perangkat lunak Anda.