Behavior Driven Development (BDD): Pengembangan Berbasis Perilaku
1. Pengenalan BDD
Behavior Driven Development (BDD) adalah pendekatan pengembangan perangkat lunak yang
berfokus pada perilaku atau "behavior" dari aplikasi. BDD mendorong komunikasi yang kuat
antara berbagai pihak terlibat dalam proyek, menggunakan bahasa yang mudah dipahami oleh
semua anggota tim.
2. Konsep Utama BDD
a. Cerita Pengguna (User Stories): Cerita pengguna adalah deskripsi singkat tentang
bagaimana pengguna akan menggunakan aplikasi.
• Contoh: Sebagai pengguna, saya ingin dapat mencari produk berdasarkan kategori.
b. Skrip Spesifikasi (Specification by Example): Skrip spesifikasi menggunakan contoh
konkret untuk menggambarkan perilaku sistem dari sudut pandang pengguna.
• Contoh:
3. Proses BDD
a. Kolaborasi dan Komunikasi: Tim pengembangan, tester, dan pemangku kepentingan
berkolaborasi untuk memahami dan menetapkan perilaku aplikasi.
b. Penulisan Cerita Pengguna: Cerita pengguna ditulis dalam bahasa yang dapat
dipahami oleh semua pihak terlibat, fokus pada nilai bisnis dan kebutuhan pengguna.
c. Pengujian Otomatis: Test-case ditulis berdasarkan skenario dari cerita pengguna untuk
memastikan bahwa perilaku aplikasi sesuai dengan yang diharapkan.
d. Implementasi dan Refaktorisasi: Tim pengembang menggunakan skenario BDD
sebagai panduan untuk mengimplementasikan fitur dan melakukan refaktorisasi kode jika
diperlukan.
4. Alat dan Framework untuk BDD
Contoh Alat:
• Cucumber: Alat yang mendukung BDD dengan menggunakan Gherkin language.
• SpecFlow: Alat serupa untuk pengembangan .NET.
• JBehave: Framework BDD untuk pengembangan aplikasi Java.
5. Manfaat BDD
• Keterlibatan Pemangku Kepentingan: Memastikan pemahaman yang jelas tentang
kebutuhan bisnis.
• Pengujian yang Lebih Kuat: Membantu dalam pengujian yang komprehensif
berdasarkan skenario yang telah ditentukan.
• Kode yang Lebih Mudah Dipahami: Kode yang dihasilkan lebih terstruktur dan mudah
dimengerti karena dibangun berdasarkan skenario.
Contoh 5 Test Case dalam BDD untuk Skenario Pencarian Produk Berdasarkan
Kategori:
1. TC01: Searching for a product in a specific category
2. TC02: Empty Search in a category
3. TC03: Non-existing Category Selection
Scenario: Selecting a non-existing category
Given the user is on the home page
When the user selects a category "Gadgets" which doesn't exist
Then the user should receive a message indicating the selected category does not exist
4. TC04: Incorrect Category Format
5. TC05: Multiple Search Terms in a Category
Kesimpulan
Behavior Driven Development (BDD) adalah pendekatan yang menggabungkan aspek komunikasi
yang kuat dengan pengujian perangkat lunak. Dengan menggunakan cerita pengguna, skenario,
dan bahasa Gherkin, BDD membantu tim pengembangan dalam memahami,
mengimplementasikan, dan menguji perilaku aplikasi sesuai dengan kebutuhan pengguna dan nilai
bisnis yang diinginkan. Test case dalam BDD diungkapkan dalam format yang lebih bersifat
deskriptif dan berorientasi pada perilaku, seperti yang terlihat pada contoh di atas.