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:
- Membuktikan bahwa environment berbasis container dan Kubernetes lebih baik dibandingkan deployment monolith
- Mengukur performa deployment dan runtime aplikasi
- Menilai stabilitas dan konsistensi sistem
- Menguji kemampuan recovery saat terjadi kegagalan
- 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:
- Melakukan perubahan kecil pada salah satu service
- Melakukan commit dan push ke repository
- Mengukur waktu hingga endpoint
/healthdapat 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:
- Melakukan deployment berulang sebanyak 3–5 kali
- 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:
- Menghentikan proses aplikasi (monolith) atau pod (Kubernetes)
- 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:
- Mengirim request secara paralel ke endpoint API
- 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:
- Deployment berbasis Kubernetes lebih cepat dan konsisten
- Sistem lebih stabil dan memiliki mekanisme recovery otomatis
- Pengelolaan aplikasi menjadi lebih mudah dan terstandarisasi
- 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.