Mengenal Profesi Software Tester & Perannya dalam Pengembangan Aplikasi.

Missing File
Aug
09

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.

Menurut pendapat standar ANSI/IEE juga mengemukakan pendapat tentang software testing:

“Melakukan sebuah testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang diinginkan (defect/error/bugs) dan mengevaluasi fitur-fitur software tersebut.”

Hal serupa juga disampaikan Dimas, seseorang yang bekerja sebagai software tester disebuah perusahaan IT. Dalam tulisannya di Medium.com yang menjelaskan tentang apa sebenarnya itu software tester & jobdesknya apa saja?

“Menurut saya definisi software tester adalah orang atau alat atau sistem yang melakukan pengujian secara manual atau otomatis pada suatu perangkat lunak untuk mencari bug (kesalahan) pada suatu perangkat lunak.”

Nah, untuk mengetahui bagaimana cara software tester melakukan testing. Berikut adalah metode yang digunakan:

1. Manual Testing

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.

“Untuk membuat aplikasi yang diuji performanya itu lebih banyak memunculkan bug, kita sebaiknya memposisikan diri sebagai pengguna yang masih belum tahu tentang aplikasi atau sistem tersebut.” ujar Dimas, katanya jika ingin melakukan testing.

Alur Pengujian Perangkat Lunak. Sumber Foto: DTC Creative Team


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.  Automation Testing

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.

Dijelaskan dalam artikel Tech In Asia Indonesia, harga tools berlisensi yang dibutuhkan oleh automation testing cukup mahal, ada tools yang harganya jutaan rupiah, selain itu saat ini masih sedikit tester yang memiliki kemampuan testing menggunakan automation testing karena automation tester harus menguasai bahasa pemrograman.


Sedang Belajar Bahasa Pemrograman. Sumber  Foto: Unsplash.com


Untuk menjadi software tester, dibutuhkan skill menguasai bahasa pemrograman. Ini juga tergantung dari diri masing-masing, jika benar-benar ingin menjadi seorang software tester. Lalu, mengapa seorang software tester perlu untuk menguasai bahasa pemrograman? Karena seperti yang kita ketahui, automation testing menggunakan script untuk mengetahui seberapa banyak bug yang terjadi dalam sistem tersebut.

“Awal mula saya menerima jabatan ini, saya pikir ini benar-benar sesuatu hal yang baru, belum terlalu mengerti apa yang saya harus buat, tapi seiring berjalannya waktu selain dibutuhkan ketelitian memang skill bahasa pemrograman harus bagus, karena tidak selamanya kita pakai yang manual.” ungkap Dimas tentang pengalaman awalnya menjadi software tester.


Beberapa Bahasa Pemrograman. Sumber Foto: Medium.com


Adapun programming languages yang sering digunakan software tester untuk pemrograman dan pengembangan aplikasi software. Bahasa pemrograman yang sering digunakan:

1. Phyton

Mendapatkan popularitas dari beberapa tahun yang lalu, phyton adalah open source, bahasa pemrograman yang dinamis dan mudah dipelajari, user friendly dan memiliki pengkodean yang disederhanakan, terutama dengan fitur lekukan whitespace yang dibangun. Dengan demikian dianggap sebagai pilihan bahasa pemrograman yang cocok untuk pemula yang bergelut dibidang pengembangan aplikasi.

2. C++

Dikembangkan dari bahasa pemrograman C sebagai salah satu versi lanjutannya, C ++ adalah bahasa berorientasi objek yang digunakan untuk pengembangan GUI dan perangkat lunak berbasis grafik.

3. PHP

Dikembangkan secara nasional sebagai bahasa pengembangan web, PHP adalah bahasa scripting open source, sekarang digunakan untuk mengembangkan situs web yang dinamis dan membuat skrip sisi server.  Tidak hanya itu, ini juga populer karena kemudahan belajarnya, dan kemandiran platform OS.

4. JAVA

Bahasa open-source, JAVA digunakan untuk mengembangkan aplikasi sisi server dan telah banyak diminati karena aplikasi dinamisnya di bidang pengembangan aplikasi di berbagai platform seperti web, perangkat seluler dan perangkat pintar.

5. Ruby

Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.

Bahasa pemrograman yang telah disebutkan bisa menjadi “referensi” untuk kalian pelajari, karena untuk menjadi seorang software tester tidak cukup bila hanya mempelajari dan menguasai satu bahasa pemrograman saja.

Nah, setelah mengetahui apa yang diperlukan untuk menjadi software tester. Bagi kalian yang ingin mengasah skill bahasa pemrograman, ayo mulai dari sekarang bangun semangat belajar agar bisa menjadi seorang software tester profesional. Silahkan mengunjungi website DTC Academy, mengikuti informasi-informasi keren di Facebook  (@DTCAcademyID) dan Instagram (@dtcacademy) dan pantau terus halaman karir DTC untuk lowongan kerja terbaru dari kami yah! #transformknowledge #transformbusiness


Content Writer: Karmila Dewi Maskar

Editor: Dewi Reski Yusria