Metode Uji Program [Galih]

download Metode Uji Program [Galih]

of 32

  • date post

    14-Oct-2015
  • Category

    Documents

  • view

    20
  • download

    0

Embed Size (px)

description

adadsa

Transcript of Metode Uji Program [Galih]

  • Galih Nur Faturrachman201210225126

    Software Technical Testing

  • Overview Elemen kritis dari jaminan kualitas Software Merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodeanMeningkatnya visibilitas Software sbg suatu elemen sistem dan biaya yg muncul akibat kegagalan SoftwareSuatu hal yg wajar bagi suatu organisasi pengembang Software u/ meningkatkan 30 s/d 40 % usaha proyek total pd tahap pengujianTeknik pengujian Software a/ membahas dasar dan teknik pengujian Software u/ desain test case Software

  • Dasar dan teknik pengujian SoftwareDasar-dasar pengujian Software menentukan sasaran penolakan bagi pengujian SoftwareDesain test case berfokus pada serangkaian teknik u/ pembuatan test case yang memenuhi keselurahan sasaran pengujianStrategi mengenai pengujian dan debugging Software a/ dibahas pada chapter selanjutnya

  • Dasar dasar pengujian SoftwarePada dasarnya, pengujian merupakan salah satu langkah pada proses Software yg dapat dianggap sbg hal yang destruktif daripada konstruktif

    Perekayasa menciptakan sederetan test case yang dimaksudkan u/ membongkar Software yang sudah dibangun

    Sasaran-sasaran pengujianPrinsip pengujianTestabilitas

  • Sasaran-sasaran pengujian

    Dalam buku klasiknya mengenai pengujian Software, Glen Myers menyatakan sejumlah aturan yg berfungsi sebagai sasaran pengujian:Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahanTest case yang baik adalah test case yang memiliki probabilitas tinggi u/ menemukan kesalahan yang belum pernah ditemukan sebelumnyaPengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya

  • Prinsip pengujianSebelum mengaplikasikan metode u/ mendesain test case yang efektif, perekayasa Software harus memahami prinsip dasar yang menuntun pengujian Software.Davis mengusulkan serangkaian prinsip pengujian yang telah diadaptasi u/ digunakan dalam buku ini: Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelangganPengujian harus direncanakan lama sebelum pengujian itu dimulaiPrinsip pareto berlaku u/ pengujian Software. Prinsip pareto mengimplikasikan bahwa 80 % dari semua kesalahan yang ditemukan selama pengujian sepertinya akan dapat ditelusuri sampai 20 persen dari semua modul programPengujian harus mulai dari yang kecil dan berkembang ke pengujian yang besarPengujian yang mendalam tidak mungkinu/ menjadi paling efektif, pengujian harus dilakukan o/ pihak ketiga

  • Testabilitas

    Seberapa mudah sebuah program komputer dapat diujiBeberapa checklist yang memberikan serangkaian karakteristik yang membawa kepada Software yang dapat diuji

    Operabilitas. semakin baik dia bekerja, semakin efisien dia dapat diujiObservabilitas. apa yang anda lihat adalah apa yang anda ujiKontrolabilitas. semakin baik kita dapat mengontrol Software, semakin banyak pengujian yang dapat diotomatisasi dan dioptimalkanDekomposabilitas. dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halusKesederhanaan. semakin sedikit yang diuji, semakin cepat kita mengujinyaStabilitas. semakin sedikit perubahan, semakin sedikit gangguan dalam pengujianKemampuan u/ dapat dipahami. semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan

  • Desain test caseMetode desain test case yang telah berkembang u/ Software yaitu black box dan white boxMetode-metode tersebut memberikan kepada pengembang sebuah pendekatan yang sistematik ke pengujianYang lebih utama metode itu memberikan mekanisme yang dapat membantu memastikan kelengkapan pengujian dan memberikan kemungkinan tertinggi u/ mengungkap kesalahan pada Software

  • Pengujian white boxPengujian white box atau biasa disebut pengujian glass boxMetode desain test case yang menggunakan struktur kontrol desain prosedural u/ memperoleh test caseDengan white box engineer dapat melakukan test case yang:Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kaliMenggunakan semua keputusan logis pada sisi true dan falseMengeksekusi semua loop pada batasan mereka dan pada batas operasional merekaMenggunakan struktur data internal u/ menjamin validitas

  • Pengujian basis pathTeknik pengujian white box yang diusulkan pertama klai o/ Tom McCabeMetode basis path ini memungkinkan desainer test case mengukur kompleksitas logis dari desain prosedural dan menggunakannya sebagai pedoman u/ menetapkan basis set dari jalur eksekusiBeberapa metode basis path yang biasa digunakan u/ pengujian basis path antara lain:Notasi Diagram Alir/ Grafik program [aliran kontrol logika yang menggunakan notasi]Kompleksitas Siklomatis [metriks Software yang memberikan pengukuran kuantitatif terhadap kompleksitas logis suatu program]Melakukan test case [lebih kepada desain prosedural/ kode sumber]Matrik grafik [stuktur data yang diumpamakan sebagai matrik grafis]

  • Pengujian Struktur KontrolTeknik pengujian basis path yang sudah dibahas sebelumnya merupakan salah satu contoh pengujian struktur kontrolMeski pengujian basis path sederhana dan sangat efektif, tetapi kurang memadaiPengujian struktur kontrol ini diharapkan bisa meningkatkan kualitas pengujian white box

  • Beberapa pengujian struktur kontrol yang bisa digunakan antara lain:Pengujian kondisi sebuah metode desain test case yang menggunakan kondisi logis yang ada pada suatu program Pengujian aliran data metode ini memilih jalur pengujian dari suatu program sesuai dengan lokasi definisi dan menggunakan variabel-variabel pada programPengujian Loop first stone u/ mayoritas algoritma yang diimplementasikan pada Software. Pengujian Loop merupakan teknik pengujian white box yang secara eksklusif berfokus pada validitas konstruksi loop

  • Definisi dari empat kelas loop yang berbeda:Loop SederhanaLoop TersarangLoop TerangkaiLoop Tidak Terstruktur

  • Pengujian Black BoxPengujian ini berfokus pada persyaratan fungsional SoftwarePengujian Black Box memungkinkan Software engineer mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional u/ suatu programPendekatan komplementer yang memungkinkan besar mampu mengungkap kesalahan dari metode white boxTidak seperti pengujian white box yang dilakukan pada saat awal proses pengujian, pengujian black box cenderung diaplikaskan selama tahap akhir pengujian

  • Pengujian black box berusaha menemukan kesalahan dalam kategori seperti:Fungsi-fungsi yang tidak benar / hilangKesalahan interfaceKesalahan dalam struktur data/ akses database eksternalKesalahan kinerjaInisialisasi dan kesalahan terminasi

  • Metode pengujian Graph-BasedLangkah pertama pada pengujian black box adalah memahami objek yang dimodel di dalam Software dan hubungan yang a/ menghubungkan objek tersebutLangkah selanjutnya menentukan sederetan pengujian yang membuktikan bahwa semua objek memiliki hubungan yang diharapkan satu dengan yang lainnyau/ melakukan langkah tersebut engineer memulainya dengan membuat suatu grafik- sekumpulan simpul yang merepresentasikan objek; link yang merepresentasikan hubungan antar objek; node weight yang menggambarkan properti dari suatu simpul (mis. Nilai data tertentu/ tingkah laku keadaan), dan weight yang menggambarkan beberapa karakteristik suatu linkSimpul grafik program yang berisi instruksi (objek program) menandai representasi desain prosedural/ kode sumberDan link terarah menunjukkan aliran kontrol diantara objek-objek program ini.

  • Objek #1 = new file menu selectObjek #2 = document windowObjek #3 = document text

    seperti pada gambar, pemilihan menu New File menghasilkan Document Window. Node weight dari document window memberikan daftar atribut window tersebut yang akan diharapkan pada saat window dimunculkanlink tak terarah membangun hubungan simetris di antara new file select menu dan document text

  • Partisi EkivalensiAdalah metode pengujian black box yang membagi domain input dari suatu program ke dalam kelas data dari mana test case dapat dilakukanDesain test case u partisi ekivalensi didasarkan pada evaluasi terhadap kelas ekivalensi u/ suatu kondisi inputSecara khusus, suatu kondisi input dapat berupa harga numeris, suatu rentang harga, atau serangkaian harga terkait, atau sebuah kondisi boolean

  • Studi kasus Software yang dipasok u/ aplikasi perbankan menerima data dalam bentuk:Kode area kosong / tiga nomor digitPrefik tiga nomor digit tidak dimulai dengan 1 atau 0Sufik empat nomor digitPassword enam nilai digitPerintah cek, deposit dll

    Kondisi input yang sesuai dengan masing-masing elemen data u/ aplikasi perbankan dapat ditentukan sebagai:Kode area: boolean kode area mungkin / tidak mungkin range nilai yang ditentukan antara 200 dan 999Prefiks: range harga yang ditetapkan > 200 dengan tanpa digit 0Sufik: harga panjang empat digitPassword: boolean password ada / tidak ada harga antrian enam karakterPerintah: himpunan berisi perintah yang sudah ditulis di atas

  • Metode pengujian Black box yang lain:Analisis Nilai Batas/ Boundary Value Analysis: Teknik desain proses yang melengkapi partisi ekivalensi. BVA lebih mengarah kepada pemilihan test case edge dari kelasPengujian Perbandingan/ pengujian back to back: setiap versi dapat diuji dengan data uji yang sama untuk memastikan bahwa semua versi memberikan output yang identik

  • Pengujian untuk aplikasi dan lingkungan khususSaat Software komputer menjadi kompleks, maka kebutuhan akan pendekatan pengujian yang khusus juga makin berkembangPada metode ini akan dibahas pedoman pengujian bagi lingkungan, arsitektur, dan aplikasi khusus yang umumnya ditemui oleh para Software engineering seperti:Pengujian GUIPengujia