PENGUJIANPERANGKAT LUNAK

A. Dasar-Dasar Pengujian PerangkatLunak
Pada proses RPL, pelaku RPLmula-mula berusaha untuk membangun perangkat lunak mulai dari konsep abstraksampai kepada tahap implementasi yang dapat dilihat, baru kemudian dilakukan pengujian.


Pada pengujian perangkat lunak,pelaku RPL menciptakan sekkumpulan kasus uji untuk diujikan kepada perangkatlunak. Proses ini lebih terkesan berusaha untuk ”membongkar: perangkat lunakyang sudah dibangun. Proses pengujian merupakan tahapan dalam RPL di manasecara fisik terlihat lebih banyak sisi deskriptifnya dibandingkan sosokonstruktifnya karenatujuannya adalah untuk menemukan kesalahan pada perangkatlunak.
Pengujian adalah prosespemeriksaan atau evaluasi sistem atau komponen sistem secara manual atauotomatis untuk memverifikasi apakah sistem memenuhi kebutuhan yangdispesifikasikan atau mengindikasikan perbedaan-perbedaan antara yangdiharapkan dengan hasil yang terjadi.
Pengujian seharusnya meliputi 3konsep, yaitu:
1. Demonstrasi validitas perangkatlunak pada masing-masing tahap di siklus pengembangan system
2. Penentuan validitas sistem akhirdikaitkan dengan kebutuhan pemakai
3. Pemeriksaan prilaku sistem denganmengeksekusi sistem pada data sample pengujian
Dasar pengujian perangkat lunak:

  1. Sebelum proses perangkat lunak,perekayasa pertaama-tama akan membangun dari konsep abstrak ke implementasiyang dapat dinilai, baru kemudian dilakukan pengujian.
  2. Perekayasa menciptakan Test Caseuntuk ”membongkar” perangkat lunak yang sudah di bangun.
  3. Tahap pengujian ini pada dasarnyadi anggap destruktif dari pada konstruktif
Dalam melakukan uji coba ada 2masalah penting yang akan dibahas, yaitu:
a. Teknik uji coba perangkat lunak
b. Strategi uji coba perangkat lunak


1. Sasaran Pengujian Perangkat Lunak
Sasaran pengujian perangkat lunak antara lain:
a. Pengujian adalah proses mengeksekusi program dengan tujuan khusus untuk menemukan kerusakan.
b. Kasus uji yang baij adalah yang memiliki tingkat kemungkinan tinggi untuk menemukan kerusakan yang belum ditemukan
c. Pengujian dikatakan berhasil jika berhasil menemukan kerusakan yang belum ditemukan.
Sasaran di atas sekaligus mengimplikasikan adanya perubahan cara pandang di mana sebelumnya dikatakan bahwa pengujian yan gberhasil adalah pengujian yang tidak menemukan kesalahan.
Jika pengujian sukses dilakukan, maka akan ditemukan kesalahan dalam perangkat lunak. Sebagai keuntungan tambahan, pengujian menunjukkan bahwa fungsi perangkat lunak bekerja sesuai spesifikasi dan bahwa persyaratan kinerja telah dipenuhi.
Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai realibilitas oerangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Akan tetapi, pengujian tidak dapat memperlihatkan bahwa perangkat lunak yang diuji tidak memiliki cacat.


2. Prinsip Pengujian Perangkat Lunak
Serangkaian prinsip pengujian perangkat lunak antara lain:
a. Semua pengujian harus dapat ditelusuri sampai ke kebutuhan pelanggan.
b. Pengujian harus direncanakan lama sebelum pengujian dimulai.
c. Prinsip pareto berlaku untuk pengujian perangkat lunak. Prinsip pareto mengimplikasikan bahwa 80% dari semua kesalahan yang ditemukan selama pengujian akan dapat ditelusuri sampai 20 % dari modul program. Permasalahannya adalah bagaimana mengisolasi modul yang dicurigai dan mengujinya dengan teliti.
d. Pengujian harus mulai ”dari yang kecil” dan berkembang ke pengujian ”yang besar”.
e. Tidak mungkin melakukan pengujian yang mendalam.
f. Agar memperoleh pengujian yang paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independen. Maksudnya, agar pengujian memiliki tingkat kemungkinan yang tinggi untuk menemukan kesalahan, maka pelaku RPL yang membuat sistem tersebut bukanlah orang yang paling tepat untuk melakukan semua pengujian bagi perangkat lunak.

3. Motivasi Pengujian
  • Acceptance Testing
  • Defect Testing
4. Tahap Pengujian
  • Perencanaan pengujian
  • Perancangan pengujian
  • Eksekusi pengujian
  • Analisis hasil pengujian
5. Kesalahan Pengujian
  • Kesalahan fungsionalitas (programbertindak berbeda disbanding yang dikehendaki)
  • Kesalahan kehilangan (suatufungsionalitas yang diperlukan tidak ada)
  • Kesalahan yang memanifestasidengan penghentian program
6. Atribut Pengujian Yang Baik:
  • Memiliki probabilitas yang tinggimenemukan kesalahan.
  • Tidak redundan.
  • Harusnyaa ’jenis terbaik’.
  • Tidak boleh terlalu sederhana atauterlalu kompleks.
B. DESAIN TEST CASE
Desain test case merupakan metode pengujianuntuk perangkat lunak untuk memastikan
kelengkapan pengujian dan memberikan kemungkinan tertinggi untuk mengungkap kesalahan pada perangkat lunak.
Semua produk yang direkayasa dapat diuji dengan satu atau dua cara :
1. Dengan mengetahui fungsi yang ditentukan dimana produk yang dirancang untuk melakukanya, pengujian dapat dilakukan untuk memperlihatkan bahwa masing­-masing
fungsi beroperasi sepenuhnya, pada waktu yang sama mencari kesalahan pada setiap
fungsi.
2. Dengan mengetahui kinerja internal suatu produk, maka pengujian dapat dilakukan untuk memastikan bahwa semua roda gigi berhubungan, yaitu operasi internal bekerja sesuai dengan spesifikasi dan semua komponen internal telah diamati dengan baik.
Terdapatbermacam-macam rancangan metode test case yang dapat digunakan, semuamenyediakan pendekatan sistematis untuk uji coba, yang terpenting mer=todemenyediakan kemungkinan yang cukup tinggi menemukan kesalahan.
Terdapat2 macam test case, yaitu:
a. Pengetahuanfungsi yang spesifik dari produk yang telah dirancang untuk diperlihatkan, testdapat dilakukan untuk menilai masing-masing fungsi apakah telah berjalansebagaimana yang diharapkan.
b. Pengetahuantentang cara kerja produk, test dapat dilakukan untuk memperlihatkan cara kerjadari produk secara rinci sesuai dengan spesifikasinya.
TeknikPengujian
Duamacam pendekatan test yaitu:
a. BlackBox Testing
Test case ini bertujuan untuk menunjukkan fungsi perangkat lunaktentang cara beroperasinya, apakah pemasukan data keluaran telah berjalansebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternalselalu dijaga kemutakhirannya.
b. WhiteBox Testing
Adalah meramalkan cara kerja perangkat lunak secara rinci,karenanya logical path (jalur logika) perangkat lunak akan ditest denganmenyediakan test case yang akan mengerjakan kumpulan kondisi dan ataupengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white boxtesting merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

C. PENGUJIAN WHITE BOX
1. Pengujian White Box adalah metode desain test case yang menggunakan struktur controldesain procedural untuk memperoleh test case.
2. Disebut juga pengujian glass­box.
3. Dengan pengujian white­box, perekayasa dapat melakukan :
a. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah
digunakan paling tidak satu kali.
b. Menggunakan semua keputusan logis pada sisitrue and false.
c. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka.
d. Menggunakan struktur data internal untuk menjamin validitasnya.

D. PENGUJIAN BASIS PATH
Pengujian basis path memungkinkan desain test case mengukur kompleksitas logiss dari desainmprocedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalureksekusi. Test case yang dilakukan untuk menggunakan basis set tersebut dijamin untukmenggunakan setia statemen di dalam program paling tidak sekali selama pengujian.
Notasi Diagram Alir
DiagramAlir atau grafik program menggambarkan aliran control logika.Sebelum metode basis path dapat diperkenalkan, notasi sederhana untukrepresentasi aliran control yang disebut diagram alir harus diperkenalkan. Padagambar dibawah ini masing-masing lingkaran disebut simpul grafik alir,yang merepresentasikan satu atau lebihstatemen procedural. Anak panah pada grafik alir tersebut yang disebut edgesatau links, merepresentasikan aliran control dan analog dengan anak panah baganalir.
Edges harusberhenti pada suatu simpul, meskipun bila simpul tersebut tidakmerepresentasikan statemen procedural (seperti if-then-else). Area yangdibatasi oleh edge dan simpul disebut region.
Notasi diagramalir:
1. Sequence


2. If

3. While



4. Until



5. Case
Kompleksitas Siklomatis
Kompleksitas Siklomatis adalah metric perangkat lunak yang memberikan pengukurankuantitaif terhadap kompleksitas logis suatu program.Kompleksitas Siklomatis menentukan jumlah jalur independen dalam basis set suatuprogram dan memberikan batas atas bagi jumlah pengujian yang harus dilakukan untukmemastikan bahwa semua statemen telah dieksekusi sedikitnya satu kali.Jalur independen adalah jalur yang melalui program yang mengintroduksi sedikitnya saturangkaian statemen proses baru atau suatu kondisi baru.

E. PENGUJIAN STRUKTURAL KONTROL
Teknikpengujian basis path yang digambarkan di atas adalah satu dari sejumlah teknikuntuk pengujian struktur control. Meskipun pengujian basis path sederhana dansangat efektif, tetapi pengujian ini tidak memadai.
Pengujian Kondisi
Merupakansebuah metode desain test case yang menggunakan kondisi logis yang ada pada suatu program. Kondisi sederhanaadalah variable Boolean atau suatu persamaan hubugan, dapat didahului dengansatu operator NOT.
Bila terdapatsuatu kondisi tidak benar, maka paling tidak satu komponen dari kondisitersebut salah. Dengan demikian tipe kesalahan pada suatu kondisi meliputi berikutini:
a. Kesalahan operator Boolean(ada operator Booleanyang salah/hilang/ekstra)
b. Kesalahan variable Boolean
c. Kesalahan tanda kurung Boolean
d. Kesalahan operator rasional
e. Kesalahan persamaan aritmatika
Metodepengujian kondisi berfokus pada pengujian masing-masing kondisi di dalamprogram. Metode ini mempunyai 2 keuntungan yaitu:
a. Pengukuran kupasan pengujian dari satu kondisiadalah sederhana
b. Cakupan pengujian terhadapa kondisi di dalamsuatu program memberikan pedoman untuk melakukan pengujian tambahan untukprogram tersebut.
Tujuanpengujian kondisi adalah mendeteksitidak hanya kesalahan di dalam kondisi program, tetapi juga kesalahan lain padaprogram.
Pengujian Aliran Data
Metode inimemilih jalur pengujian dari suatu program sesuai dengan lokasi definisi danmenggunakan variable-variable pada program. Strategi pengujian aliran databerguna untuk memilih jalur pengujian dari suatu program yang berisi if danloop yang tersarang.
Pengujian Loop
Loop adalahbatu pertama untuk mayoritas algoritma yang diimplementasikan pada perangkarlunak. Pengujian loop merupakan teknik pengujian white-box yang secara ekslusifberfokus pada validitas konstruksi loop. Empat jelas loop yang berbeda dapatdidefinisikan:
a. Loop sederhana
b. Loop terangkai
c. Loop tersarang
d. Loop tidak terstruktur
F. PENGUJIAN BLACK­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 kesalahan pada:
  1. Fungsi­-fungsi yang tidak benar atau hilang
  2. Kesalahan padainterface
  3. Kesalahan pada struktur data atau akses database.
  4. Kesalahan performansi
  5. Kesalahan inisialisasi dan tujuanakhir.
Metode Black-box ini tidak berfokus pada struktur control seperti pengujian white-box tetapi pada domain informasi. Dengan mengaplikasikan teknik black­-box maka kita menarik serangkaian test case yang memenuhi kriteria berikut:
  1. Test case yang mengurangi, dengan harga lebih dari satu, jumlah test case tambahan yang harus di desain untuk mencapai pengujian yang dapat dipertanggung jawabkan.
  2. Test case yang memberi tahu kita sesuatu mengenai kehadiran atau ketidakhadirankelas kesalahan, daripada member tahu kesalahan yang berhubungan hanya dengan pengujian spesifik.

















Komentar

Postingan populer dari blog ini

strategi pengujian perangkat lunak