Blibli Automation Journey — Part 1 : Introduce Gherkin language…

Argo triwidodo
Blibli.com Tech Blog
3 min readAug 4, 2018

Automation , Ya , Siapa yang tidak mengenalnya. Sebuah konsep yang bisa mempermudah hidup manusia di segala bidang , baik bidang IT maupun Non IT. Pastinya bakalan melelahkan ketika harus melakukan pekerjaan yang berulang — ulang kali.

Di blibli sendiri , pada awalnya ( sebelum tahun 2015) saat pertama kali memulai dengan automation mengandalkan dengan pure java. Sehingga menyebabkan sangat susah untuk dikembangkan , namun sangat mudah dipelajari untuk learning curvenya , code yang standard dan logic yang sederhana karena pada saat itu system yang dibelakang blibli tidak sesulit sekarang , sehingga scenario yang di lakukan pun tidak terlalu banyak.

Source : http://wes.gte.us.es

Tahun 2016 Pertengahan , blibli mulai adopt framework baru , bernama Thuchidides , di saat inilah juga mulai adopt testing dengan metode BDD , Ya , BDD ( Behavior Driven Development ). Secara simplenya dijelaskan dengan menggunakan gambar dibawah ini.

Source : Badak Team — QA Blibl.com

Dengan menggunakan BDD , QA di blibli.com semakin tertata dalam membuat testcase tersebut. karena test case dibuat lebih simple dan lebih detail. Bagi developer , juga akan memudahkan mendevelop membangun code nya , karena developer lebih mudah dalam membaca testcase yang dibuat oleh QA.

Gherkin Language Concept

Dalam framework Thuchidides , tim QA blibli awalnya menggunakan Jbehave sebagai mapper antara gherkin language dan code java yang dibuat oleh QA. di dalam gherkin language , terdapat 3 keyword , Yaitu Given , When , Then.

Given berarti adalah kondisi awal ( atau initial condition ). Sebagai Contoh jika anda ingin memakan Bakso , maka given disini adalah initial Condition sebelum anda memakan Bakso , Semisal

“Given User on Meatball Restaurant”

“Given User on blibli Home Page”

etc…

On Meatballs Restaurant

When berarti adalah action / Tindakan yang dilakukan oleh user pada saat itu. Pada contoh user yang ingin memakan bakso , setelah berada di Restorant bakso , maka untuk mencapai kondisi “User memakan Bakso” user harus memesan Bakso , Sehingga pada Keyword When dituliskan sebagai berikut.

“When user order meatball”

“When user press Login Button”

etc…

Order Meatballs after in Restaurant

Then berarti adalah assertions atau pengecekan terhadap kondisi yang diharapkan oleh user / QA. Dalam case makan bakso , disini berarti si User setelah memesan bakso , Seharusnya , si user akan mendapatkan bakso yang enak.

“Then User Should receive a delicious meat balls​”

“Then User see Login Form”

etc…

Should Receive a Delicious Meat balls

Dengan di simpelkan penlulisan test case , maka akan lebih mudah dari sisi QA untuk membuat automation,

Seperti apa automation yang digunakan oleh blibli.

Nantikan Journey Berikutnya…

--

--