Software Quality Assurance

JAMINAN KUALITAS PERANGKAT LUNAK

Jaminan kualitas perangkat lunak merupakan “aktivitas pelindung” yang diaplikasikan pada setiap proses perangkat lunak.

Konsep Kualitas
Kualitas didefinisikan sebagai sebuah karakteristik atau atribut dari sesuatu. Jika berkaitan dengan software, berarti karakteristik atau atribut dari software. Karakteristik atau atribut harus dapat diukur, atau dibandingkan dengan standar yang sudah diketahui/ditetapkan. Pada software meliputi: kompleksitas, kohesi, jumlah fungsi point, baris kode, dll.

Kualitas software yang ada, ditinjau dari kualitas design yaitu mengacu pada karakteristik yang ditentukan oleh designer terhadap suatu item tertentu, dan kualitas konformasi yaitu tingkat dimana spesifikasi design terus diikuti selama pembuatan software. Semakin tinggi kualitas konformasi, semakin bermutu dan bermanfaat software tersebut.

Kualitas perangkat lunak didefinisikan sebagai konformasi 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.

Kualitas Kontrol merupakan serangkaian pemeriksaan, kajian, dan pengujian yang digunakan pada keseluruhan siklus pengembangan untuk memastikan setiap produk memenuhi persyaratan yang ditetapkan. Kualitas kontrol mencakup loop umpan balik pada proses yang menciptakan produk kerja.

Software Quality Assurance (SQA) mencakup berbagai prosedur untuk aplikasi yang efektif dari metode dan piranti, meliputi :

  • Teknologi rekayasa perangkat lunak
  • Kajian teknik formal yang diaplikasikan pada keseluruhan proses perangkat lunak,
  • Strategi dan teknik pengujian
  • Prosedur untuk mengontrol perubahan,
  • Prosedur untuk menjamin kesesuaian dengan standar yang ada,
  • Pengukuran dan mekanisme pelaporan.

Jaminan kualitas (Quality Assurance) 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 dan konfidensi bahwa kualitas produk dapat memenuhi sasaran.

Kajian perangkat lunak merupakan salah satu aktivitas SQA yang terpenting. Kajian perangkat lunak berfungsi untuk “memurnikan” produk kerja perangkat lunak yang terjadi sebagai hasil dari analisis, desain, dan pengkodean.

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.

Banyak kesalahan ditemukan pada waktu perangkat lunak sedang dalam proses pengembangan. Cacat yang lain ditemukan setelah perangkat lunak diluncurkan kepada pemakai akhir. Meskipun ratusan kesalahan yang berbeda diluncurkan, semuanya dapat ditelusuri dari satu (atau lebih) penyebab berikut ini :

  • Spesifikasi yang tidak lengkap atau keliru (IES)
  • Kesalahan interpretasi komunikasi pelanggan (MMC)
  • Deviasi intersioanl dari spesifikasi (IDS)
  • Pelanggaran standar pemrograman (VPS)
  • Kesalahan dalam representasi data (EDRIMI)
  • Kesalahan dalam logika desain (EDL)
  • Interface modul yang tidak konsisten (IMI)
  • Pengujian yang tidak lengkap atau keliru (IET)
  • Dokumentasi yang tidak lengkap atau tidak akurat (IID)
  • Kesalahan dalam penerjemahan bahasa pemrograman desain (PLT)
  • Antarmuka manusia dengan komputer yang tidak konsisten atau mengandung ambiguitas (HCI)

Pengukuran Reliabilitas dan Availabilitas 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”.

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.

Bila kita andaikan suatu sistem yang berbasis komputer, pengukuran reliabilitas secara sederhana
adalah berupa mean time between failure (MTBF), dimana :

MTBF = MTTF + MTTR


(Akronim MTTF adalah mean time to failure dan MTR berarti mean time to repair.)

Availabilitas perangkat lunak adalah kemungkinan sebuah program beroperasi sesuai
dengan kebutuhan pada suatu titik yang diberikan pada suatu waktu dan didefinisikan sebagai :

Availabilitas = MTTF / (MTTF + MTTR) x 100 %

Pengukuran reliabilitas MTBF sama sensitifnya dengan MTTF dan MTTR. Pengukuran availabilitas jauh lebih sensitif daripada MTTR, yang merupakan pengukuran tidak langsung terhadap kemampuan pemeliharaan perangkat lunak.

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.

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 (Software Quality Control)

SQA plan menjadi peta jalan untuk membangun jaminan kualitas perangkat lunak. Dikembangkan oleh
kelompok SQA dan tim proyek, rencana itu berfungsi sebagai template bagi aktifitas SQA yang dibangun
untuk setiap proyek perangkat lunak.

  1. Tujuan Rencana
  2. Referensi
  3. Manajemen
    1. Organisasi
    2. Tugas
    3. Tanggung jawab
  4. Dokumentasi
    1. Tujuan
    2. Dokuen rekayasa perangkat lunak yang diperlukan
    3. Dokumen-dokumen lain
  5. Standar, Praktis dan Konversi
    1. Tujuan
    2. Konvensi
  6. Tinjauan dan Audit
    1. Tujuan
    2. Tinjauan
    • Kebutuhan perangkat lunak
    • Desain
    • Verifikasi dan validasi perangkat lunak
    • Audit fungsional
    • Audit fisik
    • Audit in-process
    • Manajemen
  7. Pengujian
  8. Pelaporan Masalah dan Tindakan Koreksi
  9. Peranti, Teknik, dan Metodologi
  10. Kontrol Kode
  11. Kontrol Media
  12. Kontrol Pemasok
  13. Pengumpulan, Pemeliharaan, dan Penyimpanan Catatan
  14. Pelatihan
  15. Manajemen Risiko

Bagian Manajemen dari rencana tersebut menggambarkan tempat 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.
Standar, Praktik dan Konversi mencatat semua standar/praktik yang diterapkan selama proses perangkat lunak (misalnya, standar dokumen, stadar pengkodean, dan pedoman kajian). Semua proyek, proses, dan metrik produk yang dikumpulkan sebagai bagian dari usaha rekayasa perangkat lunak juga harus dicatat.
Bagian Kajian dan Audit dari rencana mengidentifiaksi kajian dan audit yang akan dilakukan oleh tim rekayasa perangkat lunak, kelompok SQA, dan pelanggan. Bagian ini memberikan gambaran yang luas terhadap pendekatan bagi masing-masig kajian dan audit.
Bagian pengujian merujuk rencana dan prosedur pengujian perangkat lunak. Pelaporan Masalah dan Tindakan Korektif menentukan prosedur untuk pelaporan, pelacakan, dan pembetulan kesalahan serta cacat, juga mengidentifikasi tanggung jawab organisaional untuk akyivitas-aktivitas tersebut. Bagian akhir rencana SQA adalah mengidentifikasi peranti dan metode yang mengandung aktifitas dan tugas-tugas SQA.

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.
ISO 9000 menggambarkan elemen sebuah sistem jaminan kualitas secara umum. Elemen-elemen tersebut mencakup struktur, prosedur, proses, organisasi, dan sumber daya yang dibutuhkan untuk mengimplementasi rencana kualitas, kontrol kualitas, jaminan, kualitas, dan pengembangan kualiats.

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

SQA sangat kompleks karena kualitas perangkat lunakpun bersifat kompleks. Contohnya atribut program komputer yang diinginkan, didefinisikan sebagai “kumpulan persyaratan yang ditetapkan secara eksplisit dan implisit” sehingga program komputer tersebut dapat diterima pasar. Tetapi bila diperhatikan secara lebih umum, kualitas perangkat lunak mencakup banyak faktor produk dan proses yang berbeda serta metrik yang berhubungan.

0 Responses to “Software Quality Assurance”



  1. No Comments Yet

Leave a Reply




 

October 2008
M T W T F S S
« Sep   Dec »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Status YM

RSS http://www.ilmuwebsite.com/rss_php_kuliah.xml

  • An error has occurred; the feed is probably down. Try again later.

Dikunjungi

  • 6,644 orang

Flickr Photos

renang4

renang3

More Photos