Pengujian black box berfokus pada persyaratan fungsional perangkat lunak. Disebut juga pengujian behavioral atau pengujian partisi. Pengujian black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian input yang sepenuhnya menggunakan semua persyaratan fungsional untuk
suatu program. Pengujian black box berusaha menemukan :
· Fungsi-fungsi yang tidak benar atau hilang
· Kesalahan interface
· Kesalahan dalam struktur data atau akses database eksternal.
· Kesalahan kinerja
· Inisialisasi dan kesalahan terminasi.
Dengan mengaplikasikan teknik black box, maka kita menarik serangkaian test case yang
memenuhi kriteria berikut :
· Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case
tambahan yang harus di desain untuk mencapai pengujian yang dapat
dipertanggungjawabkan.
· Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran
kelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya
dengan pengujian spesifik.
Tampilkan postingan dengan label Tugas Softskill 3. Tampilkan semua postingan
Tampilkan postingan dengan label Tugas Softskill 3. Tampilkan semua postingan
Senin, 31 Mei 2010
PENGUJIAN WHITE BOX
· Pengujian White Box adalah metode desain test case yang menggunakan struktur control
desain procedural untuk memperoleh test case.
· Disebut juga pengujian glassbox.
· Dengan pengujian whitebox, perekayasa dapat melakukan :
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali.
2. Menggunakan semua keputusan logis pada sisi true and false.
3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
4. Menggunakan struktur data internal untuk menjamin validitasnya.
desain procedural untuk memperoleh test case.
· Disebut juga pengujian glassbox.
· Dengan pengujian whitebox, perekayasa dapat melakukan :
1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali.
2. Menggunakan semua keputusan logis pada sisi true and false.
3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
4. Menggunakan struktur data internal untuk menjamin validitasnya.
Atribut-Atribut Pengujian Perangkat Lunak yang Baik
1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan.
2. Pengujian yang baik tidak redudan.
3. Pengujian yang baik seharusnya “jenis terbaik”,
4. Pengujian yang tidak boleh terlalu sederhana atau terlalu kompleks.
2. Pengujian yang baik tidak redudan.
3. Pengujian yang baik seharusnya “jenis terbaik”,
4. Pengujian yang tidak boleh terlalu sederhana atau terlalu kompleks.
Karakteristik yang Membawa Perangkat Lunak Dapat Diuji
1. Operabilitas, Semakin baik dia bekerja, semakin efisien dia diuji.
2. Obsaikervabilitas, “Apa yang anda lihat adalah apa yang anda uji”.
3. Kontralabilitas, “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak
pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas, “Dengan mengontrol ruang lingkup pengujian, kita dapat dengen lebih
cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
5. Kesederhaaan, “Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’
2. Obsaikervabilitas, “Apa yang anda lihat adalah apa yang anda uji”.
3. Kontralabilitas, “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak
pengujian yang dapat diotomasisasi dan dioptimalkan”.
4. Dekomposabilitas, “Dengan mengontrol ruang lingkup pengujian, kita dapat dengen lebih
cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”.
5. Kesederhaaan, “Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’
6. Stabilitas, “Semakin sedikit perubahan, semakin sedikit gangguan dalam pengujian’.
7. Kemampuan untuk dapat dipahami, “Semakin banyak informasi yang kita miliki,
semakin halus pengujian yang akan dilakukan’.
7. Kemampuan untuk dapat dipahami, “Semakin banyak informasi yang kita miliki,
semakin halus pengujian yang akan dilakukan’.
Sasaran Pengujian Perangkat Lunak
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan
kesalahan yang belum pernah ditemukan sebelumnya.
3. Pengujian yang sukses dadalah pengujian yang mengungkapkan semua kesalahan yang
belum pernah ditemukan sebelumnya.
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan
kesalahan yang belum pernah ditemukan sebelumnya.
3. Pengujian yang sukses dadalah pengujian yang mengungkapkan semua kesalahan yang
belum pernah ditemukan sebelumnya.
Dasar-Dasar Pengujian Perangkat Lunak
Pengembang perangkat lunak sesuai dengan sifatnya dasar mereka adalah manusia pembangun.
Pengujian mengharuskan pengembang membuang pemikiran-pemikiran
sebelumnya mengenai
“kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang
terjadi pada saat kesalahan ditemukan.
Pengujian mengharuskan pengembang membuang pemikiran-pemikiran
sebelumnya mengenai
“kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang
terjadi pada saat kesalahan ditemukan.
TEKNIK PENGUJIAN PERANGKAT LUNAK
Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak
dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
Teknik Pengujian White Box dan Black Box
Tehnik Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.
Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.
Tehnik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.
Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekuivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima.
Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client atau server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak.
Pengujian Perangkat Lunak
Adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.
Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.
Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah:
1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya
3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya
Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak.
Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu:
Ø semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal.
Ø Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan.
Ø Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.
Ø Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah focus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem.
Ø Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar.
Ø Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent
Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program computer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program computer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.
Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top-Down.
Black Box Testing dan White Box Testing
- Black box testing
- Menguji fungsi-fungsi khusus dari aplikasi.
- Test input dan output untuk fungsi yang ada tanpa memperhatikan prosesnya
- Beberapa jenis kesalahan yang dapat diidentifikasi :
- Fungsi tidak benar atau hilang
- Kesalahan antar muka
- Kesalahan pada struktur data (pengaksesan basis data)
- Kesalahan inisialisasi dan akhir program
- Kesalahan performasi.
- White Box Testing
- Untuk mengetahui cara kerja suatu perangkat lunak secara internal
- Untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang
- Pelaksanaan pengujian white box :
- Menjamim seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.
- Menjalani logical decision pada sisi dan false
- Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan
- Menguji struktur data internal
PERANCANGAN PENGUJIAN PERANGKAT LUNAK BERORIENTASI OBYEK
Pengujian adalah suatu proses pengeksekusian program yang
bertujuan untuk menemukan kesalahan (Berard, 1994). Pengujian sebaiknya
menemukan kesalahan yang tidak disengaja dan pengujian dinyatakan
sukses jika berhasil memperbaiki kesalahan tersebut. Selain itu, pengujian
juga bertujuan untuk menunjukkan kesesuaian fungsi-fungsi perangkat lunak
dengan spesifikasinya.
Pengujian dapat dikategorikan atas :
1. Pengujian terhadap proses pengembangan sistem dan dokumendokumen
pendukung. Proses berarti sejumlah aktivitas yang
didukung oleh dokumen yang mendeskripsikan aktivitas-aktivitas.
2. Pengujian terhadap analisis dan model perancangan. Dalam sistem
berorientasi objek, pengujian model analisis dan perancangan
adalah hal yang sangat penting.
3. Pengujian secara statik dan dinamik untuk implementasi. Tujuannya
adalah mencari kesalahan sedini mungkin dalam proses, tetapi
kesalahan dalam kode untuk sistem yang besar dan kompleks tidak
dapat dihindarkan. Pengujian statik merupakan inspeksi kode untuk
menemukan kesalahan logic. Pengujian dinamik merupakan
eksekusi dengan data uji untuk menemukan kesalahan dalam kode.
Perangkat lunak berorientasi objek berbeda dari perangkat lunak
procedural (konvensional) dalam hal analisis, perancangan, struktur dan
teknik-teknik pengembangannya. Bahasa pemrograman berorientasi objek
mempunyai ciri-ciri adanya pembungkusan (encapsulation),
keanekaragaman (polymorphism), dan pewarisan (inheritance) yang
membutuhkan dukungan pengujian tertentu.
Fokus pengujian perangkat lunak berorientasi objek dimulai pada
hasil analisisnya, dilanjutkan pada hasil perancangannya, dan diakhir pada
hasil pemrogramannya. Model yang dihasilkan pada
analisis dan perancangan harus diperiksa terutama dalam hal :
1. Semantic correctness, yaitu kesesuaian model dengan domain
permasalahan di dunia nyata. Jika model merefleksikan dunia nyata
secara akurat, berarti model tersebut benar secara semantik, dan
2. Consistency, yaitu kesesuaian kelas dengan objek turunannya
maupun kesesuaian asosiasi kelas dengan kelas lainnya.
bertujuan untuk menemukan kesalahan (Berard, 1994). Pengujian sebaiknya
menemukan kesalahan yang tidak disengaja dan pengujian dinyatakan
sukses jika berhasil memperbaiki kesalahan tersebut. Selain itu, pengujian
juga bertujuan untuk menunjukkan kesesuaian fungsi-fungsi perangkat lunak
dengan spesifikasinya.
Pengujian dapat dikategorikan atas :
1. Pengujian terhadap proses pengembangan sistem dan dokumendokumen
pendukung. Proses berarti sejumlah aktivitas yang
didukung oleh dokumen yang mendeskripsikan aktivitas-aktivitas.
2. Pengujian terhadap analisis dan model perancangan. Dalam sistem
berorientasi objek, pengujian model analisis dan perancangan
adalah hal yang sangat penting.
3. Pengujian secara statik dan dinamik untuk implementasi. Tujuannya
adalah mencari kesalahan sedini mungkin dalam proses, tetapi
kesalahan dalam kode untuk sistem yang besar dan kompleks tidak
dapat dihindarkan. Pengujian statik merupakan inspeksi kode untuk
menemukan kesalahan logic. Pengujian dinamik merupakan
eksekusi dengan data uji untuk menemukan kesalahan dalam kode.
Perangkat lunak berorientasi objek berbeda dari perangkat lunak
procedural (konvensional) dalam hal analisis, perancangan, struktur dan
teknik-teknik pengembangannya. Bahasa pemrograman berorientasi objek
mempunyai ciri-ciri adanya pembungkusan (encapsulation),
keanekaragaman (polymorphism), dan pewarisan (inheritance) yang
membutuhkan dukungan pengujian tertentu.
Fokus pengujian perangkat lunak berorientasi objek dimulai pada
hasil analisisnya, dilanjutkan pada hasil perancangannya, dan diakhir pada
hasil pemrogramannya. Model yang dihasilkan pada
analisis dan perancangan harus diperiksa terutama dalam hal :
1. Semantic correctness, yaitu kesesuaian model dengan domain
permasalahan di dunia nyata. Jika model merefleksikan dunia nyata
secara akurat, berarti model tersebut benar secara semantik, dan
2. Consistency, yaitu kesesuaian kelas dengan objek turunannya
maupun kesesuaian asosiasi kelas dengan kelas lainnya.
Langganan:
Postingan (Atom)