Blibli Automation Journey — Part 1 : Introduce Gherkin language…
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.
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.
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.
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…
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…
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…
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…