Jaminan kualitas perangkat lunak
(Software
Quality Assurance / SQA)
adalah aktivitas pelindung yang diaplikasikan pada seluruh proses perangkat
lunak.
SQA meliputi :
·
Pendekatan manajemen kualitas.
·
Teknologi rekayasa perangkat lunak
yang efektif (metode dan piranti).
·
Kajian teknik formal yang
diaplikasikan pada keseluruhan proses perangkat lunak.
·
Strategi pengujian multitiered (deret bertingkat).
·
Kontrol dokumentasi perangkat
lunak dan perubahan yang dibuat untuknya.
·
Prosedur untuk menjamin kesesuaian
dengan standar pengembangan perangkat lunak (bila dapat diaplikasikan).
·
Mekanisme pengukuran dan
pelaporan.
A. KONSEP KUALITAS
1. Kualitas
American Heritage Dictionary
mendefinisikan kata kualitas sebagai “sebuah karakteristik atau atribut dari
sesuatu.” Sebagai atribut dari sesuatu, kualitas mengacu pada karakteristik
yang dapat diukur, sesuatu yang dapat kita bandingkan dengan standar yang sudah
diketahui, seperti panjang, warna, sifat kelistrikan, kelunakan, dsb. Tetapi
perangkat lunak, yang sebagian besar merupakan entitas intelektual, lebih
menantang untuk dikarakterisasi daripada objek fisik.
Pengukuran
karakteristik program benar-benar ada. Properti tersebut mencakup kompleksitas
siklomatik, kohesi, jumlah function point,
baris kode, dll.
Bila kita mengamati
sebuah item dengan didasarkan pada sifat pengukurannya, ada dua jenis kualitas
yang ada, yaitu kualitas desain dan kualitas konformansi.
Kualitas desain mengacu pada
karakteristik yang ditentukan oleh desainer terhadap suatu item tertentu. Nilai
material, toleransi, dan spesifikasi kinerja, semua memberikan kontribusi
terhadap kualitas desain. Karena material dengan nilai yang lebih tinggi digunakan
dan toleransi yang lebih ketat serta tingkat kinerja yang lebih baik
ditentukan, maka kualitas desain dari suatu produk bertambah, bila produk
dihasilkan sesuai dengan spesifikasi yang ditentukan.
Kualitas konformansi adalah
tingkat dimana spesifikasi desain terus diikuti selama pembuatan. Semakin
tinggi tingkat konformansi, semakin tinggi tingkat kualitas konformansi.
2. Kontrol Kualitas
Kontrol kualitas
merupakan serangkaian pemeriksaan, kajian, dan pengujian yang digunakan pada
keseluruhan siklus pengembangan untuk memastikan bahwa setiap produk memenuhi
persyaratan yang ditetapkan.
Kontrol kualitas
mencakup loop (kalang) umpan balik
pada proses yang menciptakan produk kerja. Kombinasi pengukuran dan umpan balik
memungkinkan kita memperbaiki proses bila produk kerja yang diciptakan gagal
memenuhi spesifikasi mereka. Pendekatan tersebuut memandang kontrol kualitas
sebagai bagian dari proses pemanufakturan.
3. Jaminan Kualitas
Jaminan kualitas
terdiri atas fungsi auditing dan pelaporan manajemen.
Tujuan jaminan
kualitas untuk memberikan data yang diperlukan oleh manajemen untuk
menginformasikan masalah kualitas produk, sehingga dapat memberikan kepastian
dan konfidensi bahwa kualitas produk dapat memenuhi sasaran.
4. Biaya Kualitas
Biaya kualitas
menyangkut semua biaya yang diadakan untuk mengejar kualitas atau untuk
menampilkan kualitas yang berhubungan dengan aktivitas. Studi tentang biaya
kualitas dilakukan untuk memberikan garis dasar bagi biaya kualitas yang sedang
digunakan, untuk mengidentifikasi kemungkinan pengurangan biaya kualitas serta
memberikan basis perbandingan yang ternormalisasi.
Biaya kualitas dapat dibagi ke
dalam biaya-biaya yang dihubungkan dengan pencegahan, penilaian, dan kegagalan.
Biaya pencegahan meliputi :
·
Perencanaan kualitas
·
Kajian teknis formal
·
Perlengkapan pengujian
·
Pelatihan
Biaya penilaian meliputi
aktivitas untuk memperoleh wawasan mengenai kondisi produk “pertama kali” pada
masing-masing proses.
Contoh biaya penilaian meliputi :
·
Inspeksi in-proses dan interproses
·
Pemeliharaan dan kalibrasi
peralatan
·
Pengujian
Biaya kegagalan adalah biaya
yang akan hilang bila tidak ada cacat yang muncul sebelum produk disampaikan
kepada pelanggan. Biaya kegagalan dapat dibagi lagi ke dalam biaya kegagalan internal dan eksternal.
Biaya kegagalan internal adalah
biaya yang diadakan bila kita mendeteksi suatu kesalahan dalam produk sebelum
produk dipasarkan.
Biaya kegagalan
internal meliputi :
·
Pengerjaan kembali
·
Perbaikan
·
Analisis mode kegagalan
Biaya kegagalan eksternal adalah
biaya yang berhubungan dengan cacat yang ditemukan setelah produk disampaikan
kepada pelanggan.
Contoh biaya
kegagalan eksternal meliputi :
·
Resolusi keluhan
·
Penggantian dan pengembalian
produk
·
Dukungan help line
·
Kerja jaminan
B. JAMINAN KUALITAS PERANGKAT LUNAK
Kualitas perangkat
lunak didefinisikan sebagai :
Konformansi terhadap
kebutuhan fungsional dan kinerja yang dinyatakan secara eksplisit, standar
perkembangan yang didokumentasikan secara eksplisit, dan karakteristik implisit
yang diharapkan bagi semua perangkat lunak yang dikembangkan secara
profesional.
Definisi tersebut berfungsi untuk menekankan tiga hal
penting, yaitu :
·
Kebutuhan perangkat lunak
merupakan fondasi yang melaluinya kualitas
diukur. Kurangnya penyesuaian terhadap kebutuhan juga menunjukkan rendahnya
kualitas.
·
Standar yang telah ditentukan
menetapkan serangkaian kriteria pengembangan yang menuntun cara perangkat lunak
direkayasa. Jika kriteria tersebut tidak diikuti, hampir pasti menimbulkan
kualitas yang kurang baik.
·
Ada serangkaian kebutuhan implisit yang sering tidak
dicantumkan (misalnya kebutuhan akan kemampuan pemeliharaan yang baik). Bila
perangkat lunak dapat berhasil menyesuaikan dengan kebutuhan eksplisitnya, tetapi gagal memenuhi kebutuhan
implisitnya, maka kualitas perangkat lunak tersebut perlu diragukan.
Aktivitas SQA
Jaminan kualitas
perangkat lunak terdiri dari berbagai tugas yang berhubungan dengan dua
konstituen yang berbeda, perekayasa perangkat lunak yang mengerjakan kerja
teknis dan kelompok SQA yang bertanggung jawab terhadap perencanaan jaminan
kualitas, kesalahan, penyimpanan rekaman, analisis, dan pelaporan.
Tugas kelompok SQA adalah
membantu tim rekayasa perangkat lunak dalam pencapaian produk akhir yang
berkualitas tinggi. The Software Engineering Institute merekomendasikan
serangkaian aktivitas SQA yang menekankan rencana jaminan kualitas, kesalahan,
penyimpanan rekaman, analisis, dan pelaporan.
Berikut ini aktivitas yang dilakukan (difasilitasi) oleh
kelompok SQA yang independen :
1. Menyiapkan rencana SQA untuk suatu proyek.
Rencana
itu dikembangkan selama perencanaan proyek dan dikaji oleh semua kelompok yang
tertarik. Aktivitas jaminan
kualitas yang dilakukan oleh tim rekayasa perangkat lunak dan kelompok SQA
diatur oleh rencana.
Rencana
tersebut mengidentifikasi hal-hal berikut :
·
Evaluasi yang dilakukan
·
Audit dan kajian yang dilakukan
·
Standar yang dapat diaplikasikan
pada proyek
·
Prosedur untuk pelaporan dan
penelusuran kesalahan
·
Dokumen yang dihasilkan oleh
kelompok SQA
·
Jumlah umpan balik yang diberikan
pada tim proyek perangkat lunak
2. Berpartisipasi dalam pengembangan deskripsi proses pengembangan proyek.
Tim rekayasa perangkat lunak memilih sebuah proses bagi kerja yang akan
dilakukan.
3. Mengkaji aktivitas rekayasa perangkat lunak untuk memverifikasi
pemenuhan proses perangkat lunak yang sudah ditentukan. Kelompok SQA
mengidentifikasi, mendokumentasi, dan menelusuri deviasi proses dan membuktikan
apakah koreksi sudah dilakukan.
4. Mengaudit produk kerja perangkat lunak yang ditentukan untuk
membuktikan kesesuaian dengan produk kerja yang ditentukan tersebut sebagai
bagian dari proses perangkat lunak.
5. Memastikan bahwa deviasi pada kerja dan produk kerja perangkat lunak
didokumentasi dan ditangani sesuai prosedur pendokumentasian.
6. Mencatat ketidak-sesuaian dan melaporkannya kepada manajemen senior.
Item-item yang tidak sesuai ditelusuri sampai item itu diubah.
C. KAJIAN PERANGKAT LUNAK
Kajian perangkat
lunak adalah suatu “filter” bagi proses rekayasa perangkat lunak, yaitu kajian
yang diterapkan pada berbagai titik selama pengembangan perangkat lunak dan
berfungsi untuk mencari kesalahan yang kemudian akan dihilangkan. Kajian
perangkat lunak berfungsi untuk
“memurnikan” produk kerja perangkat lunak yang terjadi sebagai hasil
dari analisis, desain, dan pengkodean.
D. KAJIAN TEKNIK FORMAL
Kajian Teknik Formal (Formal
Technique Research) adalah aktivitas jaminan kualitas perangkat lunak
yang dilakukan oleh perekayasa perangkat lunak.
Tujuan FTR adalah :
·
Menemukan kesalahan dalam fungsi,
logika, atau implementasinya dalam berbagai representasi perangkat lunak.
·
Membuktikan bahwa perangkat lunak
di bawah kajian memenuhi syarat.
·
Memastikan bahwa perangkat lunak
disajikan sesuai dengan standar yang sudah ditentukan sebelumnya.
·
Mencapai perangkat lunak yang
dikembangkan dengan cara seragam.
·
Membuat proyek lebih dapat
dikelola.
Sebagai tambahan,
FTR berfungsi sebagai dasar pelatihan yang memungkinkan perekayasa yunior
mengamati berbagai pendekatan yang berbeda terhadap analisis perangkat lunak,
desain dan implementasi. FTR juga berfungsi untuk mengembangkan backup dan kontinuitas karena sejumlah
orang mengenal baik bagian-bagian perangkat lunak yang tidak mereka ketahui
sebelumnya.
E. RELIABILITAS PERANGKAT LUNAK
Tidak diragukan
lagi bahwa reliabilitas sebuah program komputer merupakan suatu elemen yang
penting. Bila sebuah program berkali-kali gagal untuk melakukan kinerja, maka
sedikit meragukan apakah faktor kualitas perangkat lunak yang lain dapat
diterima.
Reliabilitas
perangkat lunak, tidak seperti faktor kualitas yang lain, dapat diukur,
diarahkan, dan diestimasi dengan menggunakan data pengembangan historis. Reliabilitas
perangkat lunak didefinisikan dalam bentuk statistik sebagai “kemungkinan operasi program komputer bebas
kegagalan di dalam suatu lingkungan tertentu dan waktu tertentu.”
Contoh :
Program X
diperkirakan memiliki reliabilitas 0,96 pada delapan jam pemrosesan yang
dilalui. Dengan kata lain, jika program X akan dieksekusi 100 kali dan
membutuhkan delapan jam waktu pemrosesan yang dilalui (waktu eksekusi), dia
akan beroperasi dengan benar (tanpa kegagalan) 96 kali dari 100 kali pelaksaan.
Keamanan Perangkat Lunak dan Analisis Risiko
Keamanan perangkat
lunak dan analisis risiko adalah aktivitas jaminan kualitas perangkat lunak
yang berfokus pada identifikasi dan penilaian risiko potensial yang mungkin
berpengaruh negatif terhadap perangkat lunak dan menyebabkan seluruh sistem
menjadi gagal. Jika risiko dapat diidentifikasi pada awal proses rekayasa
perangkat lunak, maka ciri-ciri desain perangkat lunak dapat ditetapkan
sehingga akan mengeliminasi atau mengontrol risiko potensial.
F. STANDAR KUALITAS ISO 9000
Sistem jaminan
kualitas dapat didefinisikan sebagai struktur, tanggung jawab, prosedur,
proses, dan sumber-sumber daya organisasi untuk mengimplementasi manajemen
kualitas.
ISO 9000
menjelaskan elemen jaminan kualitas dalam bentuk yang umum yang dapat
diaplikasikan pada berbagai bisnis tanpa memandang produk dan jasa yang
ditawarkan. Elemen-elemen tersebut mencakup struktur, prosedur, proses,
organisasi, dan sumber daya yang dibutuhkan untuk mengimplementasi rencana
kualitas, kontrol kualitas, jaminan kualitas, dan pengembangan kualitas.
Agar terdaftar
dalam satu model sistem jaminan kualitas yang ada pada ISO 9000, sistem
kualitas dan operasi perusahaan diperiksa oleh auditor untuk memeriksa
kesesuaiannya dengan standar dan operasi efektif. Bila registrasi itu berhasil,
perusahaan diberi sertifikasi dari badan registrasi yang diwakili oleh auditor.
Audit pengawasan tengah tahunan terus dilakukan untuk memastikan kesesuaiannya
dengan standar yang sudah ditetapkan.
Standar ISO 9001
ISO 9001 adalah
standar jaminan kualitas yang berlaku untuk rekayasa perangkat lunak.
Standar tersebut
berisi 20 syarat yang harus ada untuk mencapai sistem jaminan kualitas yang
efektif, yaitu :
1.
Tanggung jawab manajamen
2.
Sistem kualitas
3.
Kajian kontrak
4.
Kontrol desain
5.
Kontrol data dan dokumen
6.
Pembelian
7.
Kontrol terhadap produk yang
disuplai oleh pelanggan
8.
Identifikasi dan kemampuan
penelusuran produk
9.
Kontrol proses
10. Pemeriksaan dan pengujian
11. Kontrol pemeriksaan, pengukuran, dan perlengkapan pengujian
12. Pemeriksaan dan status pengujian
13. Kontrol ketisaksesuaian produk
14. Tindakan preventif dan korektif
15. Penanganan, penyimpanan, pengepakan, preservasi, dan penyampaian
16. Kontrol terhadap catatan kualitas
17. Audit kualitas internal
18. Pelatihan
19. Pelayanan
20. Teknik statistik
Untuk dapat didaftar
dalam ISO 9001, organisasi perangkat lunak harus membuat kebijakan dan prosedur
yang memberi tekanan pada masing-masing syarat tersebut dan kemudian dapat
menunjukkan bahwa prosedur dan fungsi itu telah diikuti.
G. RANGKUMAN
§ Jaminan kualitas perangkat lunak merupakan “aktivitas pelindung” yang
diaplikasikan pada setiap langkah dalam proses perangkat lunak. SQA mencakup
berbagai prosedur untuk aplikasi yang efektif dari metode dan piranti, kajian
teknik formal, strategi dan teknik pengujian, prosedur untuk mengontrol
perubahan, prosedur untuk menjamin kesesuaian dengan standar yang ada, serta
pengukuran dan mekanisme pelaporan.
§ SQA kompleks karena kualitas perangkat lunak pun bersifat kompleks,
atribut program komputer yang didefinisikan sebagai “penyesuaian dengan syarat
yang ditetapkan secara eksplisit dan implisit.” Tetapi bila diperhatikan secara
lebih umum, kualitas perangkat lunak mencakup banyak faktor produk dan proses
yang berbedaserta metrik yang berhubungan.
§ Kajian perangkat lunak merupakan
salah satu aktivitas SQA yang terpenting. Kajian berfungsi sebagai filter bagi
proses perangkat lunak, penghapus kesalahan bila biaya yang diperlukan untuk
menemukan dan mengkoreksi kesalahan relatif tidak mahal. Kajian teknik formal
atau walkthrough adalah pertemuan
kajian yang disesuaikan dengan kebutuhan yang terbukti sangat efektif untuk
menemukan kesalahan.
§ Untuk melakukan jaminan kualitas perangkat lunak secara tepat, maka
data mengenai proses rekayasa perangkat lunak harus dikumpulkan, dievaluasi,
dan disebarkan. SQA Statistik membantu meningkatkan kualitas produk dan proses
perangkat lunak. Model reliabilitas perangkat lunak memperluas pengukuran,
memungkinkan data cacat yang telah dikumpulkan diekstrapolasi ke dalam tingkat
kegagalan yang diproyeksikan. Selain itu, memungkinkan juga untuk memprediksi
reliabilitas.
Tidak ada komentar:
Posting Komentar
masukkan komentar anda disini