Pengenalan Testing pada Custom Script

Automated Testing

Automated Testing atau Test Automation adalah teknik pengujian software yang dilakukan dengan menggunakan suatu tools pengujian terotomasi untuk menjalankan serangkaian kasus uji (test case). Sebaliknya, Manual Testing dilakukan oleh manusia yang duduk di depan komputer yang menjalankan langkah-langkah pengujian dengan hati-hati.

Automated Testing dapat dilakukan baik di sisi backend maupun frontend.

Semua penyebutan "testing" dalam panduan ini mengacu pada Automated Testing.

MBaaS: Testing pada Custom Script

Dukungan untuk testing membutuhkan @mocobaas/server-sdk minimal versi 2.8.3 atau 1.53.2

MBaaS menyediakan sarana untuk melakukan testing pada custom script. Ekstensi VS Code Moco BaaS Console menyertakan ekstensi lain, yaitu Moco BaaS Test Suite.

Ekstensi VS Code Moco BaaS

Testing di MBaaS berbasis framework mocha.
MBaaS juga menyertakan beberapa testing tools di dalam require("@mocobaas/server-sdk").testing, seperti chai dan pactum.

MBaaS mendukung jenis-jenis testing:

  • API testing
  • Unit testing
  • Functional testing (masih dalam pengembangan)

API testing

API testing bertujuan untuk menguji kebenaran input/output pada sebuah custom script melalui jalur network request (HTTP).

Syarat dan Kondisi:

  • Request berlaku sebagaimana aplikasi normal. Memiliki format request dan response yang sama. Juga akan melalui serangkaian validasi seperti User Roles dan Access Token.
  • Argumen ctx otomatis diisi oleh MBaaS.

Unit testing

Unit testing bertujuan untuk menguji kebenaran input/output pada sebuah function yang memiliki logic terisolasi (tidak terpengaruh oleh faktor MBaaS).

Syarat dan Kondisi:

  • Function yang diuji harus dapat diakses dari luar (menggunakan module.exports).
  • Argumen ctx tidak berlaku.

Untuk semua jenis testing

Syarat dan Kondisi:

  • Setiap kali tes dijalankan, ada proses start dan stop server MBaaS secara otomatis.
  • Berbagai kebutuhan MBaaS, seperti infrastruktur pendukung dan file-file konfigurasi, harus tetap ada.
  • Jika menggunakan NODE_ENV yang sama dengan yang digunakan pada pengembangan (misalnya development), harap dipastikan bahwa server sedang tidak dijalankan.
  • Semua aktivitas logging ke console disimpan ke file testing/mbaas.log.

Di Visual Studio Code, pada menu File > Preferences > Settings, berikut ini nilai default untuk ekstensi Moco BaaS Test Suite:

namedefaultdescription
moco-baas-testing.clearMbaasLogtruekosongkan file mbaas.log setiap kali tes dijalankan
moco-baas-testing.NODE_ENV"development"environment untuk testing
moco-baas-testing.setupTimeout60000timeout persiapan (dalam millisecond)
moco-baas-testing.timeout60000timeout kasus uji (dalam millisecond)