Skip to main content

Test Plan

Rencana Pengujian Sistem

Dokumen ini menjelaskan rencana pengujian (test plan) untuk membuktikan bahwa environment deployment yang diusulkan pada tugas akhir ini memiliki keunggulan dibandingkan environment konvensional. Pengujian dilakukan menggunakan real case aplikasi Node.js dengan pendekatan komparatif.


1. Tujuan Pengujian

Tujuan dari pengujian ini adalah:

  1. Membuktikan bahwa environment berbasis container dan Kubernetes lebih baik dibandingkan deployment monolith
  2. Mengukur performa deployment dan runtime aplikasi
  3. Menilai stabilitas dan konsistensi sistem
  4. Menguji kemampuan recovery saat terjadi kegagalan
  5. Menilai efisiensi operasional dan kemudahan pengelolaan

2. Objek Pengujian

Aplikasi yang diuji merupakan aplikasi Node.js yang terdiri dari tiga service:

  • Service Users: Mengelola data pengguna
  • Service Products: Mengelola data produk
  • Service Orders: Mengelola data transaksi pemesanan

Ketiga service memiliki endpoint /health untuk keperluan monitoring dan pengujian.


3. Lingkungan Pengujian

Pengujian dilakukan pada dua environment yang berbeda:

3.1 Environment A – Monolith Server

  • Aplikasi dijalankan langsung di server
  • Tidak menggunakan container
  • Deployment dilakukan secara manual
  • Tidak menggunakan CI/CD

3.2 Environment B – Cloud Native

  • Menggunakan Docker sebagai container
  • Menggunakan Gitea sebagai source code management
  • Menggunakan Gitea Runner untuk CI/CD
  • Menggunakan K3s sebagai Kubernetes orchestration

Kedua environment menggunakan:

  • Kode sumber yang sama
  • Versi Node.js yang sama
  • Konfigurasi aplikasi yang setara

4. Metode Pengujian

Metode pengujian dilakukan secara komparatif, dimana setiap skenario pengujian diterapkan pada kedua environment dan hasilnya dibandingkan.


5. Skenario Pengujian

5.1 Pengujian Waktu Deployment

Tujuan: Mengukur waktu yang dibutuhkan aplikasi untuk dapat diakses setelah terjadi perubahan kode.

Langkah Pengujian:

  1. Melakukan perubahan kecil pada salah satu service
  2. Melakukan commit dan push ke repository
  3. Mengukur waktu hingga endpoint /health dapat diakses

Metrik:

  • Waktu deployment (detik)

Ekspektasi:

  • Environment cloud-native memiliki waktu deployment lebih cepat dan konsisten

5.2 Pengujian Konsistensi Deployment

Tujuan: Menilai kestabilan proses deployment.

Langkah Pengujian:

  1. Melakukan deployment berulang sebanyak 3–5 kali
  2. Mencatat keberhasilan atau kegagalan deployment

Metrik:

  • Deployment success rate (%)

Ekspektasi:

  • Environment cloud-native memiliki tingkat keberhasilan lebih tinggi

5.3 Pengujian Recovery Sistem

Tujuan: Mengukur kemampuan sistem dalam menangani kegagalan service.

Langkah Pengujian:

  1. Menghentikan proses aplikasi (monolith) atau pod (Kubernetes)
  2. Mengamati proses pemulihan aplikasi

Metrik:

  • Waktu downtime (detik)
  • Recovery otomatis (ya/tidak)

Ekspektasi:

  • Kubernetes mampu melakukan self-healing secara otomatis

5.4 Pengujian Skalabilitas Dasar

Tujuan: Menilai kemampuan sistem menangani peningkatan beban.

Langkah Pengujian:

  1. Mengirim request secara paralel ke endpoint API
  2. Mengamati performa aplikasi

Metrik:

  • Response time
  • Error rate

Ekspektasi:

  • Environment cloud-native lebih stabil pada beban tinggi

5.5 Pengujian Efisiensi Operasional

Tujuan: Menilai kemudahan pengelolaan environment.

Parameter Penilaian:

  • Otomatisasi deployment
  • Kemudahan rollback
  • Kemudahan replikasi environment

Ekspektasi:

  • Environment cloud-native lebih efisien secara operasional

6. Hasil yang Diharapkan

Dari hasil pengujian, diharapkan dapat dibuktikan bahwa:

  1. Deployment berbasis Kubernetes lebih cepat dan konsisten
  2. Sistem lebih stabil dan memiliki mekanisme recovery otomatis
  3. Pengelolaan aplikasi menjadi lebih mudah dan terstandarisasi
  4. Environment yang diusulkan layak digunakan sebagai solusi modern deployment aplikasi

7. Kesimpulan Pengujian

Test plan ini menjadi dasar pembuktian bahwa environment deployment yang diusulkan pada tugas akhir ini memiliki keunggulan teknis dan operasional dibandingkan deployment monolith konvensional.