Senin, 07 Mei 2012

TEKNIK PENGUJIAN SOFTWARE

Dasar-dasar Pengujian Software - Tujuan Pengujian, Prinsip-Prinsip, Kemampuan Pengujian - Desain Kasus Test Software - Pengujian White Box - Kompleksitas Cyclomatic - Matriks Grafik - Mengontrol Pengujian Struktur (tidak termasuk) - Pegujian Kondisi ( tidak termasuk) - Pengujian Aliran Data ( tidak termasuk) - Pengujian Pengulangan ( tidak termasuk) - Pengujian Black-Box - Metode pengujian Graph-Based (tidak termasuk) - Pembagian Kesamaan - Analisis Batas Nilai - Tes Perbandingan (tidak termasuk) Test Pokok Software Test Software adalah sebuah unsur kritis dari jaminan kualitas dan menghadirkan tinjauan ulang spesifikasi, desain dan persandian. Test Software menunjukkan bahwa fungsi software tampak seperti bekerja menurut spesifikasi dan syarat tampilan Tujuan Pengujian: Myers [ MYE79] negara sebuah aturan yang dapat melayani baik seperti menguji sasaran hasil: Pengujian adalah suatu proses pelaksanaan suatu program dengan tujuan menemukan suatu kesalahan.Suatu kasus test yang baik adalah apabila test tersebut mempunyai kemungkinan menemukan sebuah kesalahan yang tidak terungkap.Suatu test yang sukses adalah bila test tersebut membongkar suatu kesalahan tidak ditemukan hingga kini. Tujuan utama dari pengujian adalah untuk mendesain test yang secara sistematik membongkar jenis kesalahan dengan usaha dan waktu minimum Prinsip-Prinsip Pengujian Software Davids [ DAV95] menyarankan satu set pengujian prinsip: Semua test harus dapat dilacak ke kebutuhan pelanggan.Test harus direncanakan dengan baik sebelum pengujian mulai. - Prinsip Pareto berlaku untuk pengujian - 80% dari semua kesalahan yang terungkap selama pengujian akan mudah dapat dilacak bagi20% dari semua modul program Pengujian seharusnya mulai “ dari yang kecil” dan pengujian perkembangan ke arah “yang besar”.Pengujian menyeluruh adalah tidak mungkin. - Paling efektif, pengujian harus diselenggarakan oleh suatu pihak ketiga mandiri. Software Testability Kemampuan Test Software Menurut Yakobus Bach: Pengujian kemampuan Software adalah contoh bagaimana dengan mudahnya suatu program komputer dapat diuji. Satu perangkat karakteristik program mendorong kearah kemampuan pengujian software: Kemampuan Mengoperasi “ makin baik berjalan, maka semakin efisien dapat diuji.” Kemampuan Observasi : “ Apa yang kamu lihat adalah apa yang kamu uji.” Kemampuan mengendalikan : “ Makin baik kita dapat mengendalikan software, semakin pengujian dapat diotomatiskan dan dioptimalkan.” Kemampuan memisahkan: Dengan mengendalian lingkup pengujian, kita dapat dengan cepat mengisolasikan permasalahan dan melaksanakan pengujian kembali yang lebih baik.” Kesederhanaan: “ Semakin sedikit yang diuji, semakin dengan cepat kita dapat menguji itu.” Stabilitas: “ Lebih sedikit perubahan, lebih sedikit gangguan untuk menguji.” Kemampuan memahami :”Semakin banyak informasi yang kita punya , semakin lebih baik kita dalam menguji.” Kasus Tes Mendisain Dua software umum menguji pendekatan: Pengujian Black Box dan White Box Pengujian Black-Box: Mengetahui fungsi yang spesifik dari suatu software, test disain untuk mempertunjukkan masing-masing fungsi dan mengecek kesalahannya. Fokus utama: fungsi, operasi, alat penghubung eksternal, informasi dan data eksternal Pengujian White-Box : Mengetahui internal dari suatu software, tes disain untuk melatih semua internal-internal dari suatu software untuk meyakinkan mereka dapat beroperasi menurut spesifikasi dan disain Fokus utama: struktur internal, alur logika, arus kendali, aliran data, struktur data internal, kondisi-kondisi, pengulangan dan lain lain Pengujian White Box dan Pengujian Alur Basis Pengujian White-Box, juga dikenal sebagai pengujian glass-box. Ini merupakan suatu kasus test mendisain metoda yang digunakan struktur kendali dari disain prosedur mengenai cara untuk memperoleh test kasus.Menggunakan metode pengujian white-box, kita memperoleh kasus test yang Menjamin bahwa semua alur mandiri di dalam suatu modul telah dicoba paling sedikit sekali. Melatih semua keputusan logis satu sisi benar dan salah Melaksanakan semua pengulangan pada batasan-batasan mereka dan di dalam batas operasional mereka. Melatih struktur data internal untuk meyakinkan kebenarannya. Pengujian Alur basis dasar ( suatu teknik pengujian white-box):Diusulkan pertama oleh Tommccabe [ MCC76]. Dapat digunakan untuk memperoleh suatu ukuran kompleksitas logis untuk suatu disain prosedur.Digunakan sebagai suatu panduan untuk penjelasan suatu basis perangkat alur pelaksanaan. Jaminan untuk melaksanakan tiap-tiap statemen di dalam program sedikitnya sekali. Kompleksitas Cyclomatic Kompleksitas Cyclomatic adalah suatu perangkat lunak metrik-> menyediakan suatu ukuran yang kwantitatif menyangkut kompleksitas yang global dari suatu program. Manakala metrik ini digunakan dalam konteks pengujian alur basis, nilai menghitung untuk kompleksitas cyclomatic menggambarkan banyaknya alur mandiri di dalam basis satuan suatu program. Tiga jalan untuk menghitung kompleksitas cyclomatic: - Banyaknya daerah dari grafik arus sesuai dengan kompleksitas yang cyclomatic itu. - Kompleksitas Cyclomatic, V(G), untuk suatu grafik arus G digambarkan sebagai V(G)= E- N + 2 di mana E adalah banyaknya arus tepi grafik dan N adalah banyaknya puncak arus. - Kompleksitas Cyclomatic, V(G)= P+ 1 di mana P adalah banyaknya tangkai predikat terdapat di grafik arus G. Menurunkan Kasus Test Langkah 1: Menggunakan kode atau disain sebagai pondasi, menggambarsuatu bersesuaian grafik arus. Langkah 2: Menentukan kompleksitas cyclomatic dari resultan aliran grafik. Langkah 3: Menentukan suatu basis satuan secara linier alur mandiri. Sebagai contoh, alur 1: 1-2-10-11-13 alur 2: 1-2-10-12-13 alur 3: 1-2-3-10-11-13 a alur 4: 1-2-3-4-5-8-9-2-… alur 5: 1-2-3-4-5-6-8-9-2-.. alur 6: 1-2-3-4-5-6-7-8-9-2-.. Langkah 4: Menyiapkan kasus test yang akan memaksa pelaksanaan dari tiap alur di dalam perangkat basis Alur 1: menguji kasus: nilai ( k)= input yang valid, di mana k< I digambarkan di bawah. nilai ( i)= - 999, di mana 2 <= I<= 100 hasil diharapkan: mengoreksi rata-rata didasarkan pada nilai k menilai dan jumlah yang tepat Kesamaan Penyekatan Kesamaan Penyekatan adalah suatu metode pengujian black-box - membagi daerah masukan dari suatu program ke dalam kelas data - memperoleh kasus test berdasar pada sekat ini. Test Kasus mendisain untuk penyekatan kesamaan didasarkan pada suatu evaluasi kelas kesamaan untuk suatu daerah masukan. Suatu kelas kesamaan menghadirkan satu sperangkat yang valid atau yang tidak valid untuk kondisi input.. Suatu kondisi masukan adalah: - suatu nilai klasifikasi spesifik, bidang nilai-nilai- satu set nilai - nilai terkait, atau suatu kondisi Boolean Kelas Kesamaan Kelas Kesamaan dapat digambarkan penggunaannya dengan petunjuk berikut : Jika suatu kondisi masukan menetapkan suatu cakupan, yang sah dan dua kelas kesamaan cacat digambarkan. Jika suatu kondisi input memerlukan suatu nilai spesifik, yang sah dan dua kelas kesamaan cacat digambarkan. Jika suatu kondisi input menetapkan suatu anggota dari suatu set, satu yang sah dan satu kelas kesamaan cacat digambarkan. Jika suatu kondisi masukan adalah Boolean, satu sah dan satu kelas cacat digambarkan. Contoh: kode area: kondisi input, Boolean- kode area boleh atau tidak mungkin disajikan. kondisi input, cakupan- nilai digambarkan antara 200 dan 900 kata sandi: kondisi input, Boolean- suatu kata sandi tidak atau tidak mungkin disajikan. Kondisi input, nilai- enam rangkaian karakter. perintah: kondisi input, perangkat- yang berisi perintah yang dicatat sebelumnya Analisis Nilai Batas Analisis nilai Batas Batas menghargai analysis(BVA) - suatu kasus test mendisain teknik - melengkapi ke sasaran sekat kesamaan: Analisis nilai batas memimpin ke arah suatu pemilihan kasus test yang dicoba membatasi nilai-nilai. Petunjuk: - Jika suatu kondisi input menetapkan suatu cakupan yang dibatasi oleh nilai a dan b, kasus pengujian harus dirancang dengan nilai a dan b, sedikit di atas dan di bawah a dan b. Contoh: Bilangan bulat D dengan kondisi input [- 3, 10], nilai test : - 3, 10, 11, - 2, 0 - Jika suatu kondisi input menetapkan suatu nilai-nilai nomor;jumlah, kasus test harus dikembangkan untuk berlatih angka-angka maksimum dan yang minimum. Nilai yang sedikit di atas dan di bawah maksimum dan minimum juga diuji. Contoh: Menyebut satu persatu data E dengan kondisi input: { 3, 5, 100, 102} nilai test : 3, 102, - 1, 200, 5 Analisis Nilai Batas Petunjuk 1 dan 2 diberlakukan bagi kondisi output. - Jika struktur data program internal sudah menentukan batasan-batasan, yakinkan untuk mendisain suatu kasus test untuk mencoba struktur data pada batas nya Seperti struktur data - susunan kondisi input: unsur kosong, tunggal, unsur penuh, diluar batas mencari-cari unsur - unsur ada di dalam susunan atau unsur adalah tidak di dalam susunan Kamu dapat memikirkan struktur data lain - daftar, menetapkan, tumpukan, antri, dan pohon