Apa Itu Manual Testing?
Manual Testing adalah jenis software testing di mana kasus uji (test cases) dieksekusi secara manual oleh tester tanpa menggunakan alat otomatisasi. Tujuan utama dari manual testing adalah untuk menemukan bug, isu, dan cacat dalam aplikasi sebelum dirilis ke pengguna.
Meskipun automation testing semakin berkembang, manual testing tetap menjadi bagian penting dalam pengujian perangkat lunak. Hal ini karena tidak semua skenario dapat diotomatisasi, terutama dalam pengujian eksplorasi dan validasi pengalaman pengguna (UX testing).
Tujuan Manual Testing
Manual testing bertujuan untuk:
✅ Memastikan aplikasi berjalan sesuai dengan persyaratan fungsionalnya.
✅ Mengidentifikasi dan mendokumentasikan bug serta memastikan bug yang telah diperbaiki diuji kembali (retesting).
✅ Menyediakan umpan balik tentang kualitas perangkat lunak sebelum diproduksi.
✅ Menguji aplikasi dari perspektif pengguna untuk memastikan pengalaman terbaik.
Jenis-Jenis Manual Testing
Manual testing mencakup berbagai teknik, yang secara umum dapat dikelompokkan sebagai berikut:
1. Black Box Testing
Tes yang dilakukan tanpa mengetahui struktur internal kode program. Fokus pada validasi input dan output sesuai dengan spesifikasi.
2. White Box Testing
Pengujian yang dilakukan dengan memahami kode sumber aplikasi. Biasanya dilakukan oleh pengembang atau tester dengan pengetahuan pemrograman.
3. Unit Testing
Pengujian yang dilakukan pada komponen terkecil dari perangkat lunak, seperti fungsi atau modul.
4. Integration Testing
Memeriksa interaksi antara dua atau lebih modul dalam sistem untuk memastikan komunikasi yang benar.
5. System Testing
Mengujikan aplikasi secara menyeluruh berdasarkan persyaratan fungsional dan non-fungsional.
6. Acceptance Testing
Dilakukan sebelum rilis akhir untuk memastikan aplikasi memenuhi kebutuhan bisnis dan dapat diterima oleh pengguna akhir.
Proses Manual Testing
Berikut adalah langkah-langkah dalam melakukan manual testing:
1️⃣ Memahami Dokumen Proyek
- Mempelajari dokumen spesifikasi, requirement, atau user guide.
- Memahami fitur dan Application Under Test (AUT).
2️⃣ Menyusun Test Cases
- Menulis test cases berdasarkan skenario penggunaan aplikasi.
- Memastikan cakupan pengujian 100%.
3️⃣ Melakukan Review & Baseline Test Cases
- Memvalidasi test cases dengan tim QA atau klien.
4️⃣ Menjalankan Pengujian
- Mengeksekusi test cases secara manual.
- Mencatat hasil pengujian dan mendokumentasikan bug yang ditemukan.
5️⃣ Pelaporan & Perbaikan Bug
- Melaporkan bug kepada tim pengembang menggunakan tools seperti Jira atau Trello.
- Melakukan retesting setelah perbaikan dilakukan.
Mitos Seputar Manual Testing
❌ Mitos: “Siapa pun bisa melakukan manual testing.”
✔️ Fakta: Diperlukan pemikiran kritis, keahlian analitis, dan pemahaman produk.
❌ Mitos: “Testing memastikan aplikasi 100% bebas bug.”
✔️ Fakta: Testing hanya membantu menemukan sebanyak mungkin bug, tetapi tidak menjamin aplikasi sempurna.
❌ Mitos: “Manual testing tidak diperlukan karena ada automation testing.”
✔️ Fakta: Tidak semua skenario bisa diotomatisasi, misalnya pengujian UI/UX dan exploratory testing.
Manual Testing vs Automation Testing
Aspek | Manual Testing | Automation Testing |
---|---|---|
Metode Eksekusi | Dilakukan secara manual oleh tester | Menggunakan alat otomatisasi |
Waktu & Biaya | Lebih memakan waktu dan tenaga | Lebih cepat dan efisien untuk regresi |
Fleksibilitas | Cocok untuk pengujian eksplorasi dan ad-hoc | Hanya efektif untuk pengujian berulang |
Aplikasi | Dapat digunakan untuk semua jenis pengujian | Sebaiknya hanya untuk sistem stabil |
Repetitif | Bisa menjadi monoton jika dilakukan berulang | Menghindari tugas repetitif dengan otomatisasi |
Tools untuk Membantu Manual Testing
Meskipun manual testing tidak memerlukan alat otomatisasi, ada beberapa alat yang dapat membantu dalam pengelolaan pengujian:
🔹 Jira / Trello – Untuk manajemen bug dan tugas pengujian.
🔹 TestLink – Untuk manajemen test cases.
🔹 Postman – Untuk pengujian API secara manual.
🔹 Charles Proxy / Fiddler – Untuk menganalisis lalu lintas HTTP.
Kesimpulan
Manual testing tetap menjadi elemen penting dalam software testing meskipun otomatisasi semakin populer. Manual testing memungkinkan pengujian eksploratif, validasi UX, dan fleksibilitas dalam mengidentifikasi bug yang tidak dapat ditemukan oleh skrip otomatisasi.
Seorang tester / QA yang baik harus memiliki ketekunan, kreativitas, dan berpikir dari sudut pandang pengguna akhir (end user) .