Arkatama

Testing Tanpa Koding dengan Behavior Driven Development 

Testing Tanpa Koding dengan Behavior Driven Development

Behavior Driven Development – Dalam sebuah perusahaan Industri yang bergerak di bidang teknologi pasti memiliki perangkat lunak atau software atau pun aplikasi yang dibuat khusus untuk membantu operasional bisnisnya. Agar software atau aplikasi perusahaan dapat terus berjalan dengan baik, maka dibutuhkan maintenance yang tepat. Bahkan sebelum meluncurkan sebuah aplikasi pun, tim development harus melakukan proses testing untuk mengetahui error dan memastikan apakah aplikasi sudah sesuai dengan ketentuan yang diharapkan. 

Dalam penerapannya, proses software testing ini dapat dilakukan dengan dua metode, yakni metode Test Driven Development (TDD) dan Behavior Driven Development (BDD). Dalam kedua metode ini, developer menuliskan skenario atau konsep tes sebelum menulis kode untuk lulus tes. Dan kedua metode ini dapat digunakan sebagai bagian dari kerangka pengujian otomatis untuk mencegah bug. Namun yang membuatnya berbeda adalah dari fokusnya. Jika melihat dari masalah yang sekarang ada, terkadang sisi pengguna dan beberapa orang yang tidak mengerti tentang teknologi masih belum bisa memahami skenario yang dibuat dengan metode TDD karena menggunakan bahasa pemrograman. Oleh karena itu Behavior Driven Development (BDD) ini dibutuhkan agar komunikasi dan kolaborasi menjadi semakin mudah. 

Artikel ini akan membahas mengenai Behavior Driven Development (BDD) atau metode testing tanpa coding.

  • Pengertian Behavior Driven Development (BDD)

Behavior Driven Development atau BDD merupakan metode testing yang berfokus pada software behavior dengan cara mengilustrasikan behaviour sistem. Behavior yang dimaksud disini adalah penulisan skenario feature file sebelum implementasi pada test script. 

Developer, teknisi testing, dan manajer produk, serta calon stakeholder lainnya seringkali terlibat dalam BDD. Mereka akan berkumpul bersama secara tim untuk bertukar pikiran tentang contoh aktual kriteria user story yang diterima. Contoh-contoh ini disediakan dalam feature file dan dijelaskan menggunakan bahasa khusus. Developer dapat membuat pengujian yang dapat dieksekusi aktual dengan mengubah feature file menjadi spesifikasi yang dapat dieksekusi.

  • Perbedaan TDD dengan BDD

Walaupun kedua metode ini dapat digunakan sebagai bagian dari kerangka pengujian otomatis untuk mencegah bug, tetapi dalam implementasinya terjadi perbedaan antara dua metode pendekatan ini. 

Test Driven Development merupakan metode yang lebih fokus pada teknisnya, yakni berpusat pada perancangan dan pengujian unit secara terisolasi dan iteratif. Developer akan menuliskan tes secara merinci tentang perilaku yang diharapkan dari fitur atau komponen tertentu dari software atau aplikasi yang sedang dikembangkan. Karena berfokus pada komponen sistem, TDD ditulis dengan menggunakan bahasa pemrograman. 

Berbeda dengan Behavior Driven Development, metode ini berfokus pada perilaku atau behaviour sistem secara menyeluruh. BDD menggunakan bahasa yang lebih deskriptif dan berorientasi pada bisnis untuk menggambarkan perilaku sistem dalam skenario yang lebih tingkat tinggi, yang disebut cerita pengguna (user stories). Hal ini membuat BDD menjadi lebih mudah untuk dipahami oleh pihak yang terkait seperti tim developer, pemimpin perusahaan, maupun pelanggan atau klien. 

Secara umum yang membedakan kedua metode ini adalah dari fokus dan penggunaan bahasanya. TDD memiliki fokus pada teknis dan komponen dari software dengan menggunakan bahasa coding atau pemrograman. Sedangkan BDD memiliki fokus pada perilaku sistem yang ada di dalam software atau aplikasi dan berorientasi pada bisnis. Selain itu BDD menggunakan bahasa yang lebih deskriptif sehingga mudah dipahami oleh semua orang. 

  • Konsep Behavior Driven Development (BDD)
Konsep Behavior Driven Development
Konsep Behavior Driven Development

Secara garis besar konsep BDD telah dijelaskan pada sebelumnya. Pada metode ini, seluruh pihak yang terlibat dalam proyek pengembangan software seperti stakeholder maupun tim developer dapat saling berkolaborasi untuk mendeskripsikan kebutuhan pengguna atau klien dan kebutuhan behavior dari sistem. Kedua kebutuhan ini dituliskan di feature file dalam bentuk deskripsi menggunakan bahasa Gherkin yang nantinya akan menjadi dasar penulisan test script bagi QA untuk pengujian dan menulis coding bagi developer untuk membangun sistem. 

Bentuk penulisan bahasa Gherkin yang digunakan untuk login dalam suatu akun adalah seperti dibawah ini. 

Bahasa Gherkin
  • Benefit Behavior Driven Development (BDD)

Keunggulan yang didapatkan ketika menerapkan Behavior Driven Development dalam pengembangan software diantaranya adalah sebagai berikut:

Meningkatkan komunikasi dan kolaborasi antar stakeholders.

Dengan menggunakan bahasa yang mudah dipahami, deskriptif, dan berorientasi pada bisnis dalam BDD, semua orang yang bersangkutan dengan proyek pengembangan software atau aplikasi, termasuk developer, pimpinan usaha, analis bisnis, dan pengguna akhir dapat dengan mudah melakukan komunikasi dan kolaborasi tim. Ini akan mengurangi terjadinya kesalahpahaman antar tim dan menyetarakan pemahaman mengenai tujuan atau fitur-fitur yang akan diimplementasikan.

Implementasi dengan orientasi pengguna yang sesuai kebutuhan bisnis.

Karena BDD berfokus pada perilaku sistem dari perspektif pengguna akhir dan kebutuhan bisnis, ini dapat memastikan bahwa pengembangan perangkat lunak difokuskan pada mencapai hasil yang diinginkan oleh pengguna akhir dan pemimpin perusahaan. Hal ini membuat implementasinya menjadi terarah untuk melakukan perbaikan pada fitur-fitur atau hal yang diperlukan saja.

Test report yang mudah dipahami.

Dalam BDD, skenario atau cerita pengguna dijelaskan dalam format yang lebih deskriptif dan dapat dibaca oleh semua orang, termasuk anggota tim teknis maupun non-teknis. Hasil tes dari skenario tersebut juga dapat ditampilkan dalam laporan yang lebih terstruktur dan mudah dipahami.

Laporan ini dapat membantu tim untuk memiliki pemahaman yang sama dan ini akan sangat membantu dalam pengambilan keputusan yang diperlukan untuk perbaikan software atau aplikasi.

Melakukan pengujian pada proses software testing memang sebaiknya dilakukan menggunakan dua perspektif, yaitu perspektif teknis dengan menggunakan TDD dan perspektif pengguna dengan menggunakan BDD. 

Arkatama sebagai Jasa Konsultan IT dan Software House Malang dapat membantu untuk mengembangkan aplikasi yang sesuai untuk bisnis Anda dengan layanan terbaik. AMD Academy juga dapat membantu Anda untuk meningkatkan skill melalui IT Training Center. Pelajari informasi lebih lengkap dengan mengunjungi website kami disini.

Content Writer: Fatihatur Rizqi Maulidiyah (DTS Batch 3)

Leave a Reply

Your email address will not be published. Required fields are marked *