Pengembangan Berbasis Perilaku - Pendahuluan
Behavior Driven Development (BDD) adalah proses pengembangan perangkat lunak yang awalnya muncul dari Test Driven Development (TDD).
Menurut Dan North, yang bertanggung jawab atas evolusi BDD, "BDD menggunakan contoh di berbagai tingkat untuk menciptakan pemahaman bersama dan memunculkan ketidakpastian guna menghadirkan perangkat lunak yang penting."
BDD menggunakan contoh untuk menggambarkan perilaku sistem yang ditulis dalam bahasa yang dapat dibaca dan dimengerti untuk semua orang yang terlibat dalam pengembangan. Contoh-contoh ini termasuk -
Dikonversi menjadi spesifikasi yang dapat dieksekusi.
Digunakan sebagai tes penerimaan.
BDD - Fitur utama
Pengembangan yang Didorong Perilaku berfokus pada -
Menyediakan proses bersama dan alat bersama yang mempromosikan komunikasi kepada pengembang perangkat lunak, analis bisnis, dan pemangku kepentingan untuk berkolaborasi dalam pengembangan perangkat lunak, dengan tujuan memberikan produk dengan nilai bisnis.
Apa yang harus dilakukan oleh sistem dan bukan pada bagaimana seharusnya diterapkan.
Memberikan keterbacaan dan visibilitas yang lebih baik.
Memverifikasi tidak hanya kerja perangkat lunak tetapi juga memenuhi harapan pelanggan.
Asal BDD
Biaya untuk memperbaiki cacat bertambah berlipat ganda jika cacat tidak terdeteksi pada waktu yang tepat dan diperbaiki saat terdeteksi. Perhatikan contoh berikut.
Hal ini menunjukkan bahwa kecuali persyaratan diperoleh dengan benar, akan mahal untuk memperbaiki cacat akibat kesalahpahaman persyaratan di tahap selanjutnya. Selanjutnya, produk akhir mungkin tidak memenuhi harapan pelanggan.
Kebutuhan saat ini adalah pendekatan pengembangan yang -
Didasarkan pada persyaratan.
Berfokus pada persyaratan selama pengembangan.
Memastikan bahwa persyaratan terpenuhi.
Pendekatan pengembangan yang dapat memenuhi persyaratan yang disebutkan di atas adalah BDD. Jadi, Perkembangan Berbasis Perilaku -
Memperoleh contoh dari berbagai perilaku yang diharapkan dari sistem.
Memungkinkan penulisan contoh dalam bahasa menggunakan istilah domain bisnis untuk memastikan pemahaman yang mudah oleh semua orang yang terlibat dalam pengembangan termasuk pelanggan.
Mendapatkan contoh yang diratifikasi dengan pelanggan dari waktu ke waktu melalui percakapan.
Berfokus pada kebutuhan pelanggan (contoh) selama pengembangan.
Menggunakan contoh sebagai tes penerimaan.
Praktek BDD
Dua praktik utama BDD adalah -
Spesifikasi dengan Contoh (SbE)
Test Driven Development (TDD)
Spesifikasi dengan Contoh
Spesifikasi dengan Contoh (SbE) menggunakan contoh dalam percakapan untuk menggambarkan aturan bisnis dan perilaku perangkat lunak yang akan dibangun.
Spesifikasi dengan Contoh memungkinkan pemilik produk, analis bisnis, penguji dan pengembang untuk menghilangkan kesalahpahaman umum tentang persyaratan bisnis.
Pengembangan Berbasis Tes
Test Driven Development, dalam konteks BDD, mengubah contoh menjadi spesifikasi yang dapat dieksekusi dan dapat dibaca manusia.
Pengembang menggunakan spesifikasi ini sebagai panduan untuk mengimplementasikan peningkatan fungsionalitas baru. Ini, menghasilkan basis kode yang ramping dan serangkaian uji regresi otomatis yang menjaga biaya pemeliharaan tetap rendah selama masa pakai perangkat lunak.
BDD tangkas
Dalam pengembangan perangkat lunak Agile, metode BDD digunakan untuk mencapai pemahaman umum tentang spesifikasi yang tertunda.
Langkah-langkah berikut dijalankan di Agile BDD -
Pengembang dan pemilik produk secara kolaboratif menulis spesifikasi yang menunggu keputusan di editor teks biasa.
Pemilik produk menentukan perilaku yang mereka harapkan dari sistem.
Para pengembang
Isi spesifikasi dengan detail perilaku berikut.
Ajukan pertanyaan berdasarkan pemahaman mereka tentang sistem.
Perilaku sistem saat ini dianggap untuk melihat apakah fitur baru akan merusak salah satu fitur yang ada.
Manifesto Agile dan BDD
The Agile Manifesto menyatakan berikut ini -
Kami menemukan cara yang lebih baik untuk mengembangkan perangkat lunak dengan melakukannya dan membantu orang lain melakukannya. Melalui pekerjaan ini, kami menjadi menghargai -
Individuals and interactions - Lebih dari Proses dan alat
Working software - Lebih dari dokumentasi Komprehensif
Customer collaboration - Lebih dari negosiasi kontrak
Responding to change - over Mengikuti rencana
Artinya, meskipun ada nilai di item di sebelah kanan, kami lebih menghargai item di sebelah kiri.
BDD menyelaraskan dirinya dengan manifesto Agile sebagai berikut -
Manifesto Agile | Penyelarasan BDD |
---|---|
Individu dan interaksi atas proses dan alat. | BDD adalah tentang melakukan percakapan. |
Bekerja perangkat lunak di atas dokumentasi yang komprehensif. | BDD berfokus untuk memudahkan pembuatan perangkat lunak yang bernilai bisnis. |
Kolaborasi pelanggan melalui negosiasi kontrak. | BDD berfokus pada skenario berdasarkan ide-ide dengan komunikasi berkelanjutan dengan pelanggan seiring perkembangan kemajuan. Itu tidak didasarkan pada janji apa pun. |
Menanggapi perubahan mengikuti rencana. | BDD berfokus pada komunikasi dan kolaborasi berkelanjutan yang memfasilitasi penyerapan perubahan. |