Tutorial_SQA_Untuk_Pemula__Regina_Frieska_Mufti__Software_Quality_Assurance_
Pengertian Software Quality Assurance (SQA)
Software Quality Assurance (SQA) adalah proses yang dilakukan untuk memastikan bahwa produk perangkat lunak sesuai dengan standar yang ditetapkan. Ini melibatkan pengujian perangkat lunak oleh QA Engineer dan QA Tester sebelum peluncuran ke pengguna akhir (end user). Keduanya berperan penting dalam verifikasi dan validasi produk agar berfungsi dengan baik.
Perbedaan QA Engineer dan QA Tester
QA Engineer: Bertanggung jawab untuk pengujian perangkat lunak yang lebih bersifat otomatis (automation testing). Mereka menggunakan perangkat lunak dan tools untuk melakukan pengujian, sehingga prosesnya lebih efisien dan lebih cepat dibandingkan pengujian manual. Sebagian besar tugas QA Engineer dibantu oleh skrip atau alat yang telah diprogram.
QA Tester: Melakukan pengujian perangkat lunak secara manual. Mereka memeriksa setiap fitur dan fungsi dari perangkat lunak untuk mengidentifikasi kesalahan atau bug. Pengujian ini memerlukan perhatian rinci terhadap proses dan hasil yang diharapkan dari perangkat lunak.
Proses Pengembangan dan Pengujian Perangkat Lunak
Pembuatan Software: Proses diawali dengan tim developer yang membuat perangkat lunak.
Pengujian Software: Setelah perangkat lunak selesai, SQA (baik Engineer atau Tester) melakukan pengujian. Jika ditemukan bug, maka bug tersebut dikelompokkan, dicatat, dan dilaporkan kepada developer untuk diperbaiki.
Pengecekan Ulang: Setelah perbaikan dilakukan, pengujian ulang harus dilakukan untuk memastikan semua masalah sudah teratasi dan perangkat lunak bisa digunakan tanpa error.
Peluncuran: Jika perangkat lunak lulus semua pengujian, maka produk siap untuk diluncurkan ke end user.
Pentingnya Pengujian Perangkat Lunak
Pengujian perangkat lunak sangat penting karena kesalahan atau bug dalam perangkat lunak dapat menyebabkan kerugian besar atau bahkan membahayakan pengguna. Contohnya adalah insiden dengan perusahaan mobil Nissan yang menarik kembali lebih dari 1 juta mobil disebabkan oleh kegagalan sistem perangkat lunak yang dapat menyebabkan kecelakaan. Oleh karena itu, SQA menjadi bagian krusial dalam pengembangan perangkat lunak, untuk memastikan bahwa produk yang tersedia di pasar berfungsi dengan baik dan aman.
Jenis-jenis Pengujian perangkat Lunak
User Acceptance Testing (UAT): Dilakukan pada tahap akhir sebelum perangkat lunak diserahkan kepada pengguna. Ini merupakan tahap kritikal untuk memastikan bahwa semua fitur berfungsi sesuai dengan ekspektasi pengguna.
Exploratory Testing: Pengujian dilakukan tanpa skrip yang ketat dan lebih fokus pada pengetahuan dan pengalaman tester.
Integration Testing: Menguji interaksi antara modul-modul yang berbeda dari perangkat lunak untuk memastikan mereka bekerja dengan baik bersama.
Pembuatan Test Case
Sebelum pengujian dilakukan, QA Tester perlu membuat test case yang mencakup:
Test Scenario: Merupakan deskripsi dari apa yang ingin dites.
Expected Result: Hasil yang diharapkan dari pengujian.
Test Steps: Langkah-langkah rinci yang harus diambil untuk melakukan pengujian.
Actual Result: Hasil yang diperoleh selama pengujian, apakah sesuai dengan yang diharapkan atau tidak.
Metodologi dan Alat Pengujian
Tools Pengujian: Untuk manual testing, tools yang umum digunakan adalah JIRA untuk pencatatan bug dan pelacakan masalah. Sementara untuk otomasi, banyak alat yang tersedia seperti Selenium, Apium, dan lainnya, yang memerlukan pemahaman dasar tentang pemrograman.
Komunikasi dengan Tim Developer: QA Tester perlu membangun komunikasi yang baik dengan tim pengembang untuk melaporkan bug secara efisien dan memastikan bahwa perbaikan yang diperlukan dilakukan sebelum peluncuran.
Komunitas dan Sumber Belajar
Bagi yang tertarik untuk memasuki bidang QA, disarankan untuk bergabung dengan komunitas seperti Ministry of Testing, yang menyediakan sumber belajar dan dukungan bagi para penguji perangkat lunak dari pemula hingga tingkat lanjut.