Jika struktur kendali antar modul sudah terbukti bagus, maka pengujian yang tak kalah pentingnya adalah pengujian unit. Pengujian unit digunakan untuk menguji setiap modul untuk menjamin setiap modul menjalankan fungsinya dengan baik. Ada 2 metode untuk melakukan unit testing, yaitu :
White Box Testing
White box testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalhan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian dicompile ulang.
Tujuan pengujian white box untuk menguji semua statement program. Dengan menggunakan metode white box, analis sistem akan dapat memperoleh test case yang:
1. Menjamin seluruh independent path di dalam modul yang dikerjakan sekurang-kurangnya sekali
2. Mengerjakan seluruh keputusan logical
3. Mengerjakan seluruh loop yang sesuai dengan batasannya
4. Mengerjakan seluruh struktur data internal yang menjamin validitas
A. Uji Coba Basis Path
Merupakan teknik uji coba white box yang diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yang didapat digunakan untuk mengerjakan basis set yang menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.
Notasi Diagram Alir
baca record
2 : if record ke 1 = 0
3 : then proses record
simpan di buffer
naikan counter
4 : else if record ke 2 = 0
5 : then riser counter
6 : proses record
simpan pada file
7a: endif
endif
7b: enddo
Contoh :
if A or Bthen procedure x
else procedure y
endif
Node dibuat terpisah untuk masing-masing kondisi A dan B dari pernyataan IF A OR B. Masing-masing node berisi kondisi yang disebut pridicate node dan mempunyai karakteristik dua atau lebih edge darinya.
Cyclomatic ComplexityCyclomatic complexity adalah metrik software yang menyediakan ukuran kuantitatif dari kekompleksan logikal program. Apabila digunakan dalam konteks metode uji coba basis path, nilai yang dihitung untuk cyclomatic complexity menentukan jumlah jalur independen dalam basis set suatu program dan memberi batas atas untuk jumlah uji coba yang harus dikerjakan untuk menjamin bahwa seluruh perintah sekurang-kurangnya telah dikerjakan sekali.
Graph Metrik
Contoh sederhana pemakaian graph metrik dapat digambarkan sebagai berikut :
Hubungan bobot menyediakan tambahan informasi tentang aliran kontrol. Secara simpel hubungan bobot dapat diberi nilai 1 jika ada hubungan antara node atau nilai 0 jika tidak ada hubungan. Dapat juga hubungan bobot diberi tanda dengan :
1. Kemungkinan link (edge) dikerjakan
2. Waktu yang digunakan untuk proses selama traversal dari link
3. Memori yang diperlukan selama traversal link
4. Sumber daya yang diperlukan selama traversal link
B. Pengujian Loop
Loop merupakan kendala yang sering muncul untuk menerapkan algoritma dengan tepat. Uji coba loop merupakan teknik pengujian white box yang fokusnya pada validitas dari loop. Kelas loop yaitu : loop sederhana, loop tersarang, loop terangkai, loop tidak terstruktur.
Black Box Testing
Terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai outputnya maka untuk menyelesaikannya diteruskan apada white box testing.
Pengujian black box berusaha menemukan kesalahan dalam kategori :
1. Fungsi-fungsi yang tidak benar atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan kinerja
5. Inisialisasi dan kesalahan terminasi
Equivalence Partioning
Equivalence partioning merupakan metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan (misalnya : kesalahan pemrosesan dari seluruh data karakter) yang merupakan syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.
Equivalence partioning berusaha untuk mendefinisikan kasus uji yang menemukan sejumlah jeniskesalahan, dan mengurangi jumlah kasus uji yang harus dibuat. Kasus uji yang didesain untuk Equivalence partioning berdasarkan pada evaluasi dari ekuivalensi jenis/class untuk kondisi input. Class-class yang ekuivalen merepresentasikan sekumpulan keadaan valid dan invalid untuk kondisi input. Biasanya kondisi input dapat berupa spesifikasi nilai numerik, kisaran nilai, kumpulan nilai yang berhubungan atau kondisi boolean.
Ekuivalensi class dapat didefinisikan dengan panduan berikut :
1. Jika kondisi input menspesifikasikan kisaran/range, maka didefinisikan 1 yang valid dan 2 yang invalid untuk equivalence class
2. Jika kondisi input memerlukan nilai yang spesifik, maka didefinisikan 1 yang valid dan 2 yang invalid untuk equivalence class
3. Jika kondisi input menspesifikasikan anggota dari himpunan, maka didefinisikan 1 yang valid dan 1 yang invalid untuk equivalence class
4. Jika kondisi input adalah boolean, maka didefinisikan 1 yang valid dan 1 yang invalid untuk equivalence Class
Sumber :
1. Catatan Kuliah
2. http:\\google.com
0 komentar:
Post a Comment