Rabu, 11 Januari 2017

PERTEMUAN_14

A. White Box Testing

Adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang.

Kelebihan dan Kekurangan White Box Testing

Kelebihan :

  • Kebenaran program dalam mendefinisikan algoritma dapat diketahui secara langsung dengan pengolahan path.
  • Menentukan kualitas pekerjaan coding dan pengaruhnya untuk standar coding.
Kekurangan :
  • Jumlah biaya untuk white box testing lebih besar daripada biaya yang dibutuhkan untuk black box, untuk ukuran software yang sama.
  • Belum mampu melakukan tes ketersediaan, kehandalan, daya tahan beban dan testing – testing lain yang berhubungan dengan kebutuhan faktor – faktor untuk operasi, revisi dan transisi.
 B. Black Box Testing
Adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box).
Pengujian Black Bo
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.
  • Kesalahan performansi
  • Kesalahan inisialisasi dan tujuan akhir
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  didesain untuk mencapai pengujian yang dapat
  • Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran
    kelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya
    dengan pengujian spesifik.
TEST ABILITAS :

Testabilitas Perangkat Lunak adalah seberapa mudah sebuah program komputer dapat diuji. Karena pengujian sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi mudah. 

DESAIN TEST CASE :

Terdapat bermacam-macam rancangan metode test case yang dapat digunakan, semua menyediakan pendekatan sistematis untuk uji coba. Yang terpenting metode menyediakan kemungkinan yang cukup tinggi untuk menemukan kesalahan.

DESAIN TEST CASE 2 :

Terdapat 2 macam test case :

  1. Pengetahuan tentang fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan.
  2. Pengetahuan tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.
B. BLACK BOX TESTING :

Adalah metode pengujian perangkat lunak yang tes fungsionalitas dari aplikasi yang bertentangan dengan struktur internal atau kerja (lihat pengujian white-box).

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.
  • Kesalahan performansi
  • Kesalahan inisialisasi dan tujuan akhir
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  didesain untuk mencapai pengujian yang dapatdipertanggungjawabkan.
  • Test case yang member tahu kita sesuatu mengenai kehadiran atau ketidakhadiran
    kelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya
    dengan pengujian spesifik.
Keunggulan dan Kekurangan Black Box:
Keunggulan :

  • Black box testing dapat menguji keseluruhan fungsionalitas perangkat lunak.
  • Black box testing dapat memilih subset test yang secara efektif dan efisien dapat menemukan cacat. Dengan cara ini black box testing dapat membantu memaksimalkan testing investment.
Kekurangan :

  • Ketika tester melakukan black box testing, tester tidak akan pernah yakin apakah perangkat lunak yang diuji telah benar-benar lolos pengujian.

PERTEMUAN_13

STRATEGI PENGUJIAN PERANGKAT LUNAK

Dalam strategi pengujianperangkat lunak dapat digambarkan dengan ilustrasi berikut: Sebuah perangkat lunak dimulai daripenentuan kebutuhan perangkat lunak, kemudian prose dilanjutkan ke dalam bentukrancangan, dan akhirnya ke pengkodean. Strategi pengujian serupa dengan haltersebut, dimulai dengan unit testing di pusat spiral di mana masing-masingmodul/unit dari perangkat lunak yang diimplementasikan dalam source codemenjadi sasaran pengujian. Kemudian dilakukan integration testing dengan focuspengujian adalah desain dan kontruksi arsitektur perangkat lunak. Selanjutnyadilakukan validation testing dengan sasaran pengujian adalah kesesuaian dengankebutuhan perangkat lunak yang telah ditentukan di awal. Terakhir padalingkaran terluar spiral sampai pada system testing, di mana perangkat lunakdan keseluruhan sistem diuji.

A. Pendekatan Strategis ke Pengujian Perangkat lunak 

Pengujianmerupakan rangkaian aktivitas yang dapat direncanakan sebelumnya dan dilakukansecara sistematis. Strategi uji coba perangkat lunak memudahkan para perancanguntuk menentukan keberhasilan system yg telah dikerjakan. Hal yg harusdiperhatikan adalah langkah-langkah perencanaan dan pelaksanaan harusdirencanakan dengan baik dan berapa lama waktu, upaya dan sumber daya ygdiperlukan Strategi uji coba mempunyai karakteristik sbb :

  1. Pengujian mulai pada tingkat modul yg paling bawah,dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan
  2. Teknik pengujianyang berbeda mungkin menghasilakn sedikit perbedaan (dalam hal waktu)
  3. Pengujian dilakukan oleh pengembang perangkat lunak dan (untuk proyek yang besar) suatukelompok pengujian yang independen.
  4. Pengujian dandebugging merupakan aktivitas yang berbeda, tetapi debugging termasuk dalamstrategi pengujian.Validasi dan validasiVerifikasi dan validasi merupakandua istilah yang sering dikaitkan dengan tahapan pengujian perangkat lunak.Verifikasi mengacu pada serangkaian aktivitas untuk memastikan bahwa perangkatlunak mengimplementasikan fungsi tertentu secara benar, sedangkan validasimengacu pada serangkaian aktivitas untuk memastikan bahwa perangkat lunak yangtelah dibuat sesuai denga kebutuhan konsumen.Definisi V&V mencakupserangkaian aktivitas dari penjaminan kualitas perangkat lunak (SQA) yangmeliputi kajian teknis formal, audit kualitas dan control, monitoring kinerja,simulasi, studi feasibilitas, kajian dokumentasi, kajian basisdata, analisisalgoritma, pengujian pengembangan, pengujian kualifikasi, dan pengujianinstalasi.
B. Masalah Masalah Strategis

Masalah-masalah berikut harus diselesaikanbila pengujian ingin berlangsung sukses :

  1. Menspesifikasikan kebutuhan produkpada kelakuan yang terukur sebelum pengujian dimulai. Strategi pengujian yangbaik tidak hanya untuk menenmukan kesalahan, namun juga unutk menilai kualitasprogram.
  2. Menspesifikasikan tujuan pengujiansecara eksperangkat lunakisit. Sasaran spesifik dari pengujian harus dinyatakandalam bentuk yang terukur
  3. Mengidentifikasikan kategori useruntuk perangkat lunak dan membuat profilnya masing-masing. Beberapa kasus yangmenggambarkan scenario interaksi bagi masing-masing kategori dapat mengurangikerja pengujian dengan memfokuskan pengujian pada penggunaan actual produk.
  4. Membangun rencana pengujian yangmenegaskan rapid cycle testing. Umpan balik yang muncul dari rapid cycletesting dapaat digunakan untuk mengontrol kualitas dan strategi pengujian yangsesuai.
  5. Membangun perangkat lunak yang tangguhyang dirancang untuk menguji dirinya sendiri. Perangkat lunak dapatmendiagnosis jenis-jenis kesalahan tertentu dan mengakomodasi pengujianotomatis dan pengujian regresi.
  6. Menggunakan tinjauan formal yang efektif sebagai filter sebekum pengujian.Kajian teknis formal dapat mengungkap kesalahan seefektif pengujian sehinggadapat mengurangi jumlah kerja pengujian.
  7. Mengadakan tinjauan formal dapatmengungkap inkonsistensi, penghapusan, dan kesalahan seketika dalam pendekatanpengujian.
  8. Membangun pendekatan yang meningkatsecara berkelanjutan untuk proses pengujian. Strategi pengujian harus terukur.Metric yang terkumpul selama pengujian harus digunakan sebagai bagian daripendekatan control proses statistical bagi pengujian perangkat lunak.
     
    C. Pengujian Unit      
Unit testing (uji coba unit) fokusnya pada usahaverifikasi pada unit terkecil dari desain perangkat lunak, yakni modul. Ujicoba unit selalu berorientasi pada white box testing dan dapat dikerjakanparalel ayau beruntun dengan modul lainnya.

Pertimbangan Pengujian Unit :

Interface modul diuji untuk memastikan bahwa informasisecara tepat mengalir masuk dan keluar dari inti program yang diuji. Strukturdata local diuji untuk memastikan bahwa data yang tersimpan secara temporaldapat tetap menjaga integritasnya selama semua langkah langkah di dalamsuatu algoritma dieksekusi. Kondisi batas diuji untuk memastikan bahwa modulberoperasi dengan tepat pada batas yang ditentukan untuk membatasipemrosesan. Semua jalur independen(jalur dasar) yang melalui struktur controldipakai sedikirnya satu kali. Dan akhirnya penanganan kesalan diuji.

Prosedur Pengujian Unit :

Sumber telah dikembangkan, ditunjang kembali dandiverifikasi untuk sintaksnya, maka perancangan test case dimulai. Peninjauankembali perancangan informasi akan menyediakan petunjuk untuk menentukan testcase. Karena modul bukan program yg berdiri sendiri maka driver (pengendali)dan atau stub perangkat lunaK harus dikembangkan untuk pengujian unit.
Driver adlprogram yg menerima data untuk test case dan menyalurkan ke modul yg diuji danmencetak hasilnya.
Stub melayanipemindahan modul yg akan dipanggil untuk diuji


Performance Testing :

  • Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses dan konfigurasi.
  • Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak. Misal : pada aplikasi Client-Server diujikan pada kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)
  • Menguji sistem dengan hubungannya ke sistem yang lain pada server yang sama.
  • Load Balancing Monitor
  • Network Monitor
Data Security Testing :

  • Privilege access terhadap database diujikan pada beberapa user yang tidak memiliki privilege access ke database.
  • Shutdown database engine melalui operating system (dengan beberapa perintah OS) yang dapat mematikan aplikasi database.