Dalam proses pembangunan sebuah perangkat lunak, pengujian merupakan sebuah tahap setelah implementasi atau pengkodean. Pengujian perangkat lunak atau bisa disebut software testing adalah proses pengujian program dengan tujuan mencari error atau kecacatan pada sebuah program sebelum dibagikan kepada user. Jika pengujian dilakukan dengan sukses, maka akan didapatkan kesalahan yang ada dalam perangkat lunak. Manfaat lainnya dari pengujian perangkat lunak yaitu menunjukkan bahwa fungsi perangkat lunak telah bekerja sesuai dengan spesifikasi dan kebutuhan fungsi yang telah tercapai. Fitur utama dalam software testing adalah verifikasi dan validasi.
Pengujian perangkat lunak dapat dilakukan secara manual dan otomatis. Pengujian secara manual yaitu penguji menyiapkan test case secara manual dan mengoperasikannya untuk mengetahui error pada perangkat lunak yang sedang di uji. Setiap software harus melewati pengujian manual karena mampu mendeteksi bug yang tidak terdeteksi oleh pengujian otomatis. Sedangkan pengujian secara otomatis adalah teknik software testing dengan membandingkan hasil yang diinginkan dengan hasil yang sebenarnya. Pengujian perangkat lunak biasanya menggunakan bahasa scripting atau tools dengan begitu pengujian perangkat lunak dapat dengan mudah dieksekusi oleh mesin.
Tingkatan pada Software Testing
- Unit Testing: memberi beberaapa kode yang harus memenuhi syarat.
- Integration Testing: menganalisis parameter seperti persyaratan fungsional, kinerja dan keandalan yang ada pada item desain utama.
- Function Testing: pengujian dilakukan dengan memberikan input yang valid.
- System Testing: sistem ini mendeteksi segala error dalam unit perangkat lunak yang terintegrasi bersama.
- Acceptance Testing: dijalankan mengikuti prosedur tes penerimaan yang telah ditentukan untuk mengarahkan pengguna tentang data mana yang akan digunakan setelah prosedur sebelumnya.
- Regression Testing: aplikasi yang dikembangkan diuji dan menganalisis error atau penyimpangan yang ada ketika perubahan dibuat pada program baru.
Testing method
Statistic testing atau verifikasi merupakan proses saat program belum dijalankan atau kode program belum dieksekusi. Tujuannya untuk melakukan checking pada kode program, dokumen dan file. Biasanya berlangsung pada tahap pengembangan atau development karena itu disebut juga verification testing. 4 teknik uji statis:
- Inspection: tujuan utamanya untuk menemukan defects. Dilakukan oleh moderarator dengan list pengecekan yang sudah disiapkan.
- Walkthrough: teknik testing dengan melakukan meeting sehingga partisipan dapat memberikan saran atau masukan.
- Technical Reviews: teknik ini untuk memastikan pembuatan source code telah memenuhi standar yang telah ditentukan.
- Informal Reviews: dokumen direview secara informal dan tidak berdasarkan prosedur. Tujuannya untuk meningkatkan kualitas dokumen.
Dynamic Testing dilakukan saat program sedang berjalan atau kode program sudah dieksekusi. Dengan memasukkan input ke dalamnya penguji dapat melihat dan membandingka output yang akan diinginkan. Dengan begitu penguji bisa melihat perilaku software, performace,serta memonitor memori dari system.
Baca Juga : Pentingnya Quality Assurance Dalam Siklus Pembuatan Game
Testing Approach
- Black Box Testing merupakan ujicoba yang dilakukan pada interface software yang bertujuan untuk mendemonstrasikan fungsi software yang dioperasikan, apakah input diterima dengan benar dan output yang dihasilkan benar. Uji coba black box memeriksa beberapa aspek sistem tetapi memerikas sedikit mengenai struktur logika internal software.
- White Box Testing didasarkan pada pemeriksaan detail procedural. Alur logika suatu software diujicoba dengan kasus uji coba yang melakukan sekumpulan kondisi atau perulangan tertentu. White box testing akan menghasilkan program yang 100% benar, yang dibutuhkan adalah dengan mendefinisikan alur logika, membangun kasus untuk memeriksa software tersebut dan mengevaluasi hasil yang telah diperoleh.