QA Tester memiliki tugas utama melaksanakan pengujian terhadap perangkat atau emulator, membuat alur pengujian, serta membuat laporan hasil pengujian. Saat ingin melucurkan sebuah aplikasi yang baru saja dikembangkan, pemilik dari aplikasi tersebut membutuhkan Software Quality Assurance atau Software Tester.
Seorang tester bertanggung jawab terhadap perencanaan jaminan kualitas, tidak adanya bug (kesalahan), melakukan analisis, dan pelaporan pada saat tester sudah mengumpulkan bug yang terjadi dalam aplikasi tersebut. Jaminan kualitas perangkat lunak adalah aktivitas pelindung yang diaplikasikan pada seluruh proses perangkat lunak dan melakukan pengujian pada aplikasi itu, guna terhindar dari kegagalan pada saat dijalankan. Juga agar software tersebut dipastikan sudah berjalan dengan baik sebelum sampai ketangan customer
Cara yang mampu menemukan bug lebih banyak dari pada manual testing, karena code atau script dapat mencari lebih dalam lagi sehingga dapat menemukan bug yang tester tidak temukan. Cara ini bergantung pada script tes yang berjalan secara otomatis, fungsinya untuk membandingkan hasil yang diharapkan dengan hasil yang sebenarnya. Sehingga dapat mengetahui apakah aplikasi berjalan sesuai dengan apa yang diharapkan. Menggunakan automation testing dapat dilakukan secara berulang, ketika hasil yang diharapkan tidak sesuai maka akan terjadi bug.
Pengujian
Pengujian adalah proses yang digunakan untuk membantu mengidentifikasi kebenaran, kelengkapan dan kualitas perangkat lunak komputer yang dikembangkan.
Menurut Myers 1979
Testing merupakan proses eksekusi program ataupun sistem secara intens untuk menemukan error.
Menurut Hetzel 1983
Menurutnya testing merupakan aktivitas yang digunakan untuk dapat melakukan evaluasi suatu paramter ataupun kemampuan dari program atau sistem serta memastikan apakah sudah memenuhi kebutuhan ataupun hasil yang diharapkan.
Menurut standar ANSI/ IEEE 1059
Testing merupakan proses menganalisa sesuatu entitas aplikasi untuk mendeteksi perbandingan antara keadaan yang terdapat dengan keadaan yang diinginkan( defects/ error/ bugs) serta mengevaluasi fitur- fitur dari entitas software
Tujuan Testing
- Memastikan aplikasi berjalan sebagaimana mestinya
- Mendeteksi terjadinya error serta memvalidasi apakah sudah memenuhi keinginan user
- Melakukan pengecekan/pengetesan entitas-entitas, termasuk software,untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan
- Melakukan validasi untuk dapat melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi adalah apa yang sebenarnya.
- Mendeteksi adanya error, testing untuk mendeteksi kesalahan secara insentif, yaitu menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi .
White box and Black box Testing
White box, pengujian untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.
Black box, pengujian untuk mengetahui apakah semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan kebutuhan fungsional yang telah didefinsikan
Uji coba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
- Fungsi-fungsi yang tidak benar atau hilang
- Kesalahan interface
- Kesalahan dalam strutur data atau akses basisdata eksternal
- Inisialisasi dan kesalahan terminasi
- Validitas fungsional
- Kesensitifan sistem terhadap nilai input tertentu
- Batasan dari suatu data
Tipe Bug
Show-stopper / critical bugs : Core tidak berfungsi, program tidak mau berjalan, aplikasi stuck/hang/freezing.
Major Bugs : Program berjalan namun tidak memiliki performa yang baik atau terjadi kerusakan setelah implementasi.
Medium Bugs : Terdapat error pada database, link, dan respon prgram yang lambat
Low/minor Bugs : Munculnya bug karena typo ataupun layout error.
Pengujian Perangkat Lunak
Pengujian perangkat lunak adalah kegiatan untuk memeriksa apakah sistem perangkat lunak bebas cacat. Pengujian pada perangkat lunak ini dimaksudkan untuk mendeteksi kesalahan sehingga produk dapat diperbaiki sebelum rilis ke pengguna akhir. Pengujian perangkat lunak sangatlah penting. Hal ini untuk menghindari resiko kegagalan yang ditimbulkan oleh perangkat lunak.
Pengujian terhadap software sendiri terbagi menjadi dua jenis:
1. Pengujian Manual
Manual testing adalah langkah untuk mencari cacat atau bug pada software. Software tester lebih dikenal dengan nama penguji. Penguji ini melakukan pengecekan tidak menggunakan tools atau script, ini membuat manual testing kesannya terlihat primitif tapi jika dilihat dari tahapannya, tester terlebih dahulu menggunakan cara manual setelah itu automation.
Terkadang ada ketidaktelitian, ketika menemukan banyaknya perubahan maka harus melakukan pengecekan secara manual kembali dari awal, untuk memastikan perubahan baru tidak akan merusak aplikasi yang sudah jadi. Kadang juga terjadi adanya ketidaktelitian jika mengunakan metode manual testing maka dari itu dengan menggunakan automation testing bisa mengurangi bug yang terlewat.
Manual testing memiliki kelebihan tersendiri, diantaranya:
- Lebih murah karena jika melakukan tes aplikasi sederhana tidak perlu menggunakan tools untuk mengetahui bug.
- Tidak perlu menggunakan tools dan script untuk membantu memberikan pendapat mengenai tampilan user interface.
- Mudah mendapatkan feedback dari pemiliknya langsung tentang apa yang disukai user dan yang tidak disukai.
Manual testing memiliki beberapa kekurangan, diantaranya:
- Tidak teliti seperti automation testing, karena metode manual seperti ini tidak memerlukan script untuk mengetahui letak bugnya dimana.
- Pengecekannya dilakukan manual, misalnya menemukan banyak kesalahan maka dicek mulai dari awal lagi untuk memastikan perubahan baru tidak akan merusak aplikasi yang sudah jadi.
- Membuat tester merasa kelelahan, lagi-lagi karena pengecekan dilakukan manual maka tester akan lebih sering memeriksanya terus menerus untuk menghindari terjadinya suatu kesalahan.
2. Pengujian Otomatis
Cara yang mampu menemukan bug lebih banyak dari pada manual testing, karena code atau script dapat mencari lebih dalam lagi sehingga dapat menemukan bug yang tester tidak temukan. Cara ini bergantung pada script tes yang berjalan secara otomatis, fungsinya untuk membandingkan hasil yang diharapkan dengan hasil yang sebenarnya. Sehingga dapat mengetahui apakah aplikasi berjalan sesuai dengan apa yang diharapkan. Menggunakan automation testing dapat dilakukan secara berulang, ketika hasil yang diharapkan tidak sesuai maka akan terjadi bug.
Automation testing memiliki beberapa kelebihan, diantaranya:
- Mudah menemukan bug, karena script bisa membantu menemukan kesalahan yang tester tidak temukan.
- Tidak seperti manual testing, jika mendapatkan perubahan pada masing-masing fitur, maka tidak perlu menulis ulang script karena dapat digunakan setiap saat.
- Estimasi waktu yang digunakan cukup cepat dibandingkan dengan manual testing.
Automation testing memiliki beberapa kekurangan, diantaranya:
- Tidak memiliki feedback tentang user interface. Maka tidak akan dilakukan pengecekan terhadap UI, seperti warna, kontras, pemilihan font, dan button size.
- Biayanya cukup mahal dibandingkan dengan manual testing.
Baca Juga : Pengalaman Elvira Magang Sebagai Quality Assurance di Gamelab Indonesia dan Pentingnya Peran Quality Assurance di Perusahaan
Penutup
Itu dia penjelasan lengkap mengenai peran QA tester yang perlu kamu tahu. Kamu ingin berkarir di bidang IT, khususnya di bidang programming? Yuk ikuti kelas GRATIS "Belajar dan Berkarir Sebagai Programmer" di Gamelab. Kelas ini cocok untukmu yang ingin mengenal dunia programming dari awal. Yuk daftar segera kelasnya di sini!
Referensi :