Panduan Lengkap Manual Testing: Teknik, Proses, dan Tools yang Digunakan


Apa Itu Manual Testing?

Pengujian manual adalah proses pengujian perangkat lunak di mana kasus pengujian dijalankan secara manual tanpa menggunakan alat otomatis. Semua kasus uji dijalankan secara manual oleh penguji sesuai dengan perspektif end user. Hal ini memastikan bahwa aplikasi berperilaku seperti yang dijelaskan dalam dokumen persyaratan. Laporan kasus uji juga dibuat secara manual. Pengujian manual adalah salah satu proses pengujian paling dasar karena memungkinkan dalam menemukan cacat perangkat lunak yang terlihat dan tersembunyi.

Manual Testing vs Automation Testing?

Berbeda dengan manual testing, automation testing menggunakan script yang dapat digunakan kembali atau alat otomatisasi untuk menjalankan test case secara otomatis.

Keduanya, manual dan automation testing, memiliki keunggulan dan kelemahannya masing-masing. Pemilihan metode bergantung pada faktor-faktor seperti besar dan kompleksitas proyek, frekuensi pengujian, sumber daya yang tersedia, serta tujuan pengujian.

Pada kenyataannya, kombinasi antara kedua metode testing ini sering menghasilkan hasil yang paling optimal, dengan manual testing untuk aspek eksplorasi dan kegunaan, dan automation testing untuk tugas-tugas yang berulang dan memerlukan banyak sumber daya. 

Lihatlah tabel di bawah ini untuk memahami perbedaan antara kedua pengujian tersebut secara lebih lanjut:

AspekManual TestingAutomation Testing
Keterlibatan testerDilakukan oleh manusia secara manualDilakukan oleh alat secara otomatis
Pelaksanaan test caseTest case dijalankan secara manual tanpa alatTest case dijalankan oleh automation scripts
Cocok untukExploratory testing, usability testingRegression testing, performance testing
Jenis testingAd-hoc testing, project kecilTesting skala besar, task secara berulang
Intervensi manusiaMemerlukan manusia untuk menjalankan setiap test caseTidak terlalu memerlukan intervensi manusia setelah script selesai
Rentan kesalahanRentan terjadi human errorMengurangi human error, meningkatkan pengulangan
Skala projectCocok untuk project kecil atau ketika test case sering berubahCocok untuk project besar dan kompleks dengan requirement yang konsisten
EfisiensiMemakan waktu untuk pengujian berulang atau skala besarEfisien untuk tugas berulang dan pengujian regresi
Persiapan awalLebih sederhana, tidak memerlukan kemampuan scripting atau codingMemerlukan keterampilan scripting atau coding dan mungkin memakan waktu lebih lama
Daya adaptasiMenawarkan fleksibilitas lebih dalam beradaptasi dengan perubahanKurang dapat beradaptasi dengan perubahan dalam sistem
Kecepatan pelaksanaanLebih lambat daripada automation testingLebih cepat setelah script disiapkan

Jenis – Jenis Manual Testing?

Pada manual testing memiliki berbagai metode yang digunakan untuk melakukan pengujian secara manual. Setiap metode digunakan sesuai dengan kriteria pengujian. Berikut jenis – jenis pengujian manual :

1. White box

Pengujian white box dilakukan oleh pengembang yang meninjau setiap baris kode sebelum menyerahkannya kepada test engineer. Ini juga disebut pengujian white box karena kodenya terlihat oleh pengembang selama pengujian.

2. Black box

Pengujian black box dilakukan oleh test engineer dan dapat memverifikasi fungsionalitas suatu aplikasi atau perangkat lunak sesuai dengan kebutuhan klien. Dalam hal ini kode tidak akan terlihat selama pengujian. Inilah sebabnya mengapa disebut pengujian kotak hitam.

3. Gray box

Pengujian grey box merupakan kombinasi pengujian white boxdan pengujian black box. Ini dapat dilakukan oleh seseorang yang memiliki pengetahuan bahasa pemrograman dan pengujian. Selain itu, jika Anda melakukan pengujian white box dan black box pada aplikasi, hal inilah disebut dengan pengujian grey box.

Mengapa Perlu Dilakukan Manual Testing?

Manual testing sangat penting bagi QA, karena melibatkan lebih dari sekadar mendeteksi bug. Pengujian ini mencakup pemahaman dan memperjuangkan kebutuhan end user. Proses ini memerlukan keterampilan teknis dan empati, menjadikannya perpaduan antara seni dan ilmu. Menguasai manual testing sangat penting bagi profesional berpengalaman maupun pemula untuk memastikan bahwa software berfungsi dengan baik dan memberikan pengalaman user yang luar biasa.

Setiap kali sebuah software diluncurkan ke pasar dan mengalami ketidakstabilan, bug, atau masalah yang mengganggu end user saat menggunakannya, kita perlu melakukan satu putaran pengujian untuk membuat software bebas dari bug dan stabil. Ini bertujuan untuk memberikan produk yang berkualitas kepada klien. Jika aplikasi bebas dari bug, end user akan lebih mudah menggunakan sistem tersebut.

Jika seorang QA melakukan manual testing, dia dapat menguji software dari perspektif end user dan lebih mengenal produk tersebut. Hal ini membantu mereka menulis test case yang tepat untuk software dan memberikan feedback cepat mengenai software tersebut. Manual testing memungkinkan QA untuk lebih memahami kebutuhan user dan memberikan feedback yang lebih relevan, yang pada akhirnya membantu meningkatkan kualitas dan stabilitas software.

Bagaimana Proses Manual Testing?

Dalam manual testing ada beberapa tahapan, yaitu:

1. Memahami requirement

    Hal ini dimulai dengan analisis mendalam tentang apa yang harus dilakukan oleh software. Contohnya, memahami requirement fungsional dan harapan user akan menjadi acuan pengujian yang lebih terarah.

    2. Menyusun rencana pengujian

    Langkah berikutnya adalah menyusun rencana pengujian, di mana QA menuliskan strategi testing, tujuan, dan sumber daya yang diperlukan. Rencana pengujian ini berfungsi untuk road map untuk seluruh proses testing.

    3. Menulis test case

      Test case adalah skenario yang dibuat untuk menguji berbagai aspek dari software. Test case harus bersifat komprehensif, mencakup berbagai kemungkinan interaksi user, dan dirancang untuk memastikan semua fungsi diuji secara menyeluruh.

      4. Menyiapkan test environment

        Proses ini melibatkan penciptaan lingkungan pengujian yang realistis untuk memastikan hasil uji yang relevan.

        5. Menjalankan test case

          Hal ini adalah bagian utama dari proses. QA secara manual berinteraksi dengan software, menjalankan test case, dan mengamati respons serta perilaku software.

          6. Mencatat bug

            Setiap bug yang ditemukan harus didokumentasikan secara sistematis, termasuk langkah-langkah untuk menyelesaikan masalah, dampak, dan pengamatan relevan lainnya.

            7. Menganalisis hasil dan melaporkan

              Setelah proses pengujian selesai, QA menganalisis temuan dan menyusunnya menjadi laporan yang memberikan wawasan tentang kinerja software dan potensi area untuk perbaikan.

              8. Pengujian ulang dan regresi testing

                Setelah perbaikan bug, pengujian ulang sangat penting untuk memastikan masalah telah terselesaikan. Selain itu, regresi testing dilakukan untuk memastikan bahwa perubahan baru tidak mempengaruhi fitur yang sudah ada.

                Apa Saja Alat Pengujian Manual?

                Dalam pengujian manual terdapat beberapa tools yang bisa digunakan selama pengujian manual. Berikut tool – tools manual testing:

                1. LoadRunner: 

                  LoadRunner terutama digunakan untuk mendukung pengujian kinerja berbagai teknologi, pendekatan, dan lingkungan aplikasi. Hal ini memungkinkan dengan cepat mengkategorikan penyebab masalah kinerja.

                  2. Citrus: 

                    Pengujian dengan menggunakan bahasa pemrograman Java. Tools ini digunakan untuk permintaan dan respons sisi server dan sisi klien, serta validasi file XML JSON.

                    3. ZAP: 

                      Tools pemindai keamanan sumber terbuka untuk aplikasi web. tools ini ditulis dalam bahasa pemrograman JAVA.

                      4. NUnit: 

                        Nunit  adalah alat sumber terbuka dan terutama berasal dari JUnit. Semuanya ditulis dalam bahasa pemrograman C# dan cocok untuk semua bahasa .Net.

                        5. JIRA: 

                          JIRA digunakan untuk pelacakan bug, manajemen proyek, dan pelacakan masalah. Alat ini memudahkan untuk melacak semua jenis kesalahan dan cacat.

                          6. SonarQube: 

                            Tools ini digunakan untuk meningkatkan alur kerja melalui kualitas kode berkelanjutan dan keamanan kode. SonarQube menyediakan kemampuan untuk mencatat riwayat metrik dan menyediakan grafik perkembangan.

                            7. Jmeter: 

                              JMeter tools untuk menguji kinerja sumber daya statis dan dinamis serta aplikasi web dinamis. Ini semuanya dirancang untuk memungkinkan pengguna dan pengembang dalam menggunakan kode sumber untuk mengembangkan aplikasi lain. 

                              8. Bugzilla: 

                                Bugzilla adalah alat sumber terbuka yang membantu pelanggan dan klien melacak bug. Bugzilla juga dianggap sebagai alat manajemen pengujian karena  dapat dengan mudah terhubung dengan alat manajemen kasus pengujian lainnya.

                                9. Mantis: 

                                  Mantis adalah sistem pelacakan bug berbasis web. Ini digunakan untuk melacak kesalahan perangkat lunak dan dijalankan dalam bahasa pemrograman PHP.

                                  10. Tessy: 

                                    Tools yang digunakan untuk melakukan integrasi dan pengujian unit untuk perangkat lunak yang tertanam. Ini juga bisa membantu dalam mengetahui cakupan kode perangkat lunak.

                                    Build with ❤️ by Dinda Adisty & Endiening.