Jenis-Jenis Software Testing
Dalam membuat suatu aplikasi atau website untuk digunakan oleh target pengguna, tentu dibutuhkan pengujian pada software-nya. Hal ini dilakukan oleh Quality Assurance (QA) guna untuk melakukan pengecekan apakah software dalam produk tersebut sudah layak digunakan atau masih terdapat banyak bug dan atau error. Software testing dibedakan menjadi beberapa jenis, antara lain:
- System Testing
Jenis software testing yang pertama adalah system testing dimana pengujian ini dilakukan untuk memastikan seluruh sistem yang ada pada produk sudah berfungsi dan telah memenuhi user requirement. Jenis software testing ini dilakukan pada setiap akhir dari iterasi untuk dapat mengidentifikasi isu-isu yang penting. Hal yang perlu dicatat adalah system testing ini harus dilakukan sesering mungkin.
- Unit Testing
Jenis software testing yang selanjutnya adalah unit testing dimana pengujian ini dilakukan oleh Quality Assurance atau QA untuk memastikan unit program yang akan di produksi sudah layak dipakai atau belum. Unit seperti apa yang diuji dalam unit testing ini? Unit yang diuji yaitu unit-unit terkecil yang ada dalam sebuah desain perangkat lunak. Dikarenakan dalam sebuah perangkat lunak terdapat banyak sekali unit-unit kecil, maka dari itu, untuk mengujinya biasanya akan dibuat program kecil untuk dapat menguji unit-unit perangkat lunak tersebut.
- Integration Testing
Jenis testing yang ketiga ialah integration testing yang merupakan jenis pengujian perangkat lunak dimana hal ini dilakukan untuk memastikan bahwa seluruh komponen perangkat lunak bekerja dengan baik saat digabungkan menjadi satu kesatuan dalam sistem. Integration testing ini memiliki tujuan untuk dapat menemukan dan mengatasi masalah yang mungkin muncul akibat interaksi antara komponen yang berbeda saat diintergrasikan. Dalam melakukan integration testing ini, tersapat beberapa metode antara lain top-down testing, bottom-up testing, dan bing bang testing.
- Usability Testing
Testing yang satu ini merupakan jenis testing perangkat lunak agar dapat mengevaluasi sejauh mana pengguna dapat dengan mudah menggunakan dan berinteraksdi dengan perangkat lunak. Adapun tujuan dari dilakukannya testing ini, yaitu untuk memastiksn bahwa perangkat lunak mudah digunakan serta dapat memenuhi kebutuhan pengguna. Usability testing ini akan melibatkan pengguna sungguhan untuk dapat melakukan berbagai scenario tertentu dalam lingkungan pengujian yang dikontrol. Data-data yang diperoleh pun akan digunakan untuk mengidentifikasi masalah penggunaan perangkat lunak tersebut dan memperbaikinya. Metode yang digunakan dalam usability testing juga beragam. Dalam melakukan pengujian ini, Quality Assurance atau QA memiliki tanggung jawab untuk mengevaluasi user interface, navigasi, serta kemudahan penggunaannya secara umum.
- Performance Testing
Performance testing adalah jenis pengujian perangkat lunak yang memiliki tujuan untuk mengevaluasi kemampuan perangkat lunak dalam menjalankan tugas-tugasnya dengan efektif serta efisien dalam berbagai kondisi dan situasi yang berbeda. Testing ini akan melibatkan pengujian kecepatan, responsivitas, stabilitas, dan juga skalabilitas dari perangkat lunak. Tujaun dari testing ini agar daper memastikan bahwa perangkat lunak mampu menangani beban kerja ynag tinggi dan dapat beroperasi dengan baik dalam lingkungan yang berbeda. QA pun memiliki tanggung jawab dalam testing ini, yaitu untuk mengevaluasi waktu respons, waktu loading, waktu latensi serta kinerja keseluruhan perangkat lunak.
- Smoke Testing
Kemudian terdapat jenis testing yang lainnya, yaitu smoke testing dimana ini merupakan pengujian yang dilakukan untuk memastikan bahwa perangakt lunak tersebut dalam keadaan yang stabil dan dapat berjalan dengan baik sebelum dilakukannya pengujian yang lebih lanjut. Tujuan untuk dilakukannya smoke testing ini adalah untuk mengurangi resiko terjadinya masalah yang lebih besar nantinya. Dalam smoke testing ini QA akan bertanggung jawab untuk melakkan evaluasi terhadap fungsi-fungsi kritis dan fitur-fitur utama perangkat lunak untuk memastikan bahwa perangkat lunak berjalan dengan baik dan stabil. Biasanya smoke testing ini dilakukan setiap hari atau beberapa kali per minggunya.
- Stress Testing
Jenis testing yang ketujuh adalah stress testing yang merupakan jenis pengujian perangkat lunak yang dilakukan untuk menguji kemampuan dan batas maksimum dari perangkat lunak dalam menangani beban kerja yang sangat tinggi atau situasi yang ekstrim. Stress testing ini memiliki tujuan untuk menemukan masalah dan kelemahan pada perangkat lunak yang mungkin tidak terlihat pada pengujian normal dan untuk memastikan bahwa perangkat lunak mampu menangani beban kerja yang tinggi atau beban yang tidak biasa. Dalam stress testing ini, QA memiliki tanggung jawab untuk mengevaluasi kinerja dan responsivitas perangkat lunak pada beban kerja yang tinggi dan dalam situasi-situasi yang tidak biasa. Data yang diperoleh dari stress testing digunakan untuk mengidentifikasi dan memperbaiki masalah performa yang terjadi pada perangkat lunak sebelum dirilis ke publik.
- Sanity Testing
Jenis yang selanjutnya adalah sanity testing yang merupakan jenis pengujian perangkat lunak yang dilakukan untuk memastikan bahwa perangkat lunak telah siap untuk diuji secara keseluruhan. Testing ini dilakukan setelah perubahan kecil pada perangkat lunak untuk memastikan bahwa perubahan tersebut tidak mempengaruhi fungsionalitas utama dan kinerja sistem secara keseluruhan. Tujuan dilakukannya sanity testing ini adalah untuk memastikan bahwa perangkat lunak dapat berjalan dengan baik dan tidak mengalami masalah setelah dilakukan perubahan kecil, sehingga dapat melanjutkan pengujian yang lebih mendalam. Dalam sanity testing, QA bertanggung jawab untuk memastikan bahwa perangkat lunak berfungsi dengan baik setelah dilakukan perubahan kecil dan memenuhi persyaratan dasar sebelum dilakukan pengujian lebih lanjut.
- Regression Testing
Jenis yang selanjutnya adalah regression testing yang merupakan suatu jenis pengujian perangkat lunak yang dilakukan selama proses pengembangan untuk memastikan bahwa sistem masih berfungsi dengan baik setelah adanay perubahan ataupun penambahan fitur baru. Adapun tujuan dalam regression testing ini adalah untuk menemukan bug yang mungkin muncul setelah dilakukannya perubahan pada perangkat lunak dan memastikan bahwa perubahan tersebut tidak mempengaruhi fungsionalitas atau performa sistem secara keseluruhan. Dalam regression testing, QA melakukan pengujian pada seluruh fitur atau komponen perangkat lunak untuk memastikan bahwa tidak ada kesalahan yang muncul setelah dilakukan perubahan. Regression testing dilakukan secara berkala dan dapat dilakukan dengan menggunakan otomatisasi atau secara manual, tergantung pada kebutuhan dan kompleksitas dari perangkat lunak yang diuji.
Sumber:
https://medium.com/dot-intern/jenis-jenis-software-testing-a5bf2345c79d