Pada final project ini, peserta mengerjakan studi kasus Quality Assurance pada beberapa jenis aplikasi, yaitu aplikasi mobile XNote, aplikasi web OrangeHRM dan SauceDemo, serta REST API JSONPlaceholder.
Project berfokus pada proses manual testing mulai dari menyusun test case, menjalankan test scenario, menentukan expected result, membandingkannya dengan actual result, mendokumentasikan defect, membuat bug report, hingga melakukan pengujian API menggunakan Postman.
Melalui project ini, peserta berlatih melihat proses QA tidak hanya sebagai aktivitas mencari bug, tetapi sebagai proses memastikan behavior aplikasi sesuai dengan requirement dan dapat didokumentasikan secara terstruktur.
Studi Kasus Pengujian
Pengujian dilakukan pada beberapa sistem dengan karakteristik berbeda.
Mobile Application XNote
XNote digunakan sebagai studi kasus untuk pengujian aplikasi pencatatan pada Android.
Test case yang disusun mencakup beberapa area seperti:
- Membuat, mengedit, dan menghapus note
- Menambahkan dan menghapus gambar
- Menggunakan kamera
- Pencarian note
- Data persistence setelah aplikasi ditutup atau perangkat di-restart
- Permission handling
- Perubahan orientation
- Stability dan performance
- Network testing
- Offline behavior
- Boundary testing
Peserta tidak hanya menguji happy path, tetapi juga negative scenario dan kondisi tertentu yang dapat menghasilkan behavior berbeda.
Salah satu contoh adalah pengujian ketika aplikasi digunakan dalam kondisi offline. Daftar note yang sudah tersimpan masih dapat ditampilkan, tetapi isi note tidak dapat dibuka ketika salah satu note dipilih.
Expected result pada skenario tersebut adalah note yang telah tersimpan sebelumnya tetap dapat diakses tanpa koneksi internet.
Temuan tersebut kemudian dicatat sebagai failed test dan menjadi salah satu bug yang didokumentasikan.
Boundary Testing pada XNote
Peserta juga melakukan pengujian dengan memasukkan teks lebih dari 5.000 karakter.
Aplikasi tidak mengalami crash, tetapi teks yang melewati batas langsung terhapus tanpa adanya informasi kepada pengguna mengenai batas maksimal karakter.
Kondisi tersebut dinilai sebagai masalah usability dan validation karena pengguna tidak mendapatkan feedback mengenai alasan data tidak dapat dipertahankan.
Rekomendasi yang diberikan adalah menyediakan informasi batas karakter dan validation message ketika pengguna melewati limit yang ditentukan.
Web Testing pada OrangeHRM
OrangeHRM digunakan untuk melatih penyusunan functional dan negative test case pada aplikasi web.
Beberapa fitur yang diuji meliputi Login, Admin, dan PIM.
Pada Login, peserta menguji skenario seperti login menggunakan credential yang benar, field kosong, credential yang salah, akses forgot password, dan akses menuju dashboard.
Pada menu Admin, pengujian dilakukan terhadap pencarian user berdasarkan username, filtering berdasarkan role, fungsi reset, serta pencarian menggunakan username yang tidak ditemukan.
Pada PIM, peserta menguji akses menu, pencarian berdasarkan employee name, employee ID, fungsi reset, dan penggunaan employee ID yang tidak valid.
Setiap test case memiliki precondition, test data, test steps, expected result, dan status pengujian sehingga hasil testing dapat dilacak dengan lebih sistematis.
Bug Testing pada SauceDemo
SauceDemo menjadi salah satu studi kasus untuk defect investigation pada aplikasi web.
Testing dilakukan menggunakan akun problem_user dan menghasilkan dua masalah utama.
Bug pertama berkaitan dengan gambar produk yang tidak sesuai dengan nama produk pada halaman Products.
Bug kedua ditemukan pada halaman Cart, yaitu button Remove tidak berhasil menghapus produk dari keranjang.
Peserta tidak hanya mencatat bahwa fitur gagal, tetapi juga menyusun kemungkinan tindakan perbaikan.
Untuk masalah gambar, rekomendasi diarahkan pada pengecekan mapping antara product data dan image resource.
Untuk fitur Remove, fungsi penghapusan item pada cart perlu diperiksa kemudian dilakukan retesting setelah perbaikan.
Network Testing pada Mobile Application
Selain functional testing, peserta juga melakukan network testing pada XNote.
Traffic aplikasi Android di-intercept agar request yang dikirim aplikasi dapat diamati. Peserta memeriksa request seperti GET dan POST, termasuk request saat melakukan upload gambar.
Informasi seperti URL, header, body, dan response menjadi bagian yang diamati.
Pengujian ini memberikan gambaran bahwa QA pada aplikasi mobile tidak hanya berhubungan dengan interface. Behavior pada sisi network juga dapat diperiksa untuk memahami bagaimana aplikasi berkomunikasi dengan layanan backend.
API Testing dengan Postman
REST API JSONPlaceholder digunakan sebagai studi kasus API testing.
Peserta melakukan request menggunakan beberapa HTTP method, yaitu GET, POST, PUT atau PATCH, dan DELETE.
Setiap request diperiksa berdasarkan response yang diterima untuk memastikan API memberikan behavior sesuai dengan request yang dikirim.
Bagian ini melatih peserta memahami hubungan antara HTTP method, status code, response body, dan struktur data.
Pemahaman tersebut diperlukan agar QA dapat membedakan antara response yang sesuai requirement dengan response yang menunjukkan suatu masalah.
Dokumentasi Test Case dan Bug Report
Salah satu output utama final project adalah dokumentasi.
Google Spreadsheet digunakan untuk mencatat test case dan bug report, sementara Google Docs digunakan untuk membantu menyusun dokumentasi rencana dan hasil pengujian.
Bug report disusun berdasarkan informasi seperti:
- Defect yang ditemukan
- Expected result
- Actual result
- Severity
- Priority
Struktur tersebut membantu membuat bug lebih mudah dipahami dan dapat digunakan kembali dalam proses retesting maupun regression testing.
Teknologi dan Tools yang Digunakan
Beberapa tools yang digunakan dalam final project ini adalah Browser untuk web testing, perangkat Android untuk mobile application testing, Google Docs untuk dokumentasi, Google Spreadsheet untuk test case dan bug report, mitmproxy untuk intercept network request, serta Postman untuk API testing.
Project ini juga menggunakan beberapa pendekatan pengujian seperti manual testing, functional testing, negative testing, boundary testing, network testing, dan API testing.
Tantangan dalam Proses QA
Salah satu tantangan utama yang dihadapi peserta adalah menentukan test scenario yang cukup mewakili berbagai kondisi penggunaan.
Test scenario tidak cukup hanya menguji kondisi normal. Kondisi seperti input kosong, data tidak valid, offline mode, permission ditolak, karakter khusus, dan boundary juga perlu diperhitungkan.
Tantangan lainnya adalah menentukan expected result secara objektif. Expected result yang tidak jelas akan menyulitkan proses menentukan apakah actual result dapat dikategorikan sebagai Pass atau Failed.
Peserta juga berlatih melakukan defect investigation agar behavior yang berbeda tidak langsung dianggap bug sebelum dilakukan pengecekan ulang terhadap test data dan langkah pengujiannya.
Insight dan Benefit Final Project
Melalui final project ini, peserta mendapatkan pengalaman menjalankan workflow Quality Assurance pada web, mobile, network, dan API.
Peserta belajar bahwa proses QA mencakup lebih dari sekadar menemukan error. Tester perlu memahami requirement, menyusun skenario, menentukan expected result, menjalankan pengujian, menginvestigasi defect, dan mendokumentasikan hasil secara konsisten.
Studi kasus XNote dan SauceDemo juga menunjukkan bahwa sebuah fitur dapat terlihat normal pada kondisi umum tetapi menghasilkan behavior berbeda ketika diuji pada kondisi offline, batas input, atau akun tertentu.
Hasil final project ini dapat digunakan sebagai bagian dari portfolio untuk menunjukkan pengalaman dalam manual testing, test case design, bug reporting, mobile testing, web testing, network analysis, serta API testing menggunakan Postman.