Makalah Pengujian Penjaminan Mutu Perang
Makalah Pengujian Penjaminan Mutu Perang
Disusun Oleh :
Teknik Informatika
Fakultas Teknik
2016
PEMBAGIAN TUGAS FIREWALL
i
DAFTAR ISI
ii
1. Pengertian Pengujian Perangkat Lunak
1
lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang
teliti. Pengujian termasuk dalam teknik verifikasi dan validasi (V & V).
Pengujian melibatkan pelatihan perangkat lunak dengan memakai data seperti data
riil yang diolah oleh perangkat lunak. Tujuan akhir dari proses verifikasi dan
validasi adalah menanamkan kepercayaan bahwa sistem perangkat lunak “siap
untuk tujuannya”.
Pada saat V & V perangkat lunak, kesalahan pada perangkat lunak
biasanya ditemukan dan kemudian diubah untuk membetulkan kesalahan tersebut.
Proses debug ini seringkali terintegrasi dengan kegiatan verifikasi dan validasi
lain. Bagaimanapun, pengujian (atau lebih umum verifikasi dan validasi) dan
debug merupakan proses yang berbeda yang tidak harus diintegrasikan (Ridwan,
2013):
1. Verifikasi dan Validasi adalah proses yang meyakinkan adanya kesalahan
pada sistem perangkat lunak.
2. Debug merupakan proses yang menemukan dan membetulkan kesalahan
tersebut.
2
• Mengidentifikasikan dan menemukan beberapa kesalahan yang
mungkin ada dalam Perangkat Lunak yang diuji
• Setelah Perangkat Lunak dibetulkan, diidentifikasi ulang kesalahan
dan dites ulang untuk menjamin kualitas level penerimaan
• Membentuk tes yang efisien dan efektif dengan anggaran dan
jadwal yang terbatas.
• Mengumpulkan daftar kesalahan untuk digunakan dalam daftar
pencegahan kesalahan (tindakan corrective dan preventive).
3. Tipe Pengujian
3
menguji sistem. Data uji kadang – kadang dibangkitkan secara otomatis.
Pembangkitan kasus uji otomatis tidak mungkin dilakukan karena output
uji tidak dapat diramalkan.
4
Input data uji
Sistem
Keterangan :
Ie : Input yang menyebabkan perilaku menyimpang
Oe : Output yang mengungkapkan adanya cacat
5
Black box testing melakukan pengujian tanpa pengetahuan
detil struktur internal dari sistem atau komponen yang dites.
6
diuji dengan data uji yang sama untuk memastikan bahwa semua
versi memberikan output yang identik. Disebut juga pengujian
back to back.
7
Gambar 3. representasi simbolik dari grafik
Keterangan :
8
2. Equivalence Partitioning (Partisi ekuivalensi)
3. Comparison Testing
9
yang masing-masing mengembangkan perangkat lunak sendiri-sendiri
untuk spesifikasi yang sama.
10
menggunakan struktur kontrol dari desain program secara procedural
untuk membagi pengujian ke dalam beberapa kasus pengujian.
Penentuan kasus uji disesuaikan dengan struktur system, pengetahuan
mengenai program digunakan untuk mengidentifikasikan kasus uji
tambahan.
Data Uji
Kode
Komponen Output uji
11
Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai
dengan kenyataan, untuk di analisa dan diperbaiki.
Kesalahan ketik. Mendeteksi bahasa pemrograman yang bersifat
case sensitive.
12
Gambar 6. Notasi Diagram Alir
13
Endif (9)
Endif (10)
Writeln(‘Nilai C = ‘,C); (11)
End. (12)
14
Grey Box Testing biasa di gunakan pada software berorientasi
object, dimana object–object tersebut adalah unit terpisah yang memiliki
kode eksekusi atau data. Contoh aplikasi yang membutuhkan Grey Box
Testing :
Architectural model
Unified Modeling Language – UML Design Model
Finite-state machine – State Model.
Pengujian Grey Box ini cocok untuk Aplikasi WEB. Aplikasi Web
telah didistribuasikan jaringan atau system, karena tidak adanya sumber
kode atau binary, tidak mungkin untuk menggunakan pengujian, white-
box. Pengujian Black-box juga tidak digunakan karena hanya melakukan
kontrak Antara pelanggan dan pengembang, sehinggal lebih efisien
menggunakan Grey-box testing sebagai informasi penting yang tersedia
dalam Web Service Definition Language (WSDL).
15
3. Pengujian Stress
4. Prinsip-prinsip Pengujian
16
modul program. Hanya saja kita sulit untuk mengetahui modul yang
mengalami kesalahan dan mengujinya dengan teliti.
4. Pengujian harus mulai “dari yang terkecil” dan berkembang ke pengujian
“yang besar”.
Pengujian biasanya dilakukan terhadap modul program individual. Selagi
pengujian berlangsung, maka seluruh modul yang terintegrasi lebih mudah
diuji.
5. Pengujian yang mendalam tidak mungkin.
Jumlah jalur permutasi pada perangkat lunak sangat besar, oleh karena itu
sulit untuk melakukan pengujian terhadap semua jalur skema pengujian.
Akan tetapi setidaknya kita dapat mengetahui bahwa logika yang tertuang
dalam perancangan perangkat lunak itu telah tepat dan memastikan semua
kondisi telah teruji.
6. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga
yang independen.
Arti dari “paling efektif” adalah pengujian yang memiliki peluang
tertinggi untuk menemukan kesalahan. Perekayasa perangkat lunak yang
membuat sistem bukanlah orang yang paling tepat untuk melakukan
semua pengujian bagi perangkat lunak.
Dalam berbagi kasus pengujian terkadang sulit untuk menentukan
keberhasilan maupun kelayakan dari pengujian tersebut. Dalam melaksanakan
pengujian terdapat beberapa point untuk menentukan keberhasilan dari pengujian
yang dilakukan. Di antaranya :
17
Pengujian yang baik tidak redundan
Mengingat adanya batasan waktu dalam melakukan sebuah pengujian
maka efektifitas ahrus dipertimbangkan sehingga diupayakan dalam
pengjian hanya dilakukan untuk kasus yang berbeda.
Pengujian yang baik haruslah “jenis terbaik”
Penguji harus dapat menentukan jenis pengujian yang terbaik yang dapat
digunakan untuk menemukan banyak jenis kesalahan pada perangkat
lunak.
Pengujian yang baik tidak boleh terlalu sederhana maupun terlalu
kompleks
Pengujian harus dilakukan terpisah untuk test case yang berbeda. Jangan
dilakukan secara bersama-sama.
Eror sistem (system eror), Perilaku eror sistem dimana perilaku, sistem
yang tidak sesuai dengan spesifikasinya
Kesalahan sistem (system fault), Status sistem yang tidak benar, yaitu
status sistem yang tidak diharapkan oleh perancang sistem.
Eror atau kesalahan manusia (human error), Perilaku manusia yang
mengakibatkan kesalahan sistem.
Telah diketahui bahwa salah satu tujuan dari pengujian terhadap perangkat
lunak, adalah untuk menemukan suatu kesalahan. Kesalahan-kesalahan tersebut
mempunyai tingkatan-tingkatan yang diukur dengan istilah yang dimengerti oleh
manusia. Tingkatan-tingkatan kesalahan tersebut dikategorikan sebagai berikut :
18
1. Mild (Ringan)
Gejala dari kesalahan yang mengganggu kita secara estetis
Kesalahan pengejaan
Kesalahan penempatan
2. Moderate (sedang)
Kesalahan yang berpengaruh pada penampilan system
Informasi yang menyesatkan
3. Annoying (menjengkelkan)
Kesalahan dari sistem karena adanya suatu virus.
Nama yang terpotong
Tagihan untuk Rp. 0,00 di cetak / dikirim
4. Disturbing (mengganggu)
Sistem menolak untuk menangani transaksi yang sah
Kartu kredit yang dilaporkan tidak bisa digunakan
5. Serious (serius)
Perhitungan yang salah
Hal ini menghilangkan hubungan pada proses transaksi
Tidak mencetak setiap pembayaran
7. Extreme (besar)
Masalah yang tidak terbatas pada beberapa transaksi
Sering berubah-ubah atau masalah yang tidak lazim
19
8. Intolerable (kurang tahan)
Pertimbangan yang serius diberikan untuk mematikan system.
20
Sistem dan variabel yang lalu dapat dilihat atau diantrikan (misalnya,
logaritma transaksi)
Semua faktor yang mempengaruhi output dapat dilihat.
Output yang tidak benar dapat diidentifikasi dengan mudah.
Kesalahan internal dideteksi secara otomatis melalui mekanisme
pengujian itu sendiri.
Kesalahan internal dilaporkan secara otomatis.
Kode sumber dapat diakses.
21
Fungsi yang sederhana (kumpulan fitur adalah kebutuhan minimum untuk
memenuhi persyaratan).
Struktur yang sederhana (arsitektur dimodularisasi untuk membatasi
penyebaran kesalahan).
Kode yang sederhana (standar pengkodean diadopsi demi kemudahan
inspeksi dan pemeliharaan)
22
DAFTAR PUSTAKA
23
24