Apa itu Gherkin dan Cara Menggunakan Gherkin untuk BDD dan Pengujian API

Ashley Goolam

Ashley Goolam

17 December 2025

Apa itu Gherkin dan Cara Menggunakan Gherkin untuk BDD dan Pengujian API

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Apakah Anda ingin menulis kasus uji yang begitu jelas dan sederhana sehingga bahkan manajer produk Anda pun dapat memahaminya? Itulah keajaiban Gherkin! Jika Anda belum mencobanya, maka Anda melewatkan salah satu cara paling efektif untuk menjembatani kesenjangan antara persyaratan bisnis dan pengujian otomatis. Mempelajari cara menggunakan Gherkin untuk pengujian bukan hanya tentang mempelajari sintaksis, melainkan tentang mempelajari bahasa yang dapat digunakan oleh seluruh tim Anda.

Panduan ini akan memandu Anda melalui semua yang perlu Anda ketahui tentang cara menggunakan Gherkin untuk pengujian, mulai dari sintaksis dasarnya hingga fitur-fitur canggih, dengan fokus khusus pada pengujian API dan bagaimana alat modern seperti Apidog dapat mengubah skenario pengujian Anda menjadi kasus uji yang dapat dieksekusi tanpa kerumitan yang biasa terjadi.

button

Apa Itu Gherkin dan Mengapa Anda Harus Peduli?

Gherkin adalah bahasa yang dapat dibaca oleh bisnis dan spesifik domain yang dirancang untuk deskripsi perilaku. Ia menggunakan sintaksis kata kunci yang sederhana untuk mendefinisikan perilaku perangkat lunak dengan cara yang dapat dipahami oleh pemangku kepentingan teknis dan non-teknis. Ketika Anda menguasai cara menggunakan Gherkin untuk pengujian, Anda membuat dokumentasi hidup yang melayani tiga tujuan: spesifikasi persyaratan, desain kasus uji, dan eksekusi uji otomatis.

gherkin

Lahir dari gerakan Behavior-Driven Development (BDD), Gherkin memecahkan masalah fundamental: kasus uji tradisional terlalu teknis untuk pemangku kepentingan bisnis atau terlalu samar untuk pengembang. Gherkin menemukan titik tengah yang tepat. Kekuatan terbesarnya adalah ia memaksa kejelasan. Jika Anda tidak dapat menjelaskan fitur dalam format Given-When-Then, Anda mungkin tidak cukup memahaminya untuk mengujinya.

Bahasa ini agnostik implementasi. Skenario Gherkin yang sama dapat mendorong pengujian Selenium untuk UI web, pengujian RestAssured untuk API, atau pengujian Appium untuk aplikasi seluler. Fleksibilitas ini menjadikan pembelajaran cara menggunakan Gherkin untuk pengujian sebagai investasi jangka panjang dalam karier.

Sintaksis Gherkin: Fondasi Pengujian yang Dapat Dibaca

Memahami cara menggunakan Gherkin untuk pengujian dimulai dengan menguasai sintaksisnya. File Gherkin menggunakan ekstensi .feature dan terdiri dari beberapa kata kunci inti:

Kata Kunci Utama

Berikut adalah contoh paling sederhana:

Feature: User login
  Sebagai pengguna terdaftar
  Saya ingin masuk ke akun saya
  Agar saya bisa mengakses dasbor saya

  Scenario: Successful login with valid credentials
    Given saya berada di halaman login
    When saya memasukkan "test@example.com" sebagai nama pengguna
    And saya memasukkan "ValidPass123" sebagai kata sandi
    And saya mengklik tombol login
    Then saya harus dialihkan ke dasbor
    And saya harus melihat pesan selamat datang

Perhatikan bagaimana ini terbaca seperti bahasa Inggris biasa. Itulah intinya. Ketika Anda belajar cara menggunakan Gherkin untuk pengujian, tujuan pertama Anda adalah kejelasan, bukan kecerdasan.

Meskipun Gherkin awalnya untuk pengujian UI, ia sangat kuat untuk pengujian API. Strukturnya sangat cocok dengan permintaan dan respons HTTP. Mari kita lihat contoh praktis cara menggunakan Gherkin untuk pengujian sebuah endpoint API:

Feature: User management API
  Sebagai klien API
  Saya ingin mengelola akun pengguna
  Agar saya bisa berintegrasi dengan sistem pengguna

  Scenario: Create a new user successfully
    Given endpoint API "/api/users"
    And saya memiliki kredensial otentikasi yang valid
    When saya mengirim permintaan POST dengan:
      | field    | value            |
      | email    | test@example.com |
      | password | ValidPass123     |
      | role     | customer         |
    Then status respons harus 201
    And respons harus berisi "userId"
    And pengguna baru harus ada di database

  Scenario: Attempt to create user with invalid email
    Given endpoint API "/api/users"
    And saya memiliki kredensial otentikasi yang valid
    When saya mengirim permintaan POST dengan:
      | field    | value         |
      | email    | invalid-email |
      | password | ValidPass123  |
    Then status respons harus 400
    And respons harus berisi "Invalid email format"

Contoh ini menunjukkan cara menggunakan Gherkin untuk pengujian API dengan tabel data untuk payload permintaan. Struktur Given-When-Then memetakan langsung ke konsep pengujian API: pengaturan, tindakan, dan penegasan.

Fitur Gherkin Lanjutan untuk Skenario Kompleks

Setelah Anda menguasai dasar-dasarnya, fitur-fitur canggih ini akan membuat fitur Gherkin Anda lebih mudah dikelola dan lebih kuat.

Background: Menghindari Pengulangan

Kata kunci Background berjalan sebelum setiap skenario dalam file fitur, menghilangkan langkah-langkah penyiapan yang duplikat.

Feature: Shopping cart API

  Background:
    Given saya memiliki token otentikasi yang valid
    And endpoint API "/api/cart"

  Scenario: Add item to empty cart
    When saya mengirim permintaan POST dengan item "123" dan kuantitas "1"
    Then keranjang harus berisi 1 item

  Scenario: Add duplicate item to cart
    Given keranjang sudah berisi item "123" dengan kuantitas "2"
    When saya mengirim permintaan POST dengan item "123" dan kuantitas "1"
    Then keranjang harus berisi item "123" dengan kuantitas "3"

Ketika Anda menjelajahi cara menggunakan Gherkin untuk pengujian dalam skala besar, Background sangat penting untuk prinsip DRY (Don’t Repeat Yourself).

Scenario Outlines: Pengujian Berbasis Data

Scenario Outlines memungkinkan Anda menjalankan skenario yang sama dengan beberapa set data, membuat cara menggunakan Gherkin untuk pengujian jauh lebih efisien:

Scenario Outline: Login with various credentials
  Given saya berada di halaman login
  When saya memasukkan "<username>" sebagai nama pengguna
  And saya memasukkan "<password>" sebagai kata sandi
  And saya mengklik tombol login
  Then saya harus melihat "<expected_result>"

  Examples:
    | username          | password     | expected_result         |
    | test@example.com  | ValidPass123 | Welcome to dashboard    |
    | invalid@email.com | ValidPass123 | Invalid credentials     |
    | test@example.com  | wrongpass    | Invalid credentials     |
    |                   | ValidPass123 | Username is required    |
    | test@example.com  |              | Password is required    |

Garis besar skenario tunggal ini mengeksekusi lima pengujian berbeda. Saat belajar cara menggunakan Gherkin untuk pengujian, ini adalah senjata rahasia Anda untuk cakupan komprehensif tanpa masalah pemeliharaan.

Tags: Mengatur Suite Pengujian Anda

Tags membantu Anda mengategorikan dan memfilter skenario:

@regression @login
Scenario: Successful login
  Given saya berada di halaman login
  When saya memasukkan kredensial yang valid
  Then saya harus masuk

@smoke @api @critical
Scenario: API health check
  Given endpoint API "/health"
  When saya mengirim permintaan GET
  Then status respons harus 200

Tags memungkinkan eksekusi selektif: jalankan hanya pengujian @smoke untuk validasi cepat, atau @regression untuk cakupan penuh.

Behavior-Driven Development (BDD) dan Gherkin

Memahami cara menggunakan Gherkin untuk pengujian berarti memahami tempat kelahirannya: BDD. BDD adalah pendekatan kolaboratif di mana pengembang, penguji, dan pemangku kepentingan bisnis mendefinisikan persyaratan bersama menggunakan skenario Gherkin.

Alur kerja terlihat seperti ini:

  1. Penemuan: Tim berkumpul untuk membahas fitur baru, mengajukan pertanyaan dan menangkap contoh
  2. Formulasi: Contoh dunia nyata ditulis sebagai skenario Gherkin
  3. Otomatisasi: Pengembang mengimplementasikan definisi langkah yang membuat skenario dapat dieksekusi
  4. Validasi: Skenario otomatis berjalan sebagai pengujian regresi

Keajaiban terjadi dalam penemuan. Ketika seorang pemilik produk berkata, "Pengguna harus dapat mengatur ulang kata sandi mereka," tim bertanya: "Apa yang terjadi jika token reset kedaluwarsa?" Percakapan ini menjadi skenario Gherkin sebelum kode apa pun ditulis.

BDD memastikan bahwa cara menggunakan Gherkin untuk pengujian selaras dengan pemberian nilai bisnis, bukan hanya verifikasi teknis.

bdd
Behavior-Driven Development

Skrip Uji Gherkin: Dari Skenario ke Eksekusi

Skenario Gherkin hanyalah teks sampai Anda menghubungkannya ke kode. Definisi langkah menjembatani kesenjangan ini. Beginilah cara menggunakan Gherkin untuk pengujian menjadi dapat dieksekusi:

// Definisi langkah Cucumber.js untuk skenario login
const { Given, When, Then } = require('@cucumber/cucumber');
const { expect } = require('chai');
const apiClient = require('./api-client');

Given('I have valid authentication credentials', async function() {
  this.authToken = await apiClient.getAuthToken('test@example.com', 'ValidPass123');
});

When('I send a POST request with:', async function(dataTable) {
  const requestData = dataTable.rowsHash();
  this.response = await apiClient.post('/api/users', requestData, this.authToken);
});

Then('the response status should be {int}', function(statusCode) {
  expect(this.response.status).to.equal(statusCode);
});

Setiap langkah Gherkin memetakan ke sebuah fungsi. Fungsi tersebut mengeksekusi logika pengujian aktual menggunakan kerangka kerja otomatisasi pilihan Anda. Pemisahan perhatian inilah mengapa cara menggunakan Gherkin untuk pengujian tetap dapat dikelola—logika bisnis di Gherkin jarang berubah sedangkan kode implementasi dapat direfaktor secara bebas.

Bagaimana Apidog Mengotomatiskan Pengujian API

Pengujian API manual adalah pemborosan waktu—membuat permintaan, mengelola otentikasi, memvalidasi respons, dan mendokumentasikan hasil untuk setiap titik akhir dengan cepat menjadi tidak berkelanjutan. Apidog menghilangkan beban ini melalui otomatisasi bertenaga AI yang mengubah spesifikasi API Anda menjadi suite pengujian lengkap dalam hitungan menit.

Cukup impor spesifikasi OpenAPI Anda dan AI Apidog (terhubung ke kunci Claude, OpenAI, atau Gemini Anda sendiri) secara otomatis menghasilkan kasus uji komprehensif di seluruh skenario positif, negatif, batas, dan keamanan. Setiap pengujian mencakup payload yang telah dikonfigurasi, kode status yang diharapkan, dan pernyataan respons. Anda meninjau dan menyempurnakan daripada menulis dari awal, beralih dari penulis tes ke kurator tes.

connect your AI to Apidog

Eksekusi terjadi melalui antarmuka visual terpadu—tidak diperlukan kode. Jalankan pengujian secara individual atau secara massal dengan satu klik, dan Apidog menangani otentikasi, manajemen data, peralihan lingkungan, dan validasi waktu nyata secara otomatis. Integrasi dengan pipeline CI/CD berarti seluruh suite Anda berjalan pada setiap build, menangkap regresi secara instan. Apa yang dulunya membutuhkan berhari-hari upaya manual kini hanya membutuhkan waktu menit, membebaskan tim Anda untuk fokus pada keputusan kualitas strategis daripada tugas-tugas berulang.

button
testing api endpoints in apidog

Praktik Terbaik untuk Menulis Tes Gherkin yang Efektif

Menguasai cara menggunakan Gherkin untuk pengujian berarti mengikuti praktik-praktik yang terbukti ini:

  1. Tulis untuk Manusia Terlebih Dahulu: Jika pemangku kepentingan non-teknis tidak dapat memahami skenario Anda, tulis ulang. Hindari jargon teknis dalam langkah-langkah Gherkin.
  2. Jaga Skenario Tetap Independen: Setiap skenario harus menyiapkan datanya sendiri dan membersihkan setelahnya. Ketergantungan menciptakan suite pengujian yang rapuh.
  3. Gunakan Deklaratif Daripada Imperatif: Tulis apa yang Anda uji, bukan bagaimana. "Ketika saya membuat pengguna" lebih baik daripada "Ketika saya mengklik tombol pengguna baru dan mengisi formulir dan mengklik kirim."
  4. Batasi Panjang Skenario: Jika sebuah skenario memiliki lebih dari 7-8 langkah, kemungkinan besar terlalu banyak yang diuji. Bagilah menjadi beberapa skenario yang lebih fokus.
  5. Beri Tag Secara Strategis: Gunakan tag untuk organisasi (@smoke, @regression, @api), bukan untuk metadata yang termasuk dalam deskripsi skenario.
  6. Pertahankan Reusabilitas Langkah: Tulis langkah-langkah generik seperti "Saya mengirim permintaan POST ke {string}" daripada "Saya mengirim permintaan POST ke /api/users". Langkah-langkah yang dapat digunakan kembali secara dramatis mengurangi pemeliharaan.

Pertanyaan yang Sering Diajukan

Q1: Apakah saya perlu tahu pemrograman untuk menulis tes Gherkin?

Ans: Tidak lagi. Meskipun Gherkin tradisional membutuhkan pengembang untuk membuat definisi langkah, alat modern seperti Apidog telah mengubah permainan. AI Apidog dapat menghasilkan skenario gaya Gherkin dari spesifikasi API Anda secara otomatis, dan antarmuka visualnya memungkinkan Anda mengeksekusinya tanpa menulis satu baris kode pun. Anda masih membutuhkan pengetahuan domain untuk meninjau dan menyempurnakan skenario, tetapi hambatan teknis pada dasarnya telah hilang untuk pengujian API.

Q2: Bisakah Apidog benar-benar menghasilkan skenario Gherkin secara otomatis?

Ans: Ya, tetapi dengan sedikit klarifikasi. Apidog menggunakan AI (terhubung ke kunci Claude, OpenAI, atau Gemini Anda sendiri) untuk menganalisis spesifikasi OpenAPI Anda dan menghasilkan kasus uji terstruktur. Meskipun tidak memiliki tombol "Ekspor ke Gherkin" satu klik, Anda dapat meminta AI untuk memformat kasus uji tersebut ke dalam sintaksis Given/When/Then. Output yang dihasilkan memetakan dengan sempurna ke struktur Gherkin karena AI sudah mengetahui titik akhir, metode, skema permintaan, dan respons yang diharapkan dari spesifikasi Anda.

Q3: Apa yang membuat spesifikasi OpenAPI yang bagus untuk menghasilkan skenario Gherkin?

Ans: Semakin kaya spesifikasi Anda, semakin baik Gherkin Anda. Sertakan deskripsi operasi yang jelas, batasan bidang terperinci (panjang min/maks, pola, enum), nilai contoh, dan respons kesalahan deskriptif. AI Apidog menggunakan detail ini untuk membuat skenario yang lebih tepat—mengubah "email: string" sederhana menjadi kasus uji spesifik untuk format yang valid, email yang hilang, format yang tidak valid, dan pelanggaran panjang maksimum.

Q4: Bagaimana Gherkin berbeda dari kasus uji API tradisional di alat seperti Postman?

Ans: Kasus uji API tradisional seringkali imperatif ("Setel header X, kirim POST ke Y, assert status Z"). Gherkin deklaratif—ia menjelaskan perilaku dalam bahasa bisnis ("Diberikan pengguna yang valid, ketika saya mendaftar, maka saya harus menerima konfirmasi"). Apidog menjembatani kedua dunia dengan memungkinkan Anda menghasilkan Gherkin yang dapat dibaca oleh bisnis sambil menyediakan mesin eksekusi teknis di bawahnya. Anda mendapatkan kejelasan tanpa mengorbankan otomatisasi.

Q5: Bagaimana jika skenario Gherkin yang dihasilkan AI tidak sesuai dengan gaya tim saya?

Ans: Di sinilah *prompting* menjadi kuat. Anda dapat menginstruksikan AI Apidog dengan pedoman spesifik: "Gunakan sintaksis Gherkin yang ketat," "Gabungkan langkah-langkah Given yang umum ke dalam bagian Background," atau "Hasilkan Scenario Outlines dengan tabel Examples." AI menyesuaikan keluarannya berdasarkan instruksi Anda, dan Anda selalu dapat mengedit hasilnya sebelum menyelesaikan. Anggap saja sebagai penguji senior yang menyusun skenario untuk Anda tinjau dan poles.

Kesimpulan

Menguasai cara menggunakan Gherkin untuk pengujian menciptakan bahasa bersama yang menjadikan kualitas sebagai olahraga tim. Ketika pengujian terbaca seperti bahasa Inggris biasa, semua orang berpartisipasi—mulai dari pengembang hingga pemilik produk. Namun terobosan sebenarnya terjadi ketika Anda menggabungkan kejelasan itu dengan otomatisasi cerdas.

Apidog menghilangkan pekerjaan manual yang membosankan yang secara tradisional membuat pengujian API menjadi hambatan. Dengan menghasilkan kasus uji komprehensif dari spesifikasi API Anda dan mengeksekusinya secara otomatis, ia mengubah pengujian dari tugas menjadi keuntungan strategis. Anda mendapatkan keterbacaan Gherkin dan kekuatan otomatisasi penuh tanpa menulis definisi langkah atau kode pemeliharaan.

Mulailah dengan mengimpor spesifikasi OpenAPI Anda dan menghasilkan suite pengujian bertenaga AI pertama Anda. Dalam hitungan menit, Anda akan memiliki pengujian yang dapat dieksekusi yang memberikan kepercayaan diri pada setiap tahap pengembangan—membuktikan bahwa kualitas bukan hanya tentang menemukan bug, tetapi tentang membangun proses di mana kualitas menjadi tak terhindarkan.

button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.

Apa itu Gherkin dan Cara Menggunakan Gherkin untuk BDD dan Pengujian API