Mengenal Software Testing : Pengertian, Macamnya, Jenisnya, dan Cara Kerja
Software testing adalah proses menjalankan dan menguji program atau aplikasi dengan tujuan menemukan bugs agar program atau aplikasi (software) dapat di release dengan kondisi sebaik mungkin (seminimal mungkin memiliki bugs).
Lalu apa saja yang kita lakukan dalam software testing ini?
Melihat apakah software sudah sesuai dengan requirements yang diberikan oleh customer?
Apakah software dapat merespon semua jenis input dengan benar? Apakah responnya logis dan sesuai?
Apakah software sudah memadai untuk digunakan oleh pengguna?
Apakah software dapat di deploy dan dijalankan di environment yang diinginkan?
Apakah software bisa mencapai hasil-hasil yang sesuai dengan yang diinginkan oleh stakeholder?
Di dalam SDLC (Software Development Life Cycle), kesalahan dapat terjadi saat mengumpulkan requirements, mendesain software atau saat men-develop code (pemrograman). Kesalahan yang kritikal dapat menyebabkan berbagai jenis kerugian dan kerusakan. Maka penting untuk menemukan defect dan error yang terjadi pada software saat fase-fase development ini. Defect adalah anomali pada sebuah software yang disebabkan adanya error (bug). Error adalah ketidaksesuaian antara kondisi aktual dan yang diharapkan.
Selain menemukan defect dan error, dengan software testing kita juga dapat mengetahui performa software kita, seperti kecepatan, reliabilitas dan kemampuannya dalam menangani proses-proses-nya. Software yang telah diuji dengan baik memiliki nilai yang tinggi dipasaran.
Software testing dilakukan oleh software tester dan melibatkan juga developer, project lead (manager) dan end user. Software tester adalah seseorang yang memiliki kualifikasi dan keterampilan software testing. Bisa menjadi bagian dari development team dan khusus melakukan pengujian, atau sebagai pihak independen dan berada diluar development team. Sebagian besar aktivitas pengujian dilakukan oleh software tester.
Dari bentuknya, ada 2 macam software testing:
1. Static Testing (Software tidak dalam kondisi running)
- Walkthrough
- Code review (Peer review)
- Inspection
2. Dynamic Testing (Software dalam kondisi running)
- Black-box testing
- White-box testing
- Grey-box testing
Dari tingkatannya, software testing dibagi dalam:
1. Unit Testing, menguji modul terkecil dalam source code, seperti prosedur dan fungsi.
- Test Case.
- Test Suite.
2. Component Testing, menguji kumpulan prosedur atau unit yang terkait secara logika.
3. System Testing, pengujian yang dilakukan pada sistem terintegrasi yang lengkap untuk mengevaluasi kesesuaian sistem dengan persyaratan yang ditentukan.
4. Alpha Testing, salah satu jenis user acceptance testing yang dilakukan secara terbatas. Pengujian ini dilakukan dalam ruang lingkup internal yang terbatas dilakukan oleh pihak internal pengembang saja.
5. Beta Testing
Dari jenisnya, software testing dibagi menjadi:
1. Functional Testing
- Smoke Testing
- Sanity Testing
- Regression Testing
- Usability Testin
2. Non-Functional Testing
- Performance Testing
- Load Testing
- Stress Testing
- Security Testing
- SAST (Static Application Security Test)
- DAST (Dynamic Application Security Test)
Saat ini banyak sekali tools yang dapat digunakan untuk melakukan berbagai macam software testing ini. Tools-tools ini juga dapat dibuat diterapkan secara otomatis dengan konsep CI/CD pipeline, sehingga kita tidak perlu melakukan pengujian secara manual dan berulang-ulang yang tentunya akan sangat melelahkan dan sulit untuk dijaga konsistensinya. Namun butuh upaya yang besar untuk merancang automated software testing yang akurat dan luas cakupannya. Tetapi jika bisa diwujudkan, maka kedepannya akan memudahkan semua pihak, bahkan rilis software dapat dilakukan dengan segera jika ada perbaikan atau penambahan fitur-fitur.
Seperti itu pengertian tentang Software Testing. Jika Anda berminat untuk mempelajari tentang Data Science, silakan mengikuti pelatihannya bersama SUHU. Kunjungi link berikut https://suhu.co.id/pelatihan/software_testing_fundamental
Kontak kami di https://bit.ly/kontaksuhu atau ikuti media sosial kami di instagram @katasuhukita untuk mendapatkan informasi terupdatenya.