software quality assurance (sqa)

19
SOFTWARE QUALITY SOFTWARE QUALITY ASSURANCE (SQA) ASSURANCE (SQA)

Upload: pande-narendra

Post on 16-Apr-2017

464 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Software quality assurance (sqa)

SOFTWARE QUALITY SOFTWARE QUALITY ASSURANCE (SQA)ASSURANCE (SQA)

Page 2: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 22

DEFINISI KUALITAS PERANGKAT LUNAKDEFINISI KUALITAS PERANGKAT LUNAK 3 poin penting3 poin penting

– Kebutuhan2 perangkat lunak merupakan Kebutuhan2 perangkat lunak merupakan fondasi darimana kualitas diukurfondasi darimana kualitas diukur

– Standar2 spesifik yg menentukan kriteria Standar2 spesifik yg menentukan kriteria pengembangan yg menuntun pembuatan pengembangan yg menuntun pembuatan suatu perangkat lunaksuatu perangkat lunak

– Terdapat kebutuhan2 yg implisit yg sering Terdapat kebutuhan2 yg implisit yg sering tidak diperhatikan (mis, keinginan untuk tidak diperhatikan (mis, keinginan untuk pemeliharaan yg terbaik)pemeliharaan yg terbaik)

Page 3: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 33

FAKTOR KUALITAS PERANGKAT LUNAKFAKTOR KUALITAS PERANGKAT LUNAK Yg dapat dihitung secara langsungYg dapat dihitung secara langsung

– ErrorError (Kesalahan) (Kesalahan)– Kilobytes Lines of CodeKilobytes Lines of Code (KLOC) (KLOC)

Dihitung secara tidak langsung Dihitung secara tidak langsung – UsabilityUsability (Kegunaan) (Kegunaan)– MaintainabilityMaintainability (Pemeliharaan) (Pemeliharaan)

Page 4: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 44

McCallMcCall’’s Triangle of s Triangle of QualityQuality

MaintainabilityMaintainabilityFlexibilityFlexibility

TestabilityTestability

PortabilityPortability

ReusabilityReusability

InteroperabilityInteroperability

CorrectnessCorrectness

ReliabilityReliabilityEfficiencyEfficiency

IntegrityIntegrityUsabilityUsability

PRODUCT TRANSITIONPRODUCT TRANSITIONPRODUCT REVISIONPRODUCT REVISION

PRODUCT OPERATIONPRODUCT OPERATION

Page 5: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 55

FAKTOR KUALITAS … (McCall)FAKTOR KUALITAS … (McCall) CorrectnessCorrectness : besarnya program dapat : besarnya program dapat

memuaskan spesifikasi & objektivitas dari misi memuaskan spesifikasi & objektivitas dari misi pelangganpelanggan

ReliabilityReliability : besarnya program dapat diharapkan : besarnya program dapat diharapkan memenuhi fungsi2 yg dikehendakimemenuhi fungsi2 yg dikehendaki

Efficiency : Efficiency : jumlah sumber2 & kode yg dibutuhkan jumlah sumber2 & kode yg dibutuhkan program utk menjalankan fungsi2program utk menjalankan fungsi2

IntegrityIntegrity : besarnya pengontrolan pengaksesan : besarnya pengontrolan pengaksesan oleh seseorang yg tidak mempunyai otorisasi oleh seseorang yg tidak mempunyai otorisasi terhadap perangkat lunak atau dataterhadap perangkat lunak atau data

UsabilityUsability : effort (usaha) yg dibutuhkan utk : effort (usaha) yg dibutuhkan utk mempelajari, mengoperasikan, menyiapkan input mempelajari, mengoperasikan, menyiapkan input & mengintepretasi kan output program& mengintepretasi kan output program

Page 6: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 66

FAKTOR KUALITAS … (McCall) lanj.FAKTOR KUALITAS … (McCall) lanj. MaintainabilityMaintainability : usaha yg dibutuhkan utk : usaha yg dibutuhkan utk

menempatkan & menetapkan suatu kesalahan pada menempatkan & menetapkan suatu kesalahan pada program program

Flexibility Flexibility : usaha yg dibutuhkan utk memodifikasi : usaha yg dibutuhkan utk memodifikasi program yg dioperasikanprogram yg dioperasikan

Testability Testability : usaha yg dibutuhkan utk menguji : usaha yg dibutuhkan utk menguji program utk menjamin tlh dijalankannya program yg program utk menjamin tlh dijalankannya program yg diharapkandiharapkan

PortabilityPortability : usaha yg dibutuhkan utk mentransfer : usaha yg dibutuhkan utk mentransfer program dari lingkungan sistem per.lunak &/ program dari lingkungan sistem per.lunak &/ per.keras ke lingkungan lainper.keras ke lingkungan lain

ReusabilityReusability : besarnya program dpt digunakan oleh : besarnya program dpt digunakan oleh aplikasi lainaplikasi lain

InteroperabilityInteroperability : usaha yg dibutuhkan utk : usaha yg dibutuhkan utk memasang-kan satu sistem dgn yg lainmemasang-kan satu sistem dgn yg lain

Page 7: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 77

PENGUKURAN KUALITAS PER. LUNAKPENGUKURAN KUALITAS PER. LUNAK AuditabilityAuditability : mudah utk dicek mengenai konfirmansi : mudah utk dicek mengenai konfirmansi

standarstandar Accuracy Accuracy : presisi komputasi & pengontrolan: presisi komputasi & pengontrolan Communication commonalityCommunication commonality : derajat pengunaan : derajat pengunaan

interface, protokol & bandwidth yg standarinterface, protokol & bandwidth yg standar CompletenessCompleteness : derajat pencapaian implementasi full : derajat pencapaian implementasi full

dari fungsi2 yg dibutuhkandari fungsi2 yg dibutuhkan Conciseness Conciseness : kepadatan program dalam : kepadatan program dalam lines of codelines of code ConsistencyConsistency : penggunaan teknik dokumentasi & : penggunaan teknik dokumentasi &

perancangan yg seragamperancangan yg seragam Data commonalityData commonality : penggunaan struktur & tipe data : penggunaan struktur & tipe data

standarstandar Error toleranceError tolerance : akibat yg timbul pada saat program : akibat yg timbul pada saat program

menemui kesalahanmenemui kesalahan

Page 8: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 88

PENGUKURAN KUALITAS PER. LUNAK PENGUKURAN KUALITAS PER. LUNAK (lanj.)(lanj.)

Execution efficiency Execution efficiency : kinerja waktu eksekusi pada program: kinerja waktu eksekusi pada program Expandability Expandability : derajat dimana perancangan terprosedur, : derajat dimana perancangan terprosedur,

data & arsitektur dapat diperluasdata & arsitektur dapat diperluas GeneralityGenerality : kelonggaran aplikasi dari komponen program : kelonggaran aplikasi dari komponen program Hardware independence Hardware independence : derajat dimana per. Lunak : derajat dimana per. Lunak

dipisahkan dari per. keras atau yg mengoperasikannyadipisahkan dari per. keras atau yg mengoperasikannya InstrumentationInstrumentation : derajat dimana program memonitor : derajat dimana program memonitor

operasinya sendiri & mengindentifikasikan kesalahan2 yg operasinya sendiri & mengindentifikasikan kesalahan2 yg timbul timbul

ModularityModularity : kemandirian fungsional dari komponen : kemandirian fungsional dari komponen programprogram

OperabilityOperability : kemudahan pengoperasian program : kemudahan pengoperasian program Security Security : ketersediaan mekanisme yg mengontrol atau : ketersediaan mekanisme yg mengontrol atau

memproteksi program & datamemproteksi program & data

Page 9: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 99

PENGUKURAN KUALITAS PER. LUNAK PENGUKURAN KUALITAS PER. LUNAK (lanj.)(lanj.)

Self-documentationSelf-documentation : derajat dimana : derajat dimana source codesource code menyediakan dokumentasi yg berartimenyediakan dokumentasi yg berarti

Simplicity Simplicity : derajat dimana program dapat dimengerti : derajat dimana program dapat dimengerti dengan mudahdengan mudah

Software system independence Software system independence : derajat dimana : derajat dimana program berdiri sendiri dari fitur bhs pemrograman, program berdiri sendiri dari fitur bhs pemrograman, karakteristik sistem pengoperasian & batasan lainnya karakteristik sistem pengoperasian & batasan lainnya yg tdk standaryg tdk standar

Traceability Traceability : kemampuan utk menelusuri representasi : kemampuan utk menelusuri representasi perancangan atau komponen program aktual, kembali perancangan atau komponen program aktual, kembali ke kebutuhanke kebutuhan

TrainingTraining : derajat dimana per. lunak dapat membantu : derajat dimana per. lunak dapat membantu pengguna yg baru dalam mengaplikasikan sistem pengguna yg baru dalam mengaplikasikan sistem

Page 10: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1010

BIAYA KUALITAS PERANGKAT LUNAKBIAYA KUALITAS PERANGKAT LUNAK Semua biaya utk mengejar kualitas atau utk Semua biaya utk mengejar kualitas atau utk

menampil-kan kualitas yg berhubungan dgn menampil-kan kualitas yg berhubungan dgn aktifitas.aktifitas.

– Biaya pencegahan Biaya pencegahan Perencanaan kualitasPerencanaan kualitas Review teknis formalReview teknis formal Perlengkapan pengujianPerlengkapan pengujian PelatihanPelatihan

Page 11: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1111

BIAYA KUALITAS PERANGKAT LUNAK BIAYA KUALITAS PERANGKAT LUNAK (lanj.)(lanj.)

– Biaya penilaian meliputi aktifitas memperoleh Biaya penilaian meliputi aktifitas memperoleh wawasan mengenai kondisi produk pertama wawasan mengenai kondisi produk pertama kali pada masing2 proses, meliputikali pada masing2 proses, meliputi Inspeksi in-proses & interprosesInspeksi in-proses & interproses Pemeliharaan & kalibrasi peralatanPemeliharaan & kalibrasi peralatan PengujianPengujian

– Biaya kegagalan adalah biaya yg akan hilang Biaya kegagalan adalah biaya yg akan hilang bila tidak ada cacat yg muncul sebelum produk bila tidak ada cacat yg muncul sebelum produk disampaikan kepada pelanggandisampaikan kepada pelanggan

Page 12: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1212

BIAYA KUALITAS PERANGKAT LUNAK BIAYA KUALITAS PERANGKAT LUNAK (lanj.)(lanj.)

Biaya kegagalan internal adl biaya yg Biaya kegagalan internal adl biaya yg diadakan bila kita mendeteksi kesalahan dlm diadakan bila kita mendeteksi kesalahan dlm produk sebelum produk dipasarkan, meliputiproduk sebelum produk dipasarkan, meliputi

– Pengerjaan kembaliPengerjaan kembali– PerbaikanPerbaikan– Analisis mode kegagalanAnalisis mode kegagalan

Biaya kegagalan eksternal adl biaya yg Biaya kegagalan eksternal adl biaya yg berhubungan dg cacat yg ditemukan setelah berhubungan dg cacat yg ditemukan setelah produk disampaikan pada pelanggan, meliputiproduk disampaikan pada pelanggan, meliputi

– Resolusi keluhanResolusi keluhan– Penggantian & pengembalian produkPenggantian & pengembalian produk– Dukungan Dukungan help linehelp line– Kerja jaminanKerja jaminan

Page 13: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1313

SQASQA Merupakan kegiatan yg terpola secara sistematis Merupakan kegiatan yg terpola secara sistematis

dan terencana, yg dibutuhkan utk menjamin dan terencana, yg dibutuhkan utk menjamin kualitas suatu perangkat lunak.kualitas suatu perangkat lunak.

Terdiri atas 7 aktifitas utama :Terdiri atas 7 aktifitas utama :– Aplikasi metode secara teknisAplikasi metode secara teknis– Review teknis formalReview teknis formal– Pengujian perangkat lunakPengujian perangkat lunak– Penekanan pada standarPenekanan pada standar– Pengontrolan pada perubahanPengontrolan pada perubahan– PengukuranPengukuran– Penyimpanan dan pelaporanPenyimpanan dan pelaporan

Page 14: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1414

SQA (lanj.)SQA (lanj.) SQA dimulai dgn sekumpulan alat & metode teknis yg SQA dimulai dgn sekumpulan alat & metode teknis yg

membantu analis utk mendapatkan spesifikasi yg membantu analis utk mendapatkan spesifikasi yg berkualitas tinggi & bagi perancang utk merancang dg berkualitas tinggi & bagi perancang utk merancang dg kualitas tinggikualitas tinggi

Setelah spesifikasi & desain dibuat, ditetapkan Setelah spesifikasi & desain dibuat, ditetapkan kualitasnya dg melakukan review teknis formal.kualitasnya dg melakukan review teknis formal.

Pengujian per. Lunak mengkombinasikan langkah2 Pengujian per. Lunak mengkombinasikan langkah2 strategi dg metode rancangan test-case yg dpt strategi dg metode rancangan test-case yg dpt menjamin pendeteksian kesalahan secara efektif.menjamin pendeteksian kesalahan secara efektif.

Jika terdapat standar yg formal, berarti harus dapat Jika terdapat standar yg formal, berarti harus dapat dijamin bahwa standar tsb diikuti.dijamin bahwa standar tsb diikuti.

Page 15: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1515

SQA (lanj.)SQA (lanj.) Pengontrolan perubahan dilakukan selama pembuatan Pengontrolan perubahan dilakukan selama pembuatan

per. Lunak & pada tahap pemeliharaan. Setiap per. Lunak & pada tahap pemeliharaan. Setiap perubahan dpt menyebabkan kesalahan & efek lain yg perubahan dpt menyebabkan kesalahan & efek lain yg akan menyebabkan kesalahan jg.akan menyebabkan kesalahan jg.

Pengukuran terhadap per. Lunak mencakup Pengukuran terhadap per. Lunak mencakup pengukuran secara manajemen & teknis pengukuran secara manajemen & teknis

Penyimpanan hasil dari review, audit, pengontrolan Penyimpanan hasil dari review, audit, pengontrolan perubahan, pengujian dyl sebagai bagian dari record perubahan, pengujian dyl sebagai bagian dari record historis utk suatu proyek dan didesiminasikan kpd historis utk suatu proyek dan didesiminasikan kpd para staf pengembangan sbg ‘dasar utk mereka para staf pengembangan sbg ‘dasar utk mereka ketahui’ketahui’

Page 16: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1616

REVIEW PERANGKAT LUNAKREVIEW PERANGKAT LUNAK Merupakan filter pada proses pembuatan Merupakan filter pada proses pembuatan

perangkat lunak.perangkat lunak. Bentuknya : presentasi formal di depan Bentuknya : presentasi formal di depan

pelanggan, manajemen, & staf teknisi.pelanggan, manajemen, & staf teknisi. Review – suatu cara penggunaan perbedaan2 Review – suatu cara penggunaan perbedaan2

dari sekompok orang untukdari sekompok orang untuk– Menentukan peningkatan kebutuhan produk dari Menentukan peningkatan kebutuhan produk dari

seseorang atau timseseorang atau tim– Konfirmasi setiap bagian dari produk dimana Konfirmasi setiap bagian dari produk dimana

peningkatan tsb diinginkan atau tidak diinginkanpeningkatan tsb diinginkan atau tidak diinginkan– Mencapai kerja teknis yg seragam, ataupun dapat Mencapai kerja teknis yg seragam, ataupun dapat

lebih diprediksi, daripada tanpa reviewlebih diprediksi, daripada tanpa review

Page 17: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1717

PERTEMUAN PADA REVIEW TEKNIS PERTEMUAN PADA REVIEW TEKNIS FORMALFORMAL

BatasannyaBatasannya– Antara 3 & 5 orang yg terlibat : pemimpin review, Antara 3 & 5 orang yg terlibat : pemimpin review,

pereview & produsenpereview & produsen– Persiapan sebelumnya tidak lebih 2 jam kerja per orangPersiapan sebelumnya tidak lebih 2 jam kerja per orang– Lama pertemuan review minimal 2 jamLama pertemuan review minimal 2 jam

Fokus : produk, komponen program (spesifikasi Fokus : produk, komponen program (spesifikasi kebutuhan, perancangan modul detail, listing kebutuhan, perancangan modul detail, listing koding utk setiap modulkoding utk setiap modul

Akhir review, harus diputuskanAkhir review, harus diputuskan– Menerima produk tanpa modifikasiMenerima produk tanpa modifikasi– Menolak produk krn kesalahan yg fatalMenolak produk krn kesalahan yg fatal– Menerima produk dg kesalahan yg kecil dan harus Menerima produk dg kesalahan yg kecil dan harus

diperbaikidiperbaiki

Page 18: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1818

PENDOKUMENTASIAN PADA REVIEW TEKNIS PENDOKUMENTASIAN PADA REVIEW TEKNIS FORMALFORMAL

Laporan review harus dapat menjawab Laporan review harus dapat menjawab – Apa yg direviewApa yg direview– Siapa yg mereviewSiapa yg mereview– Apa yg ditemukan & disimpulkanApa yg ditemukan & disimpulkan

Daftar review mempunyai 2 tujuan :Daftar review mempunyai 2 tujuan :– Mengidentifikasi area permasalahan produkMengidentifikasi area permasalahan produk– Menyediakan checklist setiap item kegiatan yg dapat Menyediakan checklist setiap item kegiatan yg dapat

memandu produsen utk melakukan perbaikanmemandu produsen utk melakukan perbaikan

Page 19: Software quality assurance (sqa)

SQA @ BertaSQA @ Berta 1919

PEDOMAN REVIEW TEKNIS FORMALPEDOMAN REVIEW TEKNIS FORMAL Mereview produk bukan produsenMereview produk bukan produsen Membuat agenda dan mengikutinyaMembuat agenda dan mengikutinya Membatasi debatMembatasi debat Memberitahukan area masalah, tetapi bukan utk Memberitahukan area masalah, tetapi bukan utk

menyelesaikan semua masalah yg adamenyelesaikan semua masalah yg ada Membuat catatan tertulis (di papan/bisa dilihat)Membuat catatan tertulis (di papan/bisa dilihat) Membatasi jumlah partisipan & menekankan persiapan Membatasi jumlah partisipan & menekankan persiapan

awalawal Membuat checklist utk setiap produk yg direviewMembuat checklist utk setiap produk yg direview Mengalokasikan sumber daya & waktu yg terjadual utk Mengalokasikan sumber daya & waktu yg terjadual utk

review berikutnyareview berikutnya Mengadakan pelatihan utk semua pereviewMengadakan pelatihan utk semua pereview Mereview produk awal terlebih dulu (mis. Panduan review)Mereview produk awal terlebih dulu (mis. Panduan review)