Lompat ke konten Lompat ke sidebar Lompat ke footer

Pendekatan dalam Teknik Pengujian Perangkat Lunak (Software)

Pendekatan dalam Teknik Pengujian Perangkat Lunak (Software) - Terdapat 2 (dua) tingkatan yang tersedia pada proses pengujian, yaitu  :
  • Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikasi perancangan, test case, dan program sumber.
  • Konfigurasi pengujian yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan.

Desain Test Case

Dengan melihat lagi sasaran pengujian, kita harus mendesain pengujian yang memiliki kemungkinan tertinggi dalam menemukan kesalahan dengan jumlah waktu dan usaha yang minimum.

Terdapat 2 (dua) macam test case  :
  • Pengetahuan fungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, test dapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalan sebagaimana yang diharapkan.
  • Pengetahuan tentang cara kerja dari produk, test dapat dilakukan untuk memperlihatkan cara kerja dari produk secara rinci sesuai dengan spesifikasinya.
Pendekatan dalam Teknik Pengujian Perangkat Lunak (Software)_
image source: qatestlab.com
baca juga:

Terdapat dua pendekatan dalam teknik pengujian perangkat lunak  :
  • Black Box Testing
Dilakukan untuk testing pada interface perangkat lunak. Test  case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah  informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya.

  • White Box Testing
Meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) yang melewati perangkat lunak diuji dengannmemberikan test case yang menguji serangkaian kondisi  dan loop secara spesifik.

Secara sekilas dapat disimpulkan bahwa metoda White Box Testing merupakan petunjuk untuk mendapatkan program yang benar, karena semuanya dilakukan dengan mendefinisikan seluruh jalur logika, mengembangkan test case untuk mengerjakan program, dan mengevaluasi hasilnya, sehingga test case akan mengerjakan logika program secara mendalam.

WHITE BOX TESTING

Pengujian white box adalah metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case.
Pengujian White Box disebut juga :
  • Glass Box Testing (Pengujian kotak bening)
  • Code Base Testing  (Source kodenya dimunculkan)
  • Structural Testing (Struktur program ditampilkan)

Dengan menggunakan metoda White Box Testing, perekayasa sistem akan dapat melakukan test case yang   :
  1. Menjamin bahwa seluruh independent path di dalam modul telah dikerjakan paling tidak satu kali.
  2. Mengerjakan seluruh keputusan logika pada sisi true dan false
  3. Melaksanakan seluruh loop sesuai dengan batasannya
  4. Mengerjakan seluruh struktur data internal yang menjamin validitas

BASIS-PATH TESTING

Pengujian basis path adalah teknik pengujian white box yang diusulkan oleh Tom MacCabe.
Tujuannya memperoleh ukuran kekomplekan logikal dari perancangan prosedural dan menggunakannya sebagai petunjuk untuk menetapkan basis set dari jalur eksekusi.

Objek dari pengujian path adalah untuk meyakinkan bahwa penerapan masalah ujian untuk masing-masing path yang melalui program dilaksanakan setidaknya sekali.

Point permulaan dari pengujian path adalah Folwgraph program yang menunjukkan keputusan program dan aliran kontrol.

Metode pengujian basis path dapat diaplikasikan pada desain prosedural atau kode sumber.

Cyclomatic Complexity
  • Adalah metrik perangkat lunak yang menyediakan ukuran kuantitatif dari kekomplekan logika suatu program.
  • Nilai yang dihitung untuk cyclomatic complexity menentukan jumlah independent path dalam basis set suatu program.
  • Memberikan batas atas bagi jumlah pengujian yang harus dilakukan untuk memastikan bahwa seluruh statemen telah dilaksanakan sedikitnya sekali.
  • Independet path adalah jalur yang melintasi atau melalui program dimana sekurang-kurangnya terdapat proses perintah yang baru atau kondisi yang baru.
  • Dalam flowgraph, independent path harus bergerak sekurang-kurangnya pada satu edge yang belum dilewati sebelum jalur tersebut didefinisikan.

Cyclomatic Complexity digunakan untuk mencari jumlah path dalam satu flowgraph. Dapat dicari dengan 3 (tiga) metode, yaitu  :
  • Cyclomatic comlpexity V untuk flowgraph dihitung dengan rumus :
V(G)  =  E – N + 2
dimana  E = jumlah Edge, dan N = jumlah Node
  • Cyclomatic comlpexity V untuk flowgraph dapat dicari dengan          rumus :
V(G) =  P + 1
dimana P = jumlah predikat node
  • Jumlah region dalam flowgraph mempunyai hubungan dengan cyclomatic complexity.
V(G)  =  R
Nilai cyclomatic complexity memberi batas untuk jumlah jalur independen yang membentuk basis set dan implikasinya, batas atas jumlah pengujian yang harus didesain dan dieksekusi untuk menjamin semua statemen program.

Graph metrik
  • Adalah matrik empat persegi yang mempunyai ukuran (jumlah baris dan kolom) yang sama dengan jumlah node pada flowgraph.
  • Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan.
  • Pemasukan data matrik berhubungan dengan hubungan (edge) antarnode.
  • dikembangkan untuk membantu pengujian basis path atau struktur data.

LOOP TESTING

Loop merupakan kendala yang sering muncul untuk menerapkan algoritma dengan cepat. Pengujian loop merupakan teknik pengujian white box yang berfokus pada validitas dari loop. Terdapat 4 kelas dari loop,  :
  • Simple loop.
  • Nested loop.
  • Concanated loop.
  • Unstructured loop.

Simple Loop
  • Diaplikasikan pada bentuk loop yang sederhana, dimana n adalah jumlah maksimum yang diijinkan untuk melalui loop.
  • lewati loop secara keseluruhan.
  • hanya satu yang melalui loop
  • m dapat melalui loop dimana m = n atau m < n

Nested loop
  • teruskan sampai semua loop selesai diuji.

Concanated Loop
  • Dapat diuji dengan menggunakan pendekatan simple loop bila masing-masing dari loop independent terhadap yang lain.
  • Bila dua loop dirangkai dan pencacah loop untuk  loop 1 digunakan sebagai harga awal untuk loop 2, kemudian loop tersebut menjadi tidak independen, maka pendekatan yang diaplikasikan ke loop tersebut direkomendasikan.

Unstructured Loop
  • Apabila memungkinkan, kelas loop ini harus didesain lagi untuk mencerminkan penggunaan konsepsi pemrograman terstruktur.

Black Box Testing
  • Ÿ  Metode pengujian black box berfokus pada keperluan fungsional dari perangkat lunak dan domain informasi.
  • Ÿ  Analis sistem memperoleh kumpulan kondisi dari input yang akan mengerjakan seluruh keperluan fungsional program.
  • Ÿ  Cenderung diaplikasikan selama tahap akhir pengujian.
  • Ÿ  Disebut juga pengujian behavioral/pengujian partisi/pengujian interface.
  • Ÿ  Memperhatikan dari sudut pandang Input data dan Output data.
  • Perangkat lunak ditinjau sebagai kotak hitam yang menyalurkan input kepada output berdasarkan rincian dimana perangkat lunak tersebut harus melakukannya.
  • Periksa kecocokan dari pengujian S/W yang membentuk tingkah laku.
  • Mencari kesalahan-kesalahan yang dihasilkan oleh kesalahan
  • ŸKesalahan perangkat lunak adalah bagian dari perangkat lunak yang tidak menurut pada penyedian definisi itu sendiri dalam dokumen pengembangan.
Tujuannya untuk mencari kesalahan-kesalahan pada  :
  • Fungsi yang salah atau hilang.
  • Kesalahan pada interface.
  • Kesalahan pada struktur data atau akses database.
  • Kesalahan performansi (kinerja).
  • Kesalahan initialisasi dan tujuan akhir.
Type dari pengujian black box  :
  1. Equivalence Class Partitioning. (pembagian kelas yang sama)
  • Metode pengujian black box yang memecah atau membagi domain input dari suatu program ke dalam kelas-kelas data.
  • Perancangan test case berdasarkan evaluasi kelas equivalence untuk kondisi input.
  • Kelas equivalence menggambarkan kumpulan keadaan yang valid dan tidak valid untuk kondisi input.
  • Kondisi input dapat berupa nilai numerik, range dari nilai, kumpulan nilai yang berhubungan atau kondidi boolean.
Kelas equivalence dapat ditentukan sesuai pedoman berikut ini  :
  • Bila kondisi input menentukan suatu range, maka kelas equivalence valid dan dua yang invalid ditentukan.
  • Bila kondisi input membutuhkan suatu harga khusus, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
  • Bila kondisi input menentukan anggota suatu himpunan, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
  • Bila kondisi input adalah boolean, maka satu kelas dan satu yang tidak valid ditentukan.
Contoh  :
Dalam persamaan matematika.
1 juta <= Gaji <= 5 juta
Valid        :               1 juta samapi 5 juta
Invalid     :               kurang dari 1 juta lebih dari 5 juta
  1. Boundary Value Analysis.(analisa penilaian terbatas)
  • Untuk permasalahan yang tidak diketahui dengan jelas, akan cenderung menimbulkan kesalahan pada domain output-nya.
  • Pemilihan test case yang mengerjakan nilai-nilai yang telah ditentukan.
  • Melengkapi equivalence class partitioning.
Petunjuk pemakaian BVA  :
  • Jika kondisi input berupa range yang dibatasi oleh nilai a dan b, test case harus dirancang dengan nilai a dan b.
  • Jika kondisi input ditentukan dengan sejumlah nilai, test case harus dikembangkan dengan mengerjakan sampai batas maksimal dari nilai tersebut.
  • Sesuai dengan 1 dan 2, untuk kondisi output harus dirancang test case sampai jumlah maksimal.
  • Untuk struktur data pada program juga harus dirancang sampai batas kemampuan.
  1. Comparison Testing. (pengujian perbandingan)
  • Perangkat keras dan perangkat lunak yang berlebihan memungkinkan untuk digunakan.
  • Menggunakan team yang terpisah untuk mengembangkan versi-versi yang independent dari perangkat lunak dengan menggunakan spesifikasi yang sama.
  • Mencoba masing-masing versi dengan data yang sama untuk  memastikan bahwa semua versi memberikan output yang identik.
  • Semua versi dieksekusi secara paralel dengan perbandingan real time hasil untuk memastikan konsistensi.
  • Output dari masing-masing versi sama implementasi benar.
  • Output berbeda masing-masing versi dari aplikasi diperiksa untuk menentukan cacat pada suatu versi (perbedaan jelas)
  • Spesifikasi semua fungsi yang dikembangkan mengandung kesalahan, maka semua versi kemungkinan besar merefleksikan kesalahan.
  • Masing-masing versi independen identik tetapi tidak benar, maka pengujian kondisi akan gagal mendeteksi kesalahan.

Sekian artikel tentang Pendekatan dalam Teknik Pengujian Perangkat Lunak (Software). Semoga bermanfaat.
Nikita Dini
Nikita Dini Blogger, Internet Marketer, Web Designer

Posting Komentar untuk "Pendekatan dalam Teknik Pengujian Perangkat Lunak (Software)"