Bahasa Gherkin: Sintaksis, Format & Contoh

โšก Ringkasan Cerdas

Gherkin adalah bahasa yang mudah dibaca oleh kalangan bisnis yang mendeskripsikan perilaku perangkat lunak tanpa detail implementasi. Bahasa ini menggunakan kata kunci Given, When, dan Then untuk mendefinisikan perilaku perangkat lunak. Cucumber Skenario pengujian dalam bahasa yang mudah dipahami, berfungsi sebagai dokumentasi yang selalu diperbarui dan kerangka dasar pengujian BDD otomatis.

  • ๐Ÿ“ Bahasa Sederhana: Gherkin menjelaskan perilaku sehingga orang yang bukan programmer pun dapat membaca dan menulis tes.
  • ๐Ÿฅ’ Cucumber: Cucumber Membaca file .feature dan menjalankan langkah-langkah Gherkin sebagai pengujian.
  • ๐Ÿ”‘ Diberikan-Ketika-Maka: Diberikan konteks yang telah ditentukan, Ketika memicu suatu tindakan, Maka menegaskan hasilnya.
  • ๐Ÿงฑ Kata kunci: Struktur Feature, Background, Scenery, And, and But menyusun setiap skenario.
  • โœ… Praktek terbaik: Jaga agar setiap skenario tetap independen dan jelaskan apa yang terjadi, bukan bagaimana caranya.
  • ๐Ÿค– Bantuan AI: Alat AI menyusun skenario Given-When-Then dari persyaratan biasa.

Bahasa Gherkin dalam Cucumber

Apa itu Bahasa Gherkin?

Ketimun adalah bahasa yang mudah dipahami oleh dunia bisnis yang membantu Anda mendeskripsikan perilaku bisnis tanpa harus membahas detail implementasi. Ini adalah bahasa khusus domain untuk mendefinisikan pengujian dalam Cucumber Format ini menggunakan bahasa sederhana untuk menjelaskan kasus penggunaan dan memungkinkan pengguna untuk menghapus detail logika dari pengujian perilaku.

Teks dalam Gherkin berfungsi sebagai dokumentasi dan kerangka dasar pengujian otomatis Anda. Format Gherkin didasarkan pada TreeTop Grammar, yang ada dalam lebih dari 37 bahasa, sehingga Anda dapat menulis Gherkin dalam lebih dari 37 bahasa lisan. Skrip ini memiliki dua tujuan utama: mendokumentasikan skenario pengguna, dan menyediakan dasar untuk menulis pengujian BDD otomatis.

Mengapa ketimun?

Tanpa format yang sama dan mudah dipahami, tim bisnis dan tim teknis mendeskripsikan persyaratan secara berbeda, yang menyebabkan kesalahpahaman. Gherkin memberi semua orang kosakata tunggal dan terstruktur yang mudah dibaca seperti bahasa Inggris biasa namun dapat dipetakan langsung ke pengujian yang dapat dieksekusi.

Sintaks Gherkin

Gherkin adalah bahasa berorientasi baris, sama seperti YAML dan PythonSetiap baris disebut langkah dan diawali dengan kata kunci. Tab atau spasi digunakan untuk indentasi. Komentar dapat ditambahkan di mana saja tetapi harus diawali dengan tanda #. Interpreter membaca setiap baris setelah menghapus kata kunci Gherkin seperti Given, When, dan Then.

Feature: Title of the Scenario
  Given [Preconditions or Initial Context]
  When [Event or Trigger]
  Then [Expected output]

Dokumen Gherkin memiliki ekstensi .feature dan hanyalah file uji dengan ekstensi deskriptif. Cucumber Membaca dokumen Gherkin dan menjalankan pengujian untuk memvalidasi bahwa perangkat lunak berperilaku sesuai dengan sintaks Gherkin.

Istilah-istilah Penting yang Digunakan dalam Gherkin

Kata kunci utamanya adalah Fitur, Latar Belakang, Skenario, Diberikan, Ketika, Maka, Dan, Tetapi, dan Garis Besar Skenario. Cucumber tidak memiliki aturan penamaan yang ketat, tetapi konvensi penamaan yang jelas akan sangat membantu.

Fitur

File tersebut harus memiliki ekstensi .feature, dan setiap file fitur hanya boleh menjelaskan satu fitur. Kata kunci Feature diawali dengan fitur: diikuti dengan spasi dan nama fitur.

Contoh

Setiap berkas fitur dapat memiliki beberapa skenario, dan setiap skenario dimulai dengan Skenario: diikuti dengan nama skenario.

Latar Belakang

Kata kunci Background menambahkan konteks pada skenario. Kata kunci ini dapat berisi langkah-langkah yang sama untuk setiap skenario; perbedaannya adalah langkah-langkah tersebut dijalankan sebelum setiap skenario.

Mengingat

Kata kunci Given menempatkan sistem dalam keadaan yang diketahui sebelum pengguna mulai berinteraksi dengannya. Kata kunci ini mendefinisikan prasyarat atau konteks:

Given I am on "/."

Ketika

Kata kunci When mendefinisikan tindakan yang dilakukan oleh pengguna:

When I perform "Sign In."

Kemudian

Kata kunci Then mendefinisikan hasil yang diamati setelah tindakan pada langkah When. Anda hanya perlu memverifikasi perubahan yang terlihat:

Then I should see "Welcome Tom."

Dan & Tapi

Anda mungkin memiliki beberapa langkah Given, When, atau Then. Kata kunci And dan But menambahkan langkah ekstra untuk meningkatkan keterbacaan:

And I enter "EmailAddress" with "tomjohn@gmail.com."
But I should see "Welcome Tom."

Given, When, Then, And, dan But semuanya adalah langkah pengujian. Interpreter tidak akan menampilkan kesalahan jika Anda menukarnya, tetapi skenario tidak akan terbaca dengan masuk akal, jadi gunakan setiap kata kunci sesuai tujuan yang dimaksud.

Contoh Gherkin

Contoh 1: Fitur login untuk situs jejaring sosial.

Feature: Login functionality of a social networking site
  Given I am a registered user
  When I enter my username
  And I enter my password
  Then I should be redirected to the home page

Gherkin menganalisis setiap langkah yang tertulis dalam file fitur, dan langkah-langkah dalam file fitur harus sesuai dengan langkah-langkah dalam file definisi langkah.

Contoh 2: Skenario autentikasi pengguna dengan latar belakang.

Feature: User Authentication

Background:
  Given the user is already registered on the website

Scenario: Successful login
  Given the user is on the login page
  When the user inputs the correct email address
  And the user inputs the correct password
  And the user clicks the Login button
  Then the user should be authenticated
  And the user should be redirected to their dashboard

Praktik Terbaik Penggunaan Gherkin

  • Setiap skenario harus dijalankan secara terpisah dan independen.
  • Setiap fitur harus dapat dieksekusi secara terpisah.
  • Informasi langkah-langkah harus ditampilkan secara terpisah.
  • Hubungkan skenario Anda dengan persyaratan Anda dan track skenario mana yang termasuk dalam setiap persyaratan.
  • Buat langkah-langkah modular yang mudah dipahami dan gabungkan skenario umum.
  • Jelaskan apa yang dilakukan sistem tersebut, bukan bagaimana cara kerjanya.

Keunggulan ketimun

  • Gherkin cukup sederhana sehingga orang yang bukan programmer pun dapat memahaminya.
  • Para programmer dapat menggunakannya sebagai dasar yang kuat untuk memulai pengujian mereka.
  • Hal ini membuat user story lebih mudah dipahami dan menargetkan kebutuhan bisnis.
  • Para eksekutif bisnis dan pengembang perangkat lunak sama-sama dapat membaca naskah yang sama.
  • Kasus uji Gherkin menghubungkan pengujian penerimaan secara langsung dengan pengujian otomatis.
  • Gaya penulisan tersebut memudahkan penggunaan kembali kode di berbagai pengujian.

Kekurangan Gherkin

  • Hal ini membutuhkan tingkat keterlibatan dan kolaborasi bisnis yang tinggi.
  • Ini mungkin tidak berfungsi dengan baik dalam setiap skenario.
  • Tes yang ditulis dengan buruk dapat meningkatkan biaya pemeliharaan tes.

Pertanyaan Umum Demo Slot

BDD adalah praktik agile di mana tim mendeskripsikan perilaku yang diharapkan dalam bahasa yang sederhana sebelum melakukan pengkodean. Skenario Gherkin menangkap perilaku tersebut sehingga anggota bisnis dan teknis memiliki pemahaman yang sama.

Gherkin adalah sintaks bahasa sederhana untuk menulis skenario. Cucumber adalah salah satu dari beberapa alat yang membaca file .feature Gherkin dan menjalankan langkah-langkahnya terhadap aplikasi Anda.

Kerangka Skenario menjalankan langkah-langkah yang sama dengan beberapa kumpulan data yang tercantum dalam tabel Contoh. Hal ini menghindari duplikasi skenario untuk setiap kumpulan nilai input.

Definisi langkah memetakan setiap langkah Gherkin ke kode yang menjalankannya. Ketika Cucumber Membaca sebuah langkah, menemukan definisi yang cocok, dan mengeksekusi metode tersebut terhadap aplikasi.

Ketiga sahabat itu adalah pemilik produk, pengembang, dan penguji yang meninjau sebuah fitur bersama-sama. Pandangan gabungan mereka menghasilkan skenario Gherkin yang lebih jelas dan lengkap daripada peran tunggal mana pun.

Selain CucumberGherkin didukung oleh Aliran Spek untuk .NET dan Behave untuk Python, di antara kerangka kerja BDD lainnya.

Ya. Asisten AI mengubah user story menjadi draf skenario Given-When-Then, menyarankan kasus-kasus khusus, dan menjaga konsistensi kata-kata, meskipun penguji tetap harus meninjau keakuratannya.

Alat AI membaca persyaratan sederhana dan mengotomatiskan draf pertama dari langkah-langkah Given-When-Then yang terstruktur. Hal ini mempercepat pembuatan dokumen, tetapi tim tetap menyempurnakan kata-kata agar sesuai dengan kriteria penerimaan yang sebenarnya.

Ringkaslah postingan ini dengan: