Jaminan kualitas perangkat lunak  adalah aktivitas pelindung yang diaplikasikan pada seluruh proses perangkat lunak.

SQA meliputi :
  1. pendekatan manajemen kualitas
  2. teknologi rekayasa perangkat lunak yang efektif (metode dan peranti)
  3. kajian teknik formal yang diaplikasikan pada keseluruhan proses perangkat lunak
  4. strategi pengujian multitiered(deret bertingkat)
  5. kontrol dokumentasi perangkat lunak dan perubahan
  6. prosedur untuk menjamin kesesuaian dengan standar pengembangan perangkat lunak
  7. mekanisme pengukuran dan pelaporan.

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.  
Konsep kunci kualitas kontrol adalah bahwa semua produk kerja memiliki spesifikasi yang telah ditentukan dan dapat diukur dimana kita dapat membandingkan output dari setiap proses.
Kalang (loop) menjadi penting untuk meminimalkan cacat yang dihasilkan.

Jaminan Kualitas
Jaminan kualitas terdiri atas fungsi auditing dan pelaporan manajemen.
Tujuan jaminan kualitas adalah untuk memberikan data yang diperlukan oleh manajemen untuk menginformasikan masalah kualitas produk, sehingga dapat memberikan kepastian & konfidensi bahwa kulitas produk dapat memenuhi sasaran.

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 :

a) Biaya pencegahan meliputi :
  • Perencanaan
  • Kajian teknis formal
  • Perlengkapan pengujian
  • Pelatihan

b) Biaya  penilaian meliputi :
  • Inspeksi in-proses dan interproses
  • Pemeliharaan dan kalibrasi peralatan
  • Pengujian  

c) Biaya kegagalan
Biaya kegagalan adalah biaya yang akan hilang bila tidak ada cacat yang muncul sebelum produk disampaikan kepada pelanggan.
Biaya kegagalan internal adalah biaya yang diadakan bila kita mendeteksi suatu kesalahan dalam produk sebelum produk dipasarkan.  
Biaya kegagalan internal meliputi:
  1. Pengerjaan kembali
  2. Perbaikan
  3. Analisis mode kegagalan

Biaya kegagalan eksternal adalah biaya yang berhubungan dengan cacat yang ditemukan setelah produk disampaikan kepada pelanggan.
Biaya kegagalan eksternal meliputi:
  1. Resolusi keluhan
  2. Penggantian dan pengembalian produk
  3. Dukungan help line


Kerja jaminan
Biaya relatif mendapatkan dan membetulkan cacat bertambah secara dramatis pada saat kita melangkah dari pencegahan ke pendeteksian dan dari kegagalan internal ke kegagalan eksternal.

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 dikembangkan secara profesional.
definisi tersebut berfungsi untuk menekankan tiga hal penting, yaitu:
  1. Kebutuhan perangkat lunak merupakan fondasi yang melaluinya kualitas diukur.
  2. Standar yang telah ditentukan menetapkan serangkaian kriteria pengembangan yang menuntun cara perangkat lunak direkayasa.

Ada serangkaian kebutuhan implisityang sering dicantumkan (misalnya kebutuhan akan kemampuan pemeliharaan yang baik).
Kelompok SQA berfungsi sebagai perwakilan in-house pelanggan, yaitu orang yang akan melakukan SQA harus memperhatikan perangkat lunak dari sudut pandang pelanggan.
Kelompok SQA harus dapat menjawab pertanyaan-pertanyaan dibawah ini untuk memastikan bahwa kualitas perangkat lunak benar-benar terjaga.
  1. Apakah perangkat lunak cukup memenuhi faktor kualitas ?
  2. Sudahkah pengembangan perangkat lunak dilakukan sesuai dengan standar yang telah ditetapkan sebelumnya?
  3. Sudahkah disiplin teknik dengan tepat memainkan perannya sebagi bagian dari aktivitas SQA?

Aktivitas SQA
Jaminan kualitas perangkat lunak terdiri dari berbagai tugas yang berhubungan dengan dua konstituen yang berbeda : 
  1. perekayasa perangkat lunak yang mengerjakan kerja teknis 
  2. 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.
Aktivitas yang dilakukan (atau difasilitasi) oleh kelompok SQA yang independen Menyiapkan rencana SQA untuk suatu proyek. Rencana tersebut mengindentifikasikan hal-hal berikut:
  1. Evaluasi yang dilakukan
  2. Audit dan kajian yang dilakukan
  3. Standar yang dapat diaplikasikan pada proyek
  4. Prosedur untuk pelaporan & penelusuran kesalahan
  5. Dokumen yang dihsilkan oleh kelompok SQA
  6. Jumlah umpan balik yang diberikan pada tim proyek perangkat lunak

KAJIAN PERANGKAT LUNAK
Kajian perangkat lunak merupakan salah satu aktivitas SQA yang terpenting.
Kajian perangkat lunak adalah suatu filter bagi proses rekayasa perangkat lunak, yaitu kajian yg diterapkan pd berbagai titik selama pengembangan PL & berfungsi untuk mencari kesalahan yg kemudian akan dihilangkan.
Kajian perangkat lunak berfungsi untuk “memurnikan” produk kerja perangkat lunak yang terjadi sebagai hasil dari analisis, desain, dan pengkodean.

KAJIAN TEKNIK FORMAL (Formal Technic Review - FTR )
FTR adalah aktivitas jaminan kualitas perangkat lunak yang dilakukan oleh perekayasa perangkat lunak.
Kajian teknik formal atau walktrough adalah pertemuan kajian yang disesuaikan dengan kebutuhan yang terbukti sangat efektif untuk menemukan kesalahan.
Keuntungan utama kajian teknis formal adalah penemuan kesalahan sejak awal sehingga tidak berlanjut ke langkah selanjutnya dalam proses perangkat lunak.
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.
Pedoman Kajian  
Pedoman untuk melakukan kajian teknis formal harus dilakukan sebelumnya, didistribusikan kepada semua pengkaji, disetujui, dan kemudian dilaksanakan. Kajian yang tidak terkontrol sering dapat menjadi lebih buruk daripada bila tidak ada kajian sama sekali.
Berikut ini serangkaian pedoman minimum untuk kajian teknis formal: 
  1. Kajian produk, bukan produser.
  2. Menetapkan agenda dan menjaganya. 
  3. Membatasi perdebatan dan bantahan.
  4. Menetapkan area masalah, tetapi tidak tergoda untuk menyelesaikannya setiap masalah yang dicatat.
  5. Mengambil catatan tertulis.
  6. Membatasi jumlah peserta dan mewajibkan persiapan awal.
  7. Mengembangkan daftar bagi masing-masing produk kerja yang akan dikaji.
  8. Mengalokasikan sumber-sumber daya dan jadwal waktu untuk FTR.
  9. Melakukan pelatihan bagi semua pengkaji.
  10. Mengkaji kajian awal Anda.


PENDEKATAN FORMAL TERHADAP SQA
Kualitas perangat lunak merupakan tugas setiap orang & kualitas dapat dicapai melalui analisis, desain, pengkodean, dan pengujian yang baik serta aplikasi standar pengembangan perangkat lunak yang diterima.
Pada lebuh dari dua dekade, segmen komunitas rekayasa perangkat lunak yang kecil tetapi vokal telah memperlihatkan bahwa dibutuhkan suatu pendekatan yang lebih formal terhadap jaminan kualitas perangkat lunak.
Pembuktian matematis terhadap kebenarannya dapat diaplikasikan untuk menunjukkan bahwa program menyesuaikan diri secara tepat dengan spesifikasinya.

JAMINAN KUALITAS STATISTIK (SQA)
Jaminan kualitas statistik mencerminkan trend yang sedang tumbuh di seluruh industri untuk menjadi lebih kuantitatif terhadap kualitas.
Pada perangkat lunak, jaminan kualitas statistik mengimplikasikan langkah-langkah berikut ini:
Informasi tentang cacat perangkat lunak dikumpulkan dan dipilah-pilahkan.
Melakukan suatu usaha untuk menelusuri masing-masing cacat sampai ke penyebab pokoknya.
Dengan menggunakan prinsip Pareto (80 persen cacat dapat ditelusuri sampai 20 persen dari semua kemungkinan penyebab), mengisolasi yang 20 persen tersebut (vital few)
Sekali penyebab vital few telah diidentifikasi, beralih untuk membetulkan maslah yang menyebabkan cacat.

RELIABILITAS PERANGKAT LUNAK
Reliabilitas perangkat lunak, tidak seperti faktor kualitas yang lain, dapat diukur, diarahan, 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”.
Kapan saja reliabilitas perangkat lunak dibicarakan, selalu muncul pertanyaan yang sangat 
penting : Apa yang dimaksudkan dengan bentuk “kegagalan?” dalam konteks dan banyak diskusi mengenai kualitas dan reliabilitas perangkat lunak, kegagalann adalah ketidaksesuaian dengan kebutuhan perangkat lunak.
Kegagalan hanya akan mengganggu atau bahkan merupakan bencana. Satu kegagalan dapat diperbaiki dalam beberapa detik sementara kesalahan yang lain mungkin membutuhkan waktu pembetulan berminggu-minggu atau bahkan berbulan-bulan.
Pembetulan satu kegagalan kenyataannya dapat menghasilkan kesalahan lain yang baru yang mungkin akan membawa lagi kesalahan yang lain lagi.

Pengukuran Reliabilitas dan Availabilitas 
Kerja awal dalam reliabilitas perangkat lunak berusaha mengekstrapolasi matematika teori reliabitas perangkat keras. Sebagian besar model reliabilitas yang berhubungan dengan perangkat keras didasarkan pada kegagalan sehubungan dengan keusangan (wear), bukan kesalahan karena cacat desain. Dalam perangkat keras, kegagalan sehubungan dengan keusangan fisik (misalnya pengaruh suhu, korosi, kejutan) lebih banyak terjadi daripada kegagalan karena isu. Akan tetapi, yang terjadi pada perangkat lunak adalah hal yang sebaliknya. Kenyataannya, semua kegagalan perangkat lunak dapat ditelusuri ke dalam desain atau masalah implementasi; keusangan  tidak tercakup.

Keamanan Perangkat Lunak dan Analisis Risiko
Leveson membicarakan pengaruh perangkat lunak dalam sistem kritis keamanan ketika menulis :
Sebelum perangkat lunak digunakan di dalam sistem kritis keamanan, perangkat lunak itu sering dikontrol oleh alat mekanik konvensional (tidak dapat diprogram) dan elektronik. Teknik keamanan sistem didesain untuk mengatasi kegagalan acak dalam sistem-sistem tersebut. Kesalahan perancangan oleh manusia dapat sepenuhnya dihindari atau dihilangkan sebelum perangkat lunak tersebut diluncurkan dan dioperasikan.
Ketika perangkat lunak diguanakn sebagai bagian dari sistem kontrol, kompleksitasnya dapat bertambah dengan satu urutan besaran  atau lebih. Kesalahan desain yang tidak kentara yang disebabknan oleh kesalahan manusia – sesuatu yang dapat diunkapkan dan dikurangi dalam kontrol konvensional berbasis perangkat keras – menjadi lebih sulit ditemukan pada waktu perangkat lunak digunakan.
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.

RENCANA SQA
SQA planmenjadi peta jalan untuk membangun jaminan kualitas perangkat lunak. Dikembangkan oleh kelompok SQA dan tim proyek, rencana itu berfungsi sebagai templatebagi aktifitas SQA yang dibangun untuk setiap proyek perangkat lunak.
SQA pada struktur organisasi; tugas-tugas dan aktivitas SQA dan penempatannya di seluruh proses perangkat lunak; dan peran organisasional serta tanggung jawab relatif terhadap kualitas produk.
Bagian Dokumentasi menggambarkan (dengan refernsi) masing-masing produk kerja yang dihasilkan sebagai bagian dari proses perangkat lunak; mencakup hal-hal berikut : 
  1. Dokumen proyek (misalnya, rencana proyek)
  2. Model (misalnya, hirarki kelas ERD)
  3. Dokumen teknis (misalnya, spesifikasi, rencana pengujian)
  4. Dokumen pemakai (misalnya file help)

Sebagai tambahan, bagian ini menentukan serangkaian produk kerja minmum yang dapat diterima untuk mencapai kualitas yang tinggi.

STANDAR KUALITAS ISO 9000 
Sistem jaminan kualitas dapat didefinisikan sebagai strukutr, 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.
Agar terdaftar dalam satu model sistem jaminan kualitas yang ada pada ISO 9000, sistem kualitas dan operasi perusahaan diperiksa oleh auditor bagian ketiga untuk memeriksa kesesuaiannya dengan standar dan operasi efektif. Bila registrasi itu berhasil, perusahaan diberi sertifikat dari badan registrasi yang diwakili oleh auditor. Audit pengawasan tegah tahuan terus dilakukan untuk memastikan kesesuaiannya dengan standar yang sudah ditetapkan.

Pendekatan ISO terhadap Sistem Jaminan Kualitas
Model jaminan kualitas ISO 9000 memperlakukan perusahaan sebagai jaringan proses yang saling terhubung (interkoneksi). Suatu sistem kualitas, supaya sesuai dengan ISO, proses-prosesnya harus menekankan pada area yang telah diidentifikasi pada standar ISO, dan harus didokumentasi dan dipraktikan sebagimana dikelaskan. Pendokuemnatsian proses membantu organisasi untuk memahami, mengontrol, dan mengembangkan jaringan proses yang mungkin dapat mendatangkan keuntunagn terbesar bagi organisasi yang merancang dan mengimplementasikan kualitas yang sesuai dengan ISO.
ISO 9000 menggambarkan elemen sebuah sistem jaminan kualitas secara umum. Elemen-elemen tersebut mencakup struktur, prosedur, proses, organisasi, dan sumber day ayang dibutuhkan untuk mehimplementasi rencana kualitas, kontrol kualitas, jaminan, kualitas, dan pengembangan kualiats. Tetapi ISO 9000 tidak menggambarkan bagaimanan organisasi seharusnya mengimpelemnatsi elemen-elemen kualitas tersebut. Sebagai konsekuensi, ada tantangan dalam mendesain dan mengimplementasi suatu sistem jaminan kualitas yang memenuhi standar dengan produk, layanan dan budaya perusahaan.

Standar ISO 9001
ISO 9001 adalah standar kualitas yang berkalu untuk rekayasa perangkat lunak. Standar tersebut berisi 20 syarat yang harus ada untuk mencapai sistem jaminan kualitas yangefektif. Karena standar ISO 9001 dapat diaplikasikan pada semua disiplin rekayasa / engineering, maka dikembangkan sekumpulan khusus pedoman ISO  untuk membantu menginterpretsi standar untuk digunakan pada proses perangkat lunak.

Dua puluh syarat yang digambarkan oleh ISO 9001 menekankan topik-topik berikut : 
1. Tanggung jawab manajemen 
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 ketudaksesuaian 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. Untuk penjelsan leih lanjt, pembaca yang tertarik dengan informasi mengnenai ISO 9001.

Post a Comment

Lebih baru Lebih lama