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