Test : Mock,Stub and Stress Testing

Claudio Yosafat
PPL SeLaw
Published in
2 min readApr 30, 2019

Selamat pagi/siang/ malam semuanya !!!
YEAY MINGGU DEPAN SPRINT REVIEW TERAKHIR HOOO HAHHHHHH dan hari ini adalah individual review terakhir :( huhu padahal harusnya masih ada 1 lagi biar bisa ambil yg lain, strategi saya jadi berubah :((.

OKAY CUKUP BERSEDIHNYA, pada kesempatan kali ini saya ingin membahas terkait TEST yang dilakukan pada sisi back-end.

Pertama kita akan membahas terkait Mock dalam suatu test. Mock merupakan suatu objek yang dipakai dalam testing untuk memastikan behavior dari objek tersebut sesuai dengan yang kita harapkan. Selanjutnyada namanya Stub yang merupakan suatu objek yang menyimpan data yang sudah didefinisikan diawal yang nantinya akan digunakan saat memanggil testing. Dengan Stub kita dapat mengisolasi data sehingga tidak akan melibatkan database sebenernya.

Django sudah membantu kita dalam proses dua hal diatas tersebut karena tiap class yang kita buat di file tests.py tidak memiliki keterhubungan satu sama lainnya, dan juga objek-objek yang dibentuk di dalam class tersebut tidak mempengaruhi database asli yang kita gunakan, sehingga hanya berguna saat proses testing saja.

Salah satu contoh testing pada Case

Contohnya code diatas, objek-objek yang ada di code di atas seperti category yang akan dimasukkan ke dalam database, tidak akan mempengaruhi database kita yang sebenernya, dan akan hilang setelah testingnya selesai. Kemudian untuk fungsi test_categories_view dan class ProbonoCategoryUnitTest tidak memiliki hubungan dengan fungsi dan class yang berada di luar mereka.

Ketika kita sudah berhasil membuat aplikasi kita, ada baiknya kita mengetahui kemampuan dari aplikasi kita dalam menerima request yang banyak karena ketika aplikasi kita deploy untuk dipakai banyak orang, maka sebisa mungkin aplikasi kita dapat menghandle request sebanyak-banyaknya. Salah satu cara untuk mengetahui kemampuan aplikasi kita dapat melakukan Stress Testing. Stress testing yang saya lakukan menggunakan tools bantuan yaitu Locust.

Codingan untuk memberitahu apa yang harus dilakukan locust
Terminal ketika menjalankan locust
Hasil dari Stress testing dengan menerima 15000 request total dimana setiap detik menerima 100 request

Dari hasil diatas kita dapat melihat kalau 50% request kita gagal ketika 100 orang mengakses bersamaan dalam tiap detiknya.

Sekian dari yang bisa saya bagikan,semoga dapat bisa berguna bagi kita semua hehe.

CHEERS !

--

--