Praktikum Topik 2.4 GIT & Version Control

Judul Praktikum

Kolaborasi QA dan Developer Mengelola Branch dan Otomatisasi Pengujian dengan GitHub dan GitHub Actions

Tujuan Praktikum

      Memahami konsep dasar versioning Git: commit, branch, merge dalam konteks pengembangan perangkat lunak kolaboratif.

      Mengelola repository GitHub dengan membuat branch fitur dan test.

      Melakukan pull request dan code review di GitHub untuk kolaborasi QA dan developer.

      Menjalankan otomatisasi pengujian (CI) menggunakan GitHub Actions pada pull request.

      Mengevaluasi hasil pengujian otomatis dan mengambil keputusan merge berdasarkan hasil tes.

Deskripsi Singkat Aktivitas

Peserta praktikum akan bekerja secara berpasangan dengan peran developer dan QA. Developer akan membuat branch fitur dan melakukan commit perubahan kode. QA membuat branch test untuk automation test terkait fitur. Setelah selesai, developer membuat pull request (PR) ke branch develop, lalu CI GitHub Actions otomatis menjalankan test automation. QA melihat hasil pengujian otomatis pada PR, memberi komentar review, lalu menyetujui PR jika semua lulus. Terakhir, PR di-merge ke develop setelah review dan pengujian selesai.

Langkah-Langkah Praktikum

No

Aktivitas

Perintah/Instruksi Teknis

Keterangan

1

Clone repository dari GitHub

git clone https://github.com/username/repo.git

Salin repo ke lokal

2

Cek branch saat ini

git branch

Pastikan berada di main atau develop

3

Buat branch fitur baru (developer)

git checkout -b feature/nama-fitur

Bekerja isolasi fitur baru

4

Lakukan commit berkala

git add .

git commit -m "Deskripsi perubahan fitur"

Simpan perubahan lokal

5

Push branch fitur ke remote

git push origin feature/nama-fitur

Upload branch ke GitHub

6

Buat branch test automation (QA)

git checkout -b test/nama-fitur

Buat branch khusus test

7

Tambah script test automation

Simpan file test di folder /tests

Sesuaikan dengan fitur

8

Commit dan push test

git add .

git commit -m "Tambah automation test untuk fitur"

git push origin test/nama-fitur

Simpan test ke remote

9

Developer buat Pull Request dari feature/ ke develop

Di GitHub, klik "New Pull Request"

Ajukan perubahan fitur

10

QA buat Pull Request dari test/ ke develop

Di GitHub, buat PR test

Ajukan test automation

11

GitHub Actions jalankan otomatisasi test

Terjadi otomatis saat PR dibuat

Lihat tab "Checks" di PR

12

QA review hasil test dan kode di PR

Komentar di GitHub PR

Catat hasil review

13

QA approve PR jika lulus

Klik "Approve"

Memberi izin merge

14

Developer merge PR ke develop

Klik "Merge pull request"

Gabungkan fitur dan test

15

Verifikasi merge sukses lokal

git checkout develop

git pull origin develop

Pastikan kode terupdate

Tabel Analisis

Aspek yang Diamati

Deskripsi

Hambatan / Error yang Ditemui

Solusi yang Dilakukan

Commit

 

 

 

Branch

 

 

 

Pull Request

 

 

 

GitHub Actions

 

 

 

 

Output yang Diharapkan

      Screenshot halaman Pull Request di GitHub yang menunjukkan:

      Status Checks (GitHub Actions) dengan hasil test pass atau fail

      Komentar review QA di kode test dan fitur

      Status merge PR sudah di-approve dan terkunci (merged)

      Log command line pada saat commit, push, dan pull

      File automation test yang ditambahkan di branch test

      Repository yang sudah terupdate di branch develop

Kriteria Keberhasilan

      Peserta berhasil membuat dan mengelola branch fitur dan test

      Peserta mampu melakukan commit dan push dengan pesan jelas

      Pull Request berhasil dibuat dan dilengkapi komentar review

      GitHub Actions berhasil menjalankan test automation saat PR

      QA memberikan persetujuan setelah tes lulus

      Merge PR ke branch develop dilakukan tanpa konflik atau berhasil menyelesaikan konflik

      Output test automation dan review dapat diverifikasi di GitHub

Petunjuk Troubleshooting

      Jika PR tidak memicu GitHub Actions:

      Cek file .github/workflows/ci.yml sudah ada dan terkonfigurasi benar

      Pastikan push branch sudah diarahkan ke remote

      Jika terjadi conflict saat merge:

      Gunakan perintah git merge --abort untuk batal merge

      Perbaiki konflik pada file yang ditandai, lalu commit otomatis merge

      Jika test automation gagal:

      Lihat log test di tab Checks untuk error yang muncul

      Perbaiki script test atau dependencies yang kurang

      Jika tidak bisa push branch:

      Pastikan akses repository sudah benar (token/SSH key)

      Update branch lokal dengan git pull untuk menghindari divergen

Estimasi Waktu

Sekitar 90 menit

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