OUTSYSTEMS BDD FRAMEWORK
Apa itu BDD Framework?
BDD Framework atau Behaviour-Driven Development Framework adalah kerangka kerja otomatisasi tes di mana tes ditentukan menggunakan sintaks Gherkin. Gherkin sendiri adalah bahasa yang dapat dibaca manusia untuk menyusun dan menggambarkan perilaku yang diharapkan aplikasi. Tujuan utama kerangka BDD adalah untuk mendukung pengembangan perilaku dimana semua partisipator teknis (seperti, developers) dan non-teknis (seperti, bussiness analyst) dalam suatu proyek perangkat lunak berkolaborasi untuk menentukan pemahaman umum tentang bagaimana perangkat lunak harus berperilaku. BDD Framwork dengan Outsystems. Komponen kerangka BDD dapat digunakan baik untul aplikasi berbasis Web dan Service, berbasis mobile, serta API REST (Application Programing Interface Representational State Transfer yang merupakan “penghubung” yang memungkinkan suatu aplikasi untuk berinteraksi dengan aplikasi lainnya dan berbagi data)[1] dan SOAP (Simple Object Access Protocol yakni standar untuk bertukar pesan-pesan berbasis XML melalui jaringan komputer atau sebuah jalan untuk program yang berjalan pada suatu sistem operasi (OS) untuk berkomunikasi dengan program pada OS yang sama maupun berbeda dengan menggunakan HTTP dan XML sebagai mekanisme untuk pertukaran data)[2]. BDDFramework dapat digunakan untuk maksud dan tujuan yang berbeda, tergantung pada apa yang user butuhkan untuk konteks spesifik user. Skenario membangun Pengujian Otomatis pada aplikasi berbasis Web di Outsystem Forge
- Laying the Test Groundwork (Menetapkan Dasar Uji)
- Set up the enviromenet (Menyiapkan lingkungan uji coba)
- Understand the BDD scenario (Memahami skenario BDD)
- Translate the BDD test Scenario to Gherkin (Terjemahkan skenario tes BDD ke Bahasa Gherkin)
a. Scenario – menggambarkan skenario spesifik yang menggambarkan aturan bisnis (menambahkan produk ke troli.)b. Given – menggambarkan konteks awal skenario – prasyarat yang diperlukan yang kita butuhkan sebelum melakukan tindakan / peristiwa yang kita uji (dalam hal ini, kita harus memiliki keranjang belanja virtual dan produk tertentu untuk ditambahkan.)c. When – menjelaskan tindakan / peristiwa spesifik – dalam banyak skenario hanya ada satu langkah (misalnya, menambahkan produk ke troli). Jika Anda harus menambahkan lebih dari satu langkah di sini, Anda harus mempertimbangkan apakah Anda perlu memecah skenario menjadi dua atau lebih.d. Then – menjelaskan hasil yang diharapkan dari melakukan tindakan / peristiwa dalam sistem. Langkah-langkah ini biasanya berisi berbagai pernyataan yang memverifikasi semua yang ingin kita periksa sebagai hasil dari tes ini.
- Implementing the Test with BDD Framework (Mengimplementasi Pengujian dengan kerangka BDD)
- Create the scenario and steps with Web Blocks
Terdapat 4 kerangka yang dapat dibangun:
– BDDScenario – setiap skenario diwakili oleh blok web BDDScenario.- BDDStep – setiap kelompok langkah diwakili oleh blok web BDDStep.- FinalResult – mengembalikan statistik tentang semua skenario yang berjalan di layar web (hitung tes yang berhasil, hitung tes yang gagal, dan sebagainya.) Itu harus selalu dimasukkan di akhir.- SetupOrTeardownStep – adalah jenis langkah khusus yang dapat dimasukkan dalam skenario (sebelum atau setelah logika pengujian yang sebenarnya) untuk melakukan pengaturan / pembersihan operasi data yang berada di luar lingkup skenario dari perspektif fungsional / bisnis (misalnya, hapus data tes yang dihasilkan selama tes.)
- Implement the BDD Steps blocks as Screen Actions
- Run The Test Scenario
- Teardown the Test Data
- Running Several Tests Inside One Screen (Melakukan Beberapa Uji Coba pada Waktu Bersamaan)
[1] https://medium.com/@ahmad.fight/perbedaan-rest-dengan-restfull-api-c08025d6d59e
[2] https://id.wikipedia.org/wiki/Simple_Object_Access_Protocol