Praktikum Topik 2.1 Tipe & Proses Pengujian

Judul Praktikum

Implementasi Functional, Regression, dan Performance Testing Menggunakan GitHub Actions

Tujuan Praktikum

      Mengidentifikasi dan memahami perbedaan antara functional testing, regression testing, dan performance testing.

      Menerapkan tiga tipe pengujian tersebut secara otomatis menggunakan pipeline GitHub Actions.

      Menganalisis hasil pengujian untuk memastikan kualitas aplikasi terjaga sesuai tujuan dan risiko.

Deskripsi Singkat Aktivitas

Peserta akan melakukan praktikum penerapan functional, regression, dan performance testing pada sebuah aplikasi contoh yang disimpan di repository GitHub. Dengan memanfaatkan GitHub Actions, peserta akan mengotomatisasi jalannya berbagai tipe pengujian tersebut, mengumpulkan hasil, dan melakukan analisis untuk menentukan efektivitas pengujian. Selain itu, peserta akan mengisi tabel analisis tipe pengujian berdasarkan hasil output yang didapat.

Langkah-Langkah Praktikum

1.    Persiapan

      Fork repositori contoh di GitHub:

      Pastikan GitHub Actions diaktifkan pada repositori.

2.    Langkah 1: Functional Testing

      Dalam folder /tests/functional, terdapat script pengujian menggunakan Jest (Node.js):

      Buka file .github/workflows/functional-test.yml, implementasikan workflow sebagai berikut:

name: Functional Testing

on: [push, pull_request]

jobs:

  test:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3

        with:

          node-version: '16'

      - run: npm ci

      - run: npm test -- tests/functional

      Commit dan push perubahan. GitHub Actions akan menjalankan functional test otomatis di setiap push.

3.    Langkah 2: Regression Testing

      Regression test memakai script di /tests/regression yang memeriksa fungsi lama setelah code update.

      Buat file workflow .github/workflows/regression-test.yml dengan isi:

name: Regression Testing

on: [push, pull_request]

jobs:

  regression:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3

        with:

          node-version: '16'

      - run: npm ci

      - run: npm test -- tests/regression

      Commit dan push, kemudian amati hasil regression test.

4.    Langkah 3: Performance Testing

      Performance testing dilakukan dengan tool k6 di folder /tests/performance.

      Tambah file workflow .github/workflows/performance-test.yml seperti:

name: Performance Testing

on:

  workflow_dispatch:

jobs:

  performance:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v3

      - name: Install k6

        run: sudo apt-get install -y k6

      - name: Run Performance Test

        run: k6 run tests/performance/load-test.js

      Jalankan workflow ini secara manual (manual trigger workflow_dispatch).

5.    Langkah 4: Analisis Hasil

Setelah ketiga pengujian berhasil dijalankan, isi tabel analisis berikut berdasarkan log dan output yang ditampilkan GitHub Actions:

Jenis Pengujian

Tujuan Pengujian

Tools

Hasil Pengujian

Risiko yang Ditangani

Catatan

Functional

 

 

 

 

 

Regression

 

 

 

 

 

Performance

 

 

 

 

 

Output yang Diharapkan

      Workflow GitHub Actions muncul di tab Actions dan menampilkan status sukses/gagal untuk setiap tipe pengujian.

      Log test lengkap dengan hasil test case passed/failed.

      File log performance test berisi grafik response time dan metrik lain dari k6.

      Tabel analisis terisi berdasarkan hasil pengamatan.

      Screenshot bisa diambil dari halaman Actions di repositori GitHub.

Kriteria Keberhasilan

      Ketiga workflow pengujian dapat berjalan otomatis di GitHub Actions dengan status success (kecuali performance test bisa manual trigger).

      Semua test case functional dan regression berhasil dilewati tanpa error (atau sesuai skenario kegagalan ditentukan).

      Performance test berhasil menghasilkan laporan yang menunjukkan kestabilan aplikasi.

      Peserta mengisi tabel analisis dengan benar sesuai hasil pengujian.

Petunjuk Troubleshooting

      Jika workflow gagal, cek error log di tab Actions.

      Pastikan dependencies aplikasi dan testing sudah terinstall dengan benar (npm ci berjalan tanpa error).

      Jika k6 tidak terinstall, pastikan perintah sudo apt-get install -y k6 berhasil, atau gunakan runner dengan k6 pre-installed.

      Perhatikan versi Node.js agar sesuai dengan yang diperlukan kode.

      Untuk test gagal karena bug, diskusikan dengan tim dev untuk perbaikan sebelum melanjutkan.

Estimasi Waktu

±1.5 jam

-

Last modified: Sunday, 31 August 2025, 9:22 PM