Praktikum Topik 2.3 Dasar BDD dengan Kasus Uji yang Dihasilkan AI

Judul Praktikum

Implementasi Behavior-Driven Development (BDD): Menyusun Skenario Uji AI dan Manajemen Kasus Uji Otomatis via GitHub Issues

Tujuan Praktikum

      Memahami konsep BDD dan format Gherkin secara praktis tanpa alat Cucumber.

      Menggunakan AI untuk menghasilkan skenario BDD berbentuk Given–When–Then.

      Mendokumentasikan serta mengelola skenario uji BDD pada platform GitHub secara terstruktur.

      Mengotomatisasi pelacakan dan eksekusi skenario uji menggunakan GitHub Actions.

Deskripsi Singkat Aktivitas

Peserta menyusun skenario BDD dengan bantuan AI dalam format Given–When–Then untuk sebuah fitur e-commerce. Skenario ini didokumentasikan sebagai issue di GitHub, lalu otomasi verifikasi dilakukan dengan membuat skrip uji atau simulasi sederhana menggunakan GitHub Actions. Praktikum menekankan integrasi BDD dalam workflow CI/CD.

Langkah-Langkah Praktikum

1.    Persiapan

      Buat akun GitHub (https://github.com).

      Fork atau buat repository baru dengan nama bdd-ai-github-issues.

      Pastikan sudah menginstal:

      Git (untuk commit/push lokal)

      Editor seperti VSCode/IntelliJ (untuk edit file uji)

      Akses ke AI assistant (seperti GitHub Copilot atau ChatGPT) di browser/editor

2.    Menyusun Skenario BDD dengan menggunakan AI

      Ambil user story berikut:

Sebagai pengguna, saya ingin mendapatkan diskon otomatis sebesar 10% saat checkout jika belanja saya ≥ Rp500.000 dan membayar menggunakan ShopeePay.

      Gunakan AI: Minta AI assistant untuk menghasilkan skenario BDD (Given–When–Then), contoh prompt:

Buatkan skenario Given–When–Then untuk fitur promo otomatis saat checkout minimal Rp500.000 dengan ShopeePay.

      Review & salin 3 skenario yang dihasilkan AI (minimal 1 positif & 1 negatif) ke format teks.

3.    Dokumentasi Kasus Uji ke GitHub Issues

      Buat satu Issue di GitHub untuk setiap skenario, gunakan format:

      Judul: [BDD] Promo Otomatis: [Judul Skenario Ringkas]

      Isi issue:

Feature: Promo Otomatis Saat Checkout

 

Scenario: [Penjelasan Skenario]

Given ...

When ...

Then ...

And ...

      Label: bdd, test-case, dll.

4.    Automasi Simulasi Uji di GitHub Actions

      Tambahkan file skrip Python/JavaScript di repo, misal promo_test.py, yang memverifikasi logika (contoh Python untuk diskon):

def promo_price(total, payment):

    if total >= 500_000 and payment.lower() == "shopeepay":

        return total * 0.9

    return total

assert promo_price(500_000, "ShopeePay") == 450_000

assert promo_price(499_999, "ShopeePay") == 499_999

assert promo_price(550_000, "OVO") == 550_000

      Buat file workflow GitHub Actions .github/workflows/test.yml:

name: Test Promo Logic

on: [push, pull_request]

jobs:

  test:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v2

      - name: Set up Python 3.x

        uses: actions/setup-python@v4

        with:

          python-version: '3.x'

      - name: Run Promo Test

        run: python promo_test.py

      Commit dan push semua perubahan ke repository GitHub.

Tabel Analisis

No.

Aktivitas Praktikum

Kendala/Observasi

Solusi/Perbaikan

1.

Menyusun skenario BDD dengan menggunakan AI

 

 

2.

Dokumentasi test case ke issues

 

 

3.

Mengimplementasikan skrip logika

 

 

4.

Setup GitHub Actions

 

 

5.

Automasi & Validasi hasil

 

 

 

Output yang Diharapkan

      File screenshot dari Issue GitHub berisi skenario BDD.

      Log workflow GitHub Actions yang menunjukkan hasil uji otomatis “success”.

      File skrip pengujian (promo_test.py atau serupa) di repo.

      Isian tabel analisis sesuai pengalaman peserta.

Kriteria Keberhasilan

      Skenario BDD (Given–When–Then) terdokumentasi di GitHub Issues.

      Semua kasus terpenuhi: skenario positif dan negatif ada.

      Skrip otomatisasi pengujian berjalan sukses di GitHub Actions (build status “passed”).

      Peserta dapat melakukan refleksi dan mengisi tabel analisis.

Petunjuk Troubleshooting

      Issue tidak muncul di tab: Reload halaman repo, cek permission.

      Skrip uji gagal berjalan: Cek ulang penulisan skrip, perhatikan indentasi/penamaan variabel.

      GitHub Actions error: Pastikan file workflow .yml valid dan tidak salah indentasi.

      AI tidak menghasilkan skenario relevan: Ulangi prompt dengan bahasa yang lebih eksplisit atau buat sedikit penyesuaian manual.

Estimasi Waktu

± 2–2,5 jam

Last modified: Sunday, 31 August 2025, 9:32 PM