Apa itu Software Quality Assurance ?
Software Quality Assurance adalah proses sistematis untuk memeriksa apakah sebuah software telah dikembangkan sesuai dengan kebutuhan yang telah ditentukan sebelumnya. Proses ini, bisa dilaksanakan oleh seorang QA Tester atau oleh seorang QA Engineer.
SQA mencakup prosedur untuk penerapan metode dan alat yang efektif, pengawasan kegiatan pengendalian kualitas seperti tinjauan teknis dan pengujian perangkat lunak, prosedur untuk manajemen perubahan, prosedur untuk memastikan kepatuhan terhadap standar, dan mekanisme pengukuran dan pelaporan. Software quality assurance berkaitan dengan memastikan bahwa perangkat lunak memiliki jumlah cacat yang kecil dan mencapai standar yang diperlukan untuk pemeliharaan, keandalan, portabilitas, dan sebagainya.
Photo by Christina @ wocintechchat.com on Unsplash |
Faktor kualitas menurut ISO 9126 meliputi enam karakteristik kualitas sebagai berikut:
- Functionality (Fungsionalitas).Kemampuan perangkat lunak untuk menyediakan fungsi sesuai kebutuhan user dan memuaskan user.
- Reliability (Kehandalan).Kemampuan perangkat lunak untuk mempertahankan tingkat kinerja tertentu performance dari software (ex: akurasi, konsistensi, kesederhanaan, toleransi kesalahan).
- Usability (Kebergunaan).Kemampuan perangkat lunak untuk dipahami, dipelajari, digunakan, dan menarik bagi pengguna.
- Efficiency (Efisiensi).Kemampuan perangkat lunak untuk memberikan kinerja yang sesuai dan relatif terhadap jumlah sumber daya yang digunakan pada saat keadaan tersebut (ex: efisiensi penyimpanan).
- Maintainability (Pemeliharaan).Kemampuan perangkat lunak untuk dimodifikasi. Modifikasi meliputi koreksi, perbaikan atau adaptasi terhadap perubahan lingkungan, persyaratan, dan spesifikasi fungsional (ex: konsistensi).
- Portability (Portabilitas).Kemampuan perangkat lunak untuk ditransfer dari satu lingkungan ke lingkungan lain atau kemampuan software beradaptasi saat digunakan di area tertentu (ex: self documentation, teratur).
Statistik Software Quality Assurance ?
Statistik dari SQA membantu untuk meningkatkan kualitas dari produk dan proses software itu sendiri. Model keandalan software memperluas pengukuran, memungkinkan data cacat yang telah dikumpulkan untuk diekstrapolasi ke dalam proyeksi tingkat kegagalan dan prediksi keandalan software.
Tugas Software Quality Assurance ?
- Memiliki tugas pokok dalam perencanaan prosedur jaminan kualitas suatu produk atau jasa
- Menafsirkan dan menerapkan standar jaminan kualitas
- Mengevaluasi kecukupan standar jaminan kualitas
- Merancang sampel prosedur dan petunjuk untuk mencatat dan melaporkan data berkualitas
- Meninjau pelaksanaan dan efisiensi kualitas dan inspeksi sistem agar berjalan sesuai rencana, melaksanakan dan memantau pengujian dan inspeksi bahan dan produk untuk memastikan kualitas produk jadi.
- Mendokumentasikan audit internal dan kegiatan jaminan kualitas lainnya
- Mengumpulkan dan menyusun data kualitas statistik
- Menganalisis data untuk mengidentifikasi area untuk perbaikan dalam sistem mutu
- Mengembangkan, merekomendasikan dan memantau tindakan perbaikan dan pencegahan
- Menyiapkan laporan untuk berkomunikasi hasil dari kegiatan kualitas
- Mengidentifikasi kebutuhan pelatihan dan mengatur intervensi pelatihan untuk memenuhi standar kualitas
- Mengkoordinasikan dan dukungan di tempat audit yang dilakukan oleh penyedia eksternal
- Mengevaluasi temuan audit dan menerapkan tindakan koreksi yang tepat
- Mengelola dan memeriksa kegiatan manajemen risiko
- Bertanggung jawab untuk sistem manajemen dokumen
- Memastikan kepatuhan berkelanjutan dengan persyaratan peraturan kualitas dan industri yang ditetapkan perusahaan
Pengujian Software
- Pengujian ManualPengujian ini biasanya dilakukan untuk mengecek aliran aplikasi, memeriksa cacat (desain atau pemrograman), pengujian di sistem operasi berbeda, serta uji migrasi dari versi aplikasi terdahulu.
- Pengujian OtomatisPengujian ini terdiri dari pengujian regresi, pengujian otomatis yang dilakukan pada malam hari, pelaporan otomatis (melalui email atau tool kolaborasi seperti slack), automated build, dan automated publish.Untuk pengujian otomatis, bisa dilakukan di berbagai sistem: Continuous Integration (CI) Jenkins, Travis CI, Circle CI, dan lain-lain. Apabila terjadi kesalahan dalam pengujian biasanya karena ada permasalahan di sisi backend, di sisi Continuous Integration (adanya pembaruan library, misalnya) atau perbaikan pada aplikasi.
QA tester maupun QA engineer harus selalu berpikiran terbuka. Dengan sikap terbuka untuk mempelajari hal-hal yang baru, diharapkan QA dapat memberikan kontribusi positif untuk menghasilkan produk software yang baik.
Dan jika anda kebetulan ternyata adalah seorang yang ingin mempelajari di bidang Software Quality Assurance bisa lajut kuliah dibidang IT loh. Admin punya rekomendasi kampus, yuk buruan cek disni : https://nurulfikri.ac.id/