0,445
16
statistik. . . . .439 tugas. . . . . . . 0,436
KMATA
T
Pendekatan rekayasa perangkat lunak yang diuraikan dalam buku ini bekerja untuk satu
CONCEPTS tujuan: menghasilkan perangkat lunak yang tepat waktu dan berkualitas tinggi. Namun
pendekatan banyak pembaca akan ditantang oleh pertanyaan: "Apa kualitas perangkat lunak?"
formal. . . . .438
Philip Crosby [Cro79], dalam buku utamanya tentang kualitas, memberikan jawaban masam
gol. . . . . . . . 0,436
untuk pertanyaan ini:
ISO 9001: 2000
standar. . . . . 0,445 Masalah manajemen kualitas bukanlah apa yang orang tidak tahu tentang itu. Masalahnya adalah apa yang
Six Sigma. . . . . mereka pikir tahu. . . .
0,441
perangkat lunak Dalam hal ini, kualitas memiliki banyak kesamaan dengan seks. Semua orang untuk itu. (Dalam
keandalan. . . . . . kondisi tertentu, tentu saja.) Semua orang merasa mereka memahaminya. (Meskipun mereka tidak mau
442 perangkat menjelaskannya.) Semua orang berpikir eksekusi hanya masalah mengikuti kecenderungan alami.
lunak (Bagaimanapun juga, kita memang rukun.) Dan, tentu saja, kebanyakan orang merasa bahwa masalah
keamanan . . . . . . .
di bidang ini disebabkan oleh orang lain. (Kalau saja mereka akan meluangkan waktu untuk melakukan
0,443
hal yang benar.)
SQA
CEPAT Apa itu? Itu tidak cukup untuk berbicara semua kegiatan rekayasa perangkat lunak, ini
LIHATberbicara dengan mengatakan bahwa mengurangi jumlah pengerjaan ulang yang
kualitas perangkat lunak itu penting. harus dilakukan. Hasilnya adalah biaya yang
Anda harus (1) secara eksplisit lebih rendah, dan yang lebih penting,
mendefinisikan apa yang dimaksud peningkatan waktu ke pasar.
ketika Anda mengatakan Apa langkah-langkahnya? Sebelum kegiatan jaminan
"Kualitas perangkat lunak," (2) membuat kualitas perangkat lunak (SQA) dapat dimulai,
serangkaian kegiatan yang akan membantu itu
memastikan bahwa setiap produk pekerjaan
rekayasa perangkat lunak menunjukkan kualitas
tinggi, (3) melakukan kontrol kualitas dan kegiatan 432
penjaminan pada setiap proyek perangkat lunak, penting untuk menentukan kualitas perangkat
(4) menggunakan metrik untuk mengembangkan lunak pada sejumlah tingkat abstraksi yang
strategi untuk meningkatkan proses perangkat berbeda. Setelah Anda memahami apa
lunak Anda dan, sebagai konsekuensinya, kualitas kualitasnya, tim perangkat lunak harus
produk akhir. mengidentifikasi serangkaian kegiatan SQA yang
Siapa yang melakukannya Setiap orang yang terlibat akan menyaring kesalahan dari produk kerja
dalam proses rekayasa perangkat lunak sebelum diteruskan.
bertanggung jawab atas kualitas. Apa produk pekerjaan? Rencana Jaminan Kualitas
Mengapa ini penting? Anda bisa melakukannya dengan Perangkat Lunak dibuat untuk menentukan
benar, atau Anda bisa melakukannya lagi. Jika tim strategi SQA tim perangkat lunak. Selama
perangkat lunak menekankan kualitas dalam pemodelan dan pengkodean, produk kerja SQA
2 BAGIAN KETIGA MANAJEMEN MUTU
1Jika Anda belum membaca Bab 14, Anda harus melakukannya sekarang.
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 3
pengembangan perangkat lunak kontrak militer selama tahun 1970-an dan telah menyebar dengan cepat ke dalam
pengembangan perangkat lunak di dunia komersial [IEE93]. Memperluas definisi yang disajikan sebelumnya,
jaminan kualitas perangkat lunak adalah "pola tindakan yang terencana dan sistematis" [Sch98c] yang diperlukan
untuk memastikan kualitas tinggi dalam perangkat lunak. Ruang lingkup tanggung jawab jaminan kualitas
mungkin paling baik ditandai dengan parafrase iklan mobil yang pernah populer: "Kualitas Adalah Pekerjaan # 1.
Grup SQA berfungsi sebagai perwakilan pelanggan. Artinya, orang yang melakukan SQA harus melihat
perangkat lunak dari sudut pandang pelanggan. Apakah perangkat lunak memenuhi faktor kualitas yang
tercantum pada Bab 14 secara memadai? Apakah pengembangan perangkat lunak telah dilakukan sesuai dengan
standar yang ditetapkan sebelumnya? Sudahkah disiplin ilmu menjalankan peran mereka dengan baik sebagai
bagian dari kegiatan SQA? Grup SQA berupaya menjawab pertanyaan ini dan lainnya untuk memastikan kualitas
perangkat lunak terjaga.
U satu aspek yang paling mengganggu dari setiap proyek perangkat lunak. Jika tidak
b dikelola dengan baik, perubahan dapat menyebabkan kebingungan, dan kebingungan
a hampir selalu mengarah pada kualitas yang buruk. SQA memastikan bahwa praktik
h manajemen perubahan yang memadai (Bab 22) telah dilembagakan.
uote:
m
“Keunggulan adalah kemampuan tanpa batas untuk meningkatkan kualitas
a
dari apa yang Anda tawarkan. "
n
a Rick Petin
Pendidikan. Setiap organisasi perangkat lunak ingin meningkatkan praktik rekayasa perangkat
j
lunaknya. Kontributor utama untuk peningkatan adalah pendidikan insinyur perangkat lunak,
e
manajer mereka, dan pemangku kepentingan lainnya. Organisasi SQA memimpin dalam
m
peningkatan proses perangkat lunak (Bab 30) dan merupakan pendukung utama dan sponsor
e
program pendidikan.
n
. Manajemen vendor. Tiga kategori perangkat lunak diperoleh dari vendor perangkat lunak
eksternal — paket yang dibungkus menyusut (mis., Microsoft Office), cangkang khusus
P [Hor03] yang menyediakan struktur kerangka dasar yang disesuaikan dengan kebutuhan
e pembeli, dan peranti lunak yang dikontrak dirancang khusus dan dibangun dari spesifikasi yang
r disediakan oleh organisasi pelanggan. Tugas organisasi SQA adalah untuk memastikan bahwa
u hasil perangkat lunak berkualitas tinggi dengan menyarankan praktik kualitas khusus yang
b harus diikuti oleh vendor (bila mungkin), dan memasukkan mandat kualitas sebagai bagian dari
a kontrak apa pun dengan vendor eksternal.
h Manajemen keamanan. Dengan meningkatnya kejahatan dunia maya dan peraturan
a pemerintah baru tentang privasi, setiap organisasi perangkat lunak harus melembagakan
n kebijakan yang melindungi data di semua tingkatan, membangun perlindungan firewall untuk
WebApps, dan memastikan bahwa perangkat lunak belum dirusak secara internal. SQA
a memastikan bahwa proses dan teknologi yang tepat digunakan untuk mencapai keamanan
d perangkat lunak.
a
Keamanan. Karena perangkat lunak hampir selalu merupakan komponen penting dari sistem
l
yang dimanusiakan (misalnya, aplikasi otomotif atau pesawat terbang), dampak cacat
a
tersembunyi dapat menjadi bencana besar. SQA mungkin bertanggung jawab untuk menilai
h
dampak kegagalan perangkat lunak dan untuk memulai langkah-langkah yang diperlukan untuk
mengurangi risiko.
s
Manajemen risiko. Meskipun analisis dan mitigasi risiko (Bab 28) menjadi perhatian para
a
insinyur perangkat lunak, organisasi SQA memastikan bahwa kegiatan manajemen risiko
l
dilakukan dengan benar dan bahwa rencana kontinjensi terkait risiko telah ditetapkan.
a
h
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 5
Selain masing- memastikan bahwa kegiatan dukungan perangkat lunak (misalnya, pemeliharaan, saluran bantuan,
masing dokumentasi, dan manual) dilakukan atau diproduksi dengan kualitas sebagai masalah dominan.
masalah dan
kegiatan ini,
SQA bekerja INFO
untuk
Sumber Daya Manajemen Mutu
Ada puluhan manajemen kualitas Asosiasi untuk Mesin Komputer www.acm.org sumber daya
yang tersedia di Web, termasuk Pusat profesional Data dan Analisis untuk Perangkat Lunak (DACS), organisasi
standarons, dan www.dacs.dtic.mil/
sumber informasi umum. Situs yang mengikuti menyediakan Organisasi Internasional untuk Standardisasi (ISO)
titik awal yang baik: www.iso.ch
ISO SPICE
Divisi Perangkat Lunak Masyarakat Amerika untuk Kualitas (ASQ)
www.asq.org/software www.isospice.com
Penghargaan Kualitas Nasional Malcolm Baldridge TickIT International: Topik sertifikasi kualitas www.quality.nist.gov
www.tickit.org/international.htm
Institut Rekayasa Perangkat Lunak Total Quality Management (TQM) www.sei.cmu.edu/ Informasi Umum:
Pengujian Perangkat Lunak dan Rekayasa Kualitas www.gslis.utexas.edu/~rpollock/tqm.htmlwww.stickyminds.com Artikel:
www.work911.com/tqmarticles.htm
Sumberdaya Six Sigma Glosarium:
www.isixsigma.com/ www.quality.org/TQM-MSI/TQM-glossary www.asq.org/sixsigma/ .html
William A. Selain tindakan-tindakan ini, grup SQA mengoordinasikan kontrol dan manajemen perubahan (Bab
Membantu 22) dan membantu mengumpulkan dan menganalisis metrik perangkat lunak.
perkembanga
n 16.3.2 Sasaran, Atribut, dan Metrik
Meninj
Tindakan SQA yang dijelaskan di bagian sebelumnya dilakukan untuk mencapai serangkaian tujuan
au
pragmatis:
aktivita
s Persyaratan kualitas. Ketepatan, kelengkapan, dan konsistensi model persyaratan akan
rekayas memiliki pengaruh kuat pada kualitas semua produk kerja yang mengikuti. SQA harus
a memastikan bahwa tim perangkat lunak telah meninjau model persyaratan dengan benar untuk
perang
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 7
menca dinilai oleh tim perangkat lunak untuk memastikan bahwa itu menunjukkan kualitas tinggi dan
pai bahwa desain itu sendiri sesuai dengan persyaratan. SQA mencari atribut desain yang
tingkat merupakan indikator kualitas.
kualita Kualitas kode. Kode sumber dan produk kerja terkait (misalnya, informasi deskriptif lainnya)
s yang harus sesuai dengan standar pengkodean lokal dan menunjukkan karakteristik yang akan
tinggi. memudahkan pemeliharaan. SQA harus mengisolasi atribut-atribut yang memungkinkan
Kualitas analisis yang wajar dari kualitas kode.
desain. Efektivitas kontrol kualitas. Tim perangkat lunak harus menerapkan sumber daya yang
Setiap terbatas dengan cara yang memiliki kemungkinan tertinggi untuk mencapai hasil berkualitas
elemen tinggi. SQA menganalisis alokasi sumber daya untuk ulasan dan pengujian untuk menilai
dari apakah mereka dialokasikan dengan cara yang paling efektif.
model
desain Gambar 16.1 (diadaptasi dari [Hya96]) mengidentifikasi atribut yang merupakan indikator untuk
keberadaan kualitas untuk setiap tujuan yang dibahas. Metrik yang dapat digunakan untuk
harus
menunjukkan kekuatan relatif suatu atribut juga ditampilkan.
SEBUAHPENDEKATA
16.4 FORMAL N UNTUK SQA
Pada bagian sebelumnya, saya berpendapat bahwa kualitas perangkat lunak adalah pekerjaan semua orang dan
dapat dicapai melalui praktik rekayasa perangkat lunak yang kompeten serta melalui penerapan tinjauan teknis,
strategi pengujian multi-tier, kontrol yang lebih baik terhadap produk kerja perangkat lunak dan perubahan
yang dibuat untuk mereka, dan penerapan standar rekayasa perangkat lunak yang diterima. Selain itu, kualitas
dapat didefinisikan
Web yang berguna tentang SQA dan metode kualitas formal dapat ditemukan di www.gslis
Ref .utexas.edu /
Infor ~ rpollock / tqm .html.
masi dalam hal berbagai atribut kualitas dan diukur (secara tidak langsung) menggunakan berbagai indeks
dan metrik.
Selama tiga dekade terakhir, segmen kecil, tetapi vokal, komunitas rekayasa perangkat lunak
berpendapat bahwa pendekatan yang lebih formal untuk jaminan kualitas perangkat lunak diperlukan.
Dapat dikatakan bahwa program komputer adalah objek matematika. Sintaks dan semantik yang ketat
dapat didefinisikan untuk setiap bahasa pemrograman, dan pendekatan yang ketat untuk spesifikasi
persyaratan perangkat lunak (Bab 21) tersedia. Jika model persyaratan (spesifikasi) dan bahasa
pemrograman dapat direpresentasikan secara ketat, harus dimungkinkan untuk menerapkan bukti
kebenaran matematika untuk menunjukkan bahwa suatu program sesuai persis dengan spesifikasinya.
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 9
10 BAGIAN KETIGA MANAJEMEN MUTU
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 11
Upaya dengan benar bukanlah hal baru. Dijkstra [Dij76a] dan Linger, Mills, dan Witt [Lin79], antara lain,
untuk menganjurkan bukti kebenaran program dan mengaitkannya dengan penggunaan konsep
uote: Untuk mengilustrasikan penggunaan metode statistik untuk pekerjaan rekayasa perangkat lunak, asumsikan
“Statistik bahwa organisasi rekayasa perangkat lunak mengumpulkan informasi tentang kesalahan dan analisis cacat,
dengan benar untuk periode satu tahun. Beberapa kesalahan ditemukan karena perangkat lunak sedang didekondisi,
adalah a
veloped. Lainnya (cacat) ditemukan setelah perangkat lunak dirilis ke diseksi yang rumit
ketidakpastian, pengguna akhir. Meskipun ratusan masalah yang berbeda terungkap, semua bisa menjadi
operasi dilacak ke satu (atau lebih) dari penyebab berikut: dugaan. "
• Spesifikasi tidak lengkap atau salah (IES)
MJ Moroney
• Misinterpretasi komunikasi pelanggan (MCC)
membuktikan pemrograman terstruktur (Bab 10).
program
12 BAGIAN KETIGA MANAJEMEN MUTU
• Kesalah
an
dalam
represe
ntasi
data
(EDR)
• Antarm
uka
kompon
en tidak
konsiste
n (ICI)
• Kesalah
an
dalam
logika
desain
(EDL)
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 13
FIGURE 16.2
Pengumpulan data untuk statistik
SQA
telah mencapai pengurangan 50 persen per tahun dalam cacat setelah menerapkan teknik
ini.
Penerapan SQA statistik dan prinsip Pareto dapat diringkas dalam satu kalimat:
Luangkan waktu Anda berfokus pada hal-hal yang benar-benar penting, tetapi pertama-tama
pastikan Anda memahami apa yang sebenarnya penting!
Apa itu • Menetapkan persyaratan dan hasil pelanggan dan sasaran proyek melalui
? sumurlangkah inti dari metode komunikasi pelanggan yang didefinisikan.
metodologi Six
Sigma? • Mengukur proses yang ada dan outputnya untuk menentukan kinerja kualitas saat ini
(kumpulkan metrik cacat).
• Menganalisa metrik cacat dan menentukan beberapa penyebab vital.
Jika proses perangkat lunak yang ada sudah ada, tetapi diperlukan perbaikan, Six Sigma
menyarankan dua langkah tambahan:
Langkah-langkah inti dan tambahan ini kadang-kadang disebut sebagai metode DMAIC
(define, ukur, analysis, improve, and control).
Jika organisasi mengembangkan proses perangkat lunak (daripada meningkatkan proses
yang ada), langkah-langkah inti ditambah sebagai berikut:
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 15
• Rancangan proses untuk (1) menghindari akar penyebab cacat dan (2) untuk
memenuhi persyaratan pelanggan.
• Memeriksa bahwa model proses akan, pada kenyataannya, menghindari cacat dan
memenuhi persyaratan pelanggan.
Variasi ini kadang-kadang disebut metode DMADV (define, ukur, analisis, desain, dan
verifikasi).
Diskusi komprehensif Six Sigma sebaiknya diserahkan kepada sumber daya yang
didedikasikan untuk subjek ini. Jika Anda memiliki minat lebih lanjut, lihat [ISI08],
[Pyz03], dan [Sne03].
uote: Masalah keandalan perangkat lunak hampir selalu dapat ditelusuri dari cacat dalam desain
atau
"Harga
keandalan
yang tidak
dapat
dihindari penerapan.
adalah
kesederhanaa
n."
CAR Hoare
Penting untuk dicatat bahwa MTBF dan tindakan terkait didasarkan pada waktu CPU, bukan
waktu jam dinding.
SPERANGKA
16.6 T LUNAK RELIABILITAS
Tidak ada keraguan bahwa keandalan program komputer adalah elemen penting dari
kualitas keseluruhannya. Jika suatu program berulang kali dan sering gagal melakukan, itu
penting sedikit apakah faktor kualitas perangkat lunak lain dapat diterima.
Keandalan perangkat lunak, tidak seperti banyak faktor kualitas lainnya, dapat diukur
secara langsung dan diperkirakan menggunakan data historis dan perkembangan. Keandalan
perangkat lunak didefinisikan dalam istilah statistik sebagai "probabilitas operasi bebas
kegagalan dari program komputer dalam lingkungan yang ditentukan untuk waktu yang
ditentukan" [Mus87]. Sebagai gambaran, program X diperkirakan memiliki keandalan
16 BAGIAN KETIGA MANAJEMEN MUTU
0,999 berlalu (waktu eksekusi), kemungkinan akan beroperasi dengan benar (tanpa kegagalan)
selama 999 kali.
delapa Kapan pun keandalan perangkat lunak dibahas, muncul pertanyaan penting: Apa yang
n jam dimaksud dengan istilah gagal? Dalam konteks diskusi tentang kualitas dan keandalan
pemros perangkat lunak, kegagalan adalah ketidaksesuaian dengan persyaratan perangkat lunak.
esan Namun, bahkan dalam definisi ini, ada gradasi. Kegagalan bisa hanya mengganggu atau
yang bencana. Satu kegagalan dapat diperbaiki dalam hitungan detik, sementara yang lain
telah membutuhkan minggu atau bahkan bulan untuk memperbaikinya. Lebih rumit lagi masalah
berlalu. ini, koreksi satu kegagalan sebenarnya bisa mengakibatkan pengenalan kesalahan lain yang
Denga akhirnya menghasilkan kegagalan lainnya.
n kata
lain, 16.6.1 Ukuran Keandalan dan Ketersediaan
jika Pekerjaan awal dalam keandalan perangkat lunak berusaha untuk mengekstrapolasi
progra matematika dari teori keandalan perangkat keras dengan prediksi keandalan perangkat
m X lunak. Sebagian besar model keandalan yang terkait dengan perangkat keras didasarkan
akan pada kegagalan karena keausan daripada kegagalan karena cacat desain. Dalam perangkat
diekse keras, kegagalan karena keausan fisik (misalnya, efek suhu, korosi, guncangan) lebih
kusi mungkin terjadi daripada kegagalan terkait desain. Sayangnya, yang terjadi justru
1000 sebaliknya untuk perangkat lunak. Faktanya, semua kegagalan perangkat lunak dapat
kali ditelusuri ke masalah desain atau implementasi; memakai (lihat Bab 1) tidak masuk ke
dan dalam gambar.
membu Ada perdebatan yang sedang berlangsung tentang hubungan antara konsep-konsep kunci
tuhkan dalam keandalan perangkat keras dan penerapannya pada perangkat lunak. Meskipun tautan
total yang tak terbantahkan masih harus dibangun, ada baiknya mempertimbangkan beberapa
delapa konsep sederhana yang berlaku untuk kedua elemen sistem.
n jam Jika kita mempertimbangkan sistem berbasis komputer, ukuran sederhana reliabilitas adalah
waktu sementara-di antara kegagalan (MTBF):
pemros
esan MTBF MTTF MTTR
yang di mana akronim MTTF dan MTTR adalah mean-time-to-failure dan mean-time-torepair, 2 masing-
telah masing.
Beberapa aspek ketersediaan (tidak dibahas di sini) tidak ada hubungannya dengan
kegagalan. Misalnya, penjadwalan waktu henti (untuk fungsi dukungan)
menyebabkan perangkat lunak tidak tersedia.
2 Meskipun debugging (dan koreksi terkait) mungkin diperlukan sebagai konsekuensi dari kegagalan, dalam
banyak kasus perangkat lunak akan bekerja dengan baik setelah restart tanpa perubahan lainnya.
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 17
u terdapat dalam suatu program tidak memiliki tingkat kegagalan yang sama, jumlah cacat total hanya
o memberikan sedikit indikasi keandalan suatu sistem. Sebagai contoh, pertimbangkan sebuah program
t yang telah beroperasi selama 3000 jam prosesor tanpa kegagalan. Banyak cacat dalam program ini
e mungkin tetap tidak terdeteksi selama puluhan ribu jam sebelum ditemukan. MTBF dari kesalahan
: yang tidak jelas tersebut mungkin 30.000 atau bahkan 60.000 jam prosesor. Cacat lain, yang belum
ditemukan, mungkin memiliki tingkat kegagalan 4000 atau 5000 jam. Bahkan jika setiap salah satu
"Kese
kategori kesalahan (yang memiliki MTBF panjang) dihapus,
lamat
an Namun, MTBF dapat menjadi masalah karena dua alasan: (1) ia memproyeksikan rentang waktu
rakya antara kegagalan, tetapi tidak memberikan kami dengan tingkat kegagalan yang diproyeksikan, dan
t (2) MTBF dapat disalahartikan sebagai rata-rata rentang hidup meskipun ini bukan apa implikasinya.
akan Ukuran alternatif keandalan adalah kegagalan-dalam-waktu (FIT) - ukuran statistik tentang berapa
menj
banyak kegagalan suatu komponen akan memiliki lebih dari satu miliar jam operasi.
adi
huku Karenanya, 1 FIT setara dengan satu kegagalan dalam setiap miliar jam operasi.
m Selain ukuran keandalan, Anda juga harus mengembangkan ukuran ketersediaan. Ketersediaan
tertin perangkat lunak adalah probabilitas bahwa suatu program beroperasi sesuai dengan persyaratan pada
ggi." titik waktu tertentu dan didefinisikan sebagai
Cicer
MTTF
o
Ketersediaan 100% MTTF
Banyak MTTR
peneliti Ukuran keandalan MTBF sama sensitifnya dengan MTTF dan MTTR. Ukuran ketersediaan agak
berpendapat lebih sensitif terhadap MTTR, ukuran tidak langsung dari pemeliharaan perangkat lunak.
bahwa MTBF
adalah ukuran 16.6.2Keamanan Perangkat Lunak
yang jauh lebih
Keamanan perangkat lunak adalah kegiatan jaminan kualitas perangkat lunak yang berfokus pada
berguna
identifikasi dan penilaian potensi bahaya yang dapat memengaruhi perangkat lunak secara negatif
daripada metrik
dan menyebabkan keseluruhan sistem gagal. Jika bahaya dapat diidentifikasi pada awal proses
perangkat lunak
perangkat lunak, fitur desain perangkat lunak dapat ditentukan yang akan menghilangkan atau
terkait kualitas
mengendalikan potensi bahaya.
lainnya yang
Proses pemodelan dan analisis dilakukan sebagai bagian dari keamanan perangkat lunak.
dibahas dalam
Awalnya, bahaya diidentifikasi dan dikategorikan berdasarkan kekritisan dan risiko. Sebagai contoh,
Bab 23. Secara
beberapa bahaya yang terkait dengan cruise control berbasis komputer untuk mobil mungkin: (1)
sederhana,
menyebabkan percepatan yang tidak terkendali yang tidak dapat dihentikan, (2) tidak menanggapi
pengguna akhir
depresi pedal rem (dengan mematikan), ( 3) tidak terlibat ketika sakelar diaktifkan, dan (4) perlahan-
khawatir dengan
lahan kehilangan atau menambah kecepatan. Setelah bahaya tingkat sistem ini diidentifikasi, teknik
kegagalan,
analisis digunakan untuk menentukan tingkat keparahan dan probabilitas terjadinya. 3 Agar efektif,
bukan dengan
perangkat lunak harus dianalisis dalam konteks keseluruhan
jumlah total
uote:
cacat. Karena
setiap cacat yang 3 Pendekatan ini mirip dengan metode analisis risiko yang dijelaskan dalam Bab 28. Perbedaan utama adalah penekanan
pada masalah teknologi daripada topik yang berkaitan dengan proyek.
18 BAGIAN KETIGA MANAJEMEN MUTU
“Aku tidak bisa i contoh, kesalahan input pengguna yang halus (orang adalah komponen sistem) dapat
membayangkan diperbesar oleh kesalahan perangkat lunak untuk menghasilkan data kontrol yang secara
kondisi apa pun tidak tepat menempatkan perangkat mekanis. Jika dan hanya jika satu set kondisi
yang akan
lingkungan eksternal terpenuhi, posisi yang tidak tepat dari perangkat mekanik akan
menyebabkan
kapal ini menyebabkan kegagalan bencana. Teknik analisis [Eri05] seperti analisis pohon kesalahan,
menjadi logika waktu-nyata, dan model Petri net dapat digunakan untuk memprediksi rantai
pendiri. peristiwa yang dapat menyebabkan bahaya dan probabilitas bahwa setiap peristiwa akan
Pembuatan terjadi untuk membuat rantai.
kapal modern Setelah bahaya diidentifikasi dan dianalisis, persyaratan terkait keselamatan dapat
telah
ditentukan untuk perangkat lunak. Artinya, spesifikasi dapat berisi daftar peristiwa yang
melampaui itu.
” tidak diinginkan dan respons sistem yang diinginkan untuk peristiwa ini. Peran perangkat
lunak dalam mengelola acara yang tidak diinginkan kemudian ditunjukkan.
EI Smith,
Meskipun perangkat lunak dapat diandalkan dan aman sepenuhnya terkait dengan orang
kapten Titanic
lain, penting untuk memahami perbedaan halus di antara mereka. Keandalan perangkat
lunak menggunakan analisis statistik untuk menentukan kemungkinan terjadinya kegagalan
perangkat lunak. Namun, kejadian yang tidak terjamin tidak perlu muncul kembali sebagai
WebRef
bencana. Keamanan perangkat lunak memeriksa cara-cara kegagalan menghasilkan kondisi
Kumpulan kertas
yang dapat menyebabkan kecelakaan. Artinya, kegagalan tidak dianggap dalam ruang
berharga tentang
keamanan hampa, tetapi dievaluasi dalam konteks seluruh sistem berbasis komputer dan
perangkat lunak lingkungannya.
dapat ditemukan
Diskusi komprehensif tentang keamanan perangkat lunak berada di luar cakupan buku
di
www.safewaree ini. Jika Anda memiliki minat lebih lanjut dalam keamanan perangkat lunak dan masalah
ng.com /. sistem terkait, lihat [Smi05], [Dun02], dan [Lev95].
sistem. WebRef
Sebaga Tautan ekstensif ke sumber daya ISO 9000/9001 dapat ditemukan di
www.t oleh ISO 9001: 2000 membahas topik-topik seperti tanggung jawab manajemen, sistem mutu,
antara tinjauan kontrak, kontrol desain, kontrol dokumen dan data, identifikasi dan penelusuran produk,
.ab .ca
/ kontrol proses, inspeksi dan pengujian, tindakan korektif dan preventif, kontrol catatan kualitas ,
info.ht audit kualitas internal, pelatihan, servis, dan teknik statistik. Agar organisasi perangkat lunak
m. didaftarkan ke ISO 9001: 2000, ia harus menetapkan kebijakan dan prosedur untuk memenuhi setiap
Persyaratan
persyaratan yang baru saja dicatat (dan lainnya) dan kemudian dapat menunjukkan bahwa kebijakan
yang
dan prosedur ini diikuti. Jika Anda menginginkan informasi lebih lanjut tentang ISO 9001: 2000,
digambarkan
lihat [Ant06], [Mut03], atau [Dob04].
Standar ISO 9001: 2000 Untuk kegiatan teknis (misalnya, analisis, desain, pengujian)
Garis besar berikut mendefinisikan elemen dasar Untuk pemantauan dan manajemen proyek
dari standar ISO 9001: 2000. Informasi lengkap tentang Tentukan metode untuk remediasi.
standar dapat diperoleh dari Organisasi Internasional untuk Nilai data dan metrik kualitas.
Standardisasi (www.iso.ch) dan sumber-sumber Internet Tetapkan pendekatan untuk proses berkelanjutan dan
lainnya (misalnya, www.praxiom.com). peningkatan kualitas.
TDI
16.8 A SQA PLAN
SQA Plan memberikan peta jalan untuk melembagakan jaminan kualitas perangkat lunak.
Dikembangkan oleh grup SQA (atau oleh tim perangkat lunak jika grup SQA tidak ada),
rencana berfungsi sebagai templat untuk aktivitas SQA yang dilembagakan untuk setiap
proyek perangkat lunak.
Standar untuk rencana SQA telah diterbitkan oleh IEEE [IEE93]. Standar
merekomendasikan struktur yang mengidentifikasi: (1) tujuan dan ruang lingkup rencana, (2)
deskripsi dari semua produk pekerjaan rekayasa perangkat lunak (misalnya, model, dokumen,
kode sumber) yang termasuk dalam lingkup SQA, (3) ) semua standar dan praktik yang
berlaku yang diterapkan selama proses perangkat lunak, (4) tindakan dan tugas SQA
(termasuk ulasan dan audit) dan penempatannya di seluruh proses perangkat lunak, (5) alat
dan metode yang mendukung tindakan dan tugas SQA, ( 6) prosedur manajemen konfigurasi
perangkat lunak (Bab 22), (7) metode untuk merakit, menjaga, dan memelihara semua catatan
terkait SQA, dan (8) peran dan tanggung jawab organisasi relatif terhadap kualitas produk.
4 Alat-alat yang dicatat di sini tidak mewakili suatu dukungan, tetapi lebih sebagai contoh alat dalam kategori ini.
Dalam kebanyakan kasus, nama-nama alat adalah merek dagang oleh pengembang masing-masing.
BAB 16 JAMINAN KUALITAS PERANGKAT LUNAK 21
16.9 SUMMARY
Jaminan kualitas perangkat lunak adalah kegiatan payung rekayasa perangkat lunak yang
diterapkan pada setiap langkah dalam proses perangkat lunak. 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.
Untuk melakukan jaminan kualitas perangkat lunak dengan benar, data tentang proses
rekayasa perangkat lunak harus dikumpulkan, dievaluasi, dan disebarluaskan. Statistik SQA
membantu meningkatkan kualitas produk dan proses perangkat lunak itu sendiri. Model
keandalan perangkat lunak memperluas pengukuran, memungkinkan data cacat yang
dikumpulkan diekstrapolasi ke dalam tingkat kegagalan yang diproyeksikan dan prediksi
keandalan.
Singkatnya, Anda harus mencatat kata-kata Dunn dan Ullman [Dun82]: "Jaminan kualitas
perangkat lunak adalah pemetaan aturan manajerial dan disiplin desain jaminan kualitas ke
ruang manajerial dan teknologi rekayasa perangkat lunak yang berlaku." Kemampuan untuk
memastikan kualitas adalah ukuran dari disiplin teknik yang matang. Ketika pemetaan
berhasil dilakukan, rekayasa perangkat lunak yang matang adalah hasilnya.
Wesley, 1996), dan Leveson [Lev95] adalah diskusi paling komprehensif tentang keamanan perangkat
lunak dan sistem yang dipublikasikan hingga saat ini. Selain itu, van der Meulen (Definisi untuk Insinyur
Keselamatan Hardware dan Software, Springer-Verlag, 2000) menawarkan ringkasan lengkap dari konsep
dan ketentuan penting untuk keandalan dan keselamatan; Gartner (Pengujian Perangkat Lunak Terkait
Keselamatan, Springer-Verlag, 1999) memberikan panduan khusus untuk pengujian sistem kritis
keselamatan; Friedman and Voas (Penilaian Perangkat Lunak: Keamanan dan Uji Keandalan, Wiley,
1995) memberikan model yang berguna untuk menilai keandalan dan keamanan. Ericson (Teknik Analisis
Bahaya untuk Keamanan Sistem, Wiley, 2005) membahas domain yang semakin penting dalam analisis
bahaya.
Berbagai sumber informasi tentang jaminan kualitas perangkat lunak dan topik terkait tersedia di
Internet. Daftar referensi World Wide Web terkini yang relevan dengan SQA dapat ditemukan di situs
web SEPAwww.mhhe.com/engcs/compsci/pressman/professional/ olc / ser.htm.
KONSEP
17
UTAMA
uji alfa. . . . . .469 uji
beta. . . . . . .469
pengujian STRATEGI
kelas. . . . .466
tinjauan konfigurasi.
. . . . . . .468 PENGUJIAN PERANGKAT LUNAK
debugging. . . . . .
SEBUAH
473
penyebaran strategi untuk pengujian perangkat lunak
pengujian. . . . . . . . . menyediakan peta jalan yang
472 menggambarkan langkah-langkah yang
kelompok uji
independen. . . . . . harus dilakukan sebagai bagian dari pengujian, ketika langkah-langkah ini direncanakan dan
452 kemudian dilakukan, dan berapa banyak upaya, waktu, dan sumber daya yang akan diperlukan.
BAB Oleh karena itu, setiap strategi pengujian harus memasukkan perencanaan pengujian, desain kasus
pengujian, pelaksanaan pengujian, dan pengumpulan serta evaluasi data yang dihasilkan.
Strategi pengujian perangkat lunak harus cukup fleksibel untuk mempromosikan pendekatan
pengujian khusus. Pada saat yang sama, itu harus cukup kaku untuk mendorong perencanaan yang
wajar dan pelacakan manajemen ketika proyek berlangsung. Shooman [Sho83] membahas
masalah ini:
Dalam banyak hal, pengujian adalah proses individualistis, dan jumlah jenis tes yang berbeda bervariasi
sebanyak pendekatan pengembangan yang berbeda. Selama bertahun-tahun, kami