Pada Final Project Bootcamp QA Engineer, peserta mengerjakan beberapa jenis pengujian untuk memahami proses Quality Assurance dari penyusunan test case, eksekusi manual testing, identifikasi bug, pembuatan bug report, hingga pengujian API.
Project menggunakan beberapa aplikasi sebagai studi kasus, yaitu OrangeHRM untuk pengujian web, Dealls untuk pengujian aplikasi mobile, SauceDemo untuk eksplorasi bug pada web, serta JSONPlaceholder untuk pengujian API CRUD.
Melalui project ini, peserta tidak hanya mencari apakah sebuah fitur berjalan atau tidak, tetapi juga belajar mendokumentasikan proses pengujian sehingga hasilnya dapat dipahami dan ditindaklanjuti.
Menyusun Test Plan dan Test Case
Tahap awal project dilakukan dengan membuat test plan dan test case.
Pada OrangeHRM, peserta menentukan scope pengujian yang meliputi Login, PIM/Employee Management, Leave Management, Recruitment, serta Admin/User Management. Jenis pengujian yang digunakan mencakup functional testing, UI testing, dan negative testing.
Peserta kemudian membuat 22 test case manual dengan skenario positif maupun negatif. Beberapa contohnya adalah login menggunakan kredensial valid dan tidak valid, menambahkan employee, mencari employee, mengajukan leave, menambah vacancy, mencari user, menambah user, mengubah user, hingga menghapus user.
Setiap test case dilengkapi informasi seperti test data, feature, priority, precondition, steps, expected result, dan status. Dalam dokumentasi yang dibuat, seluruh 22 test case OrangeHRM tercatat berstatus Pass.
Pendekatan ini membantu peserta memahami bahwa proses testing sebaiknya memiliki skenario yang jelas sebelum eksekusi dilakukan.
Mobile Testing pada Aplikasi Dealls
Studi kasus utama berikutnya menggunakan Dealls Mobile Application dengan fokus pada fitur pencarian lowongan dan pelacakan status lamaran.
Peserta membuat enam skenario manual testing untuk fitur Find Jobs dan My Jobs. Dari enam pengujian tersebut, tiga skenario tercatat Pass dan tiga lainnya Fail.
Salah satu masalah ditemukan ketika peserta memilih filter Job Role React Developer. Expected result-nya adalah aplikasi hanya menampilkan pekerjaan yang relevan dengan posisi tersebut. Namun hasil aktual masih menampilkan posisi lain seperti Senior UX Writer dan Quality Assurance. Bug ini kemudian dikategorikan sebagai Major dengan priority High.
Masalah berikutnya ditemukan pada fitur Application Progress. Saat filter Applied dipilih, aplikasi justru menampilkan beberapa lamaran dengan status Rejected. Sebaliknya, filter Rejected menampilkan empty state âNo job applications yetâ. Temuan ini juga dicatat sebagai severity Major dan priority High.
Dari studi kasus tersebut, peserta belajar bahwa sebuah fitur dapat tetap terlihat berjalan dari sisi interface, namun data yang ditampilkan belum tentu sesuai dengan logika yang diharapkan.
Menulis Bug Report yang Bisa Ditindaklanjuti
Setiap bug kemudian didokumentasikan menggunakan struktur bug report yang mencakup:
- Bug ID dan judul masalah
- Environment pengujian
- Severity dan priority
- Steps to reproduce
- Expected result
- Actual result
- Screenshot atau evidence
- Console atau network information jika tersedia
Format tersebut juga digunakan ketika peserta melakukan testing pada SauceDemo.
Pada SauceDemo, ditemukan kasus ketika user menggunakan akun error_user, menambahkan produk ke cart, kemudian mencoba menggunakan tombol Remove. Expected result-nya adalah produk berhasil dihapus, sedangkan actual result menunjukkan tombol tidak bereaksi.
Dokumentasi juga mencatat error pada console berupa Failed to remove item from cart serta request dengan status 503 Service Unavailable sebagai bagian dari evidence pengujian. Bug tersebut dicatat dengan severity Minor dan priority Medium.
Bagian ini memberikan pengalaman kepada peserta bahwa menemukan bug saja belum cukup. QA juga perlu menjelaskan cara mereproduksi masalah secara konsisten sehingga developer memiliki informasi yang cukup untuk melakukan investigasi.
API Testing dengan JSONPlaceholder
Selain web dan mobile testing, peserta mengerjakan API Testing menggunakan JSONPlaceholder.
Pengujian dilakukan terhadap operasi CRUD pada resource posts, yaitu:
Create Post menggunakan method POST dan memperoleh response 201 Created.
Get Post Detail menggunakan GET untuk mengambil data berdasarkan ID dan memperoleh response 200 OK.
Update Post menggunakan PUT dengan request body baru dan memperoleh response 200 OK.
Delete Post menggunakan DELETE dan memperoleh response 200 OK dengan response body kosong.
Pada bagian ini peserta berlatih membaca request URL, HTTP method, JSON request body, tipe data, status code, dan response body.
Analisis Masalah, Bukan Hanya Menemukan Error
Final project juga meminta peserta melihat kemungkinan sumber masalah.
Pada kasus Dealls, salah satu tantangannya adalah menentukan apakah ketidaksesuaian status Applied dan Rejected berasal dari frontend yang mengirim parameter filter yang salah atau dari backend yang mengembalikan mapping data yang tidak sesuai.
Untuk masalah filter pekerjaan, peserta mengusulkan pemeriksaan pada logika filtering agar Job Role dapat mencocokkan lowongan dengan lebih tepat. Untuk status lamaran, peserta mengusulkan pemeriksaan mapping parameter atau API agar data Applied dan Rejected ditampilkan sesuai statusnya.
Pendekatan tersebut memperkenalkan peserta pada pola pikir QA: mengamati gejala, mengumpulkan evidence, mempersempit kemungkinan penyebab, kemudian mendokumentasikan temuan tanpa langsung mengasumsikan letak kesalahannya.
Teknologi dan Lingkup Pengujian
Final project ini mencakup beberapa lingkungan dan pendekatan, yaitu web application testing, mobile application testing, manual functional testing, UI testing, negative testing, API testing, test case documentation, serta bug reporting.
Aplikasi yang digunakan meliputi OrangeHRM, Dealls, SauceDemo, dan JSONPlaceholder. Pengujian dilakukan pada environment seperti Chrome di Windows 11 dan perangkat Android 13, sesuai dengan masing-masing studi kasus.
Insight dan Benefit Final Project
Melalui project ini, peserta mendapatkan pengalaman menjalankan sebagian alur kerja QA dari perencanaan pengujian hingga dokumentasi hasil.
Peserta belajar membedakan positive dan negative scenario, menentukan expected result, membandingkannya dengan actual result, memberikan severity dan priority, mengumpulkan evidence, serta menguji response API.
Yang menjadi fokus bukan banyaknya bug yang ditemukan, melainkan bagaimana proses pengujian dilakukan secara terstruktur dan dapat dikomunikasikan kepada tim lain.
Hasil akhirnya dapat digunakan sebagai portfolio awal peserta untuk menunjukkan pengalaman dalam test planning, test case design, manual web dan mobile testing, API testing, bug investigation, serta penyusunan QA documentation.