SlideShare uma empresa Scribd logo
1 de 16
KUIS REKAYASA PERANGKAT LUNAK
   Disusun Untuk Memenuhi Salah Satu Tugas

               Mata Kuliah RPL




                Disusun Oleh :

             DEDE SUBHAN 207700350




      FAKULTAS SAINS DAN TEKNOLOGI

         UNIVERSITAS ISLAM NEGERI

      SUNAN GUNUNG DJATI BANDUNG

                     2009
1. APA FUNGSI DARI PENGUJIAN TERHADAP PERANGKAT LUNAK ?

Definisi
Pengujian adalah proses untuk menemukan error pada perangkat lunak sebelum
di-delivery kepada pengguna.


      Pengujian    software   merupakan       elemen   yang   kritis   dari   SQA   dan
merepresentasikan tinjauan ulang yang menyeluruh terhadap spesifikasi,desain
dan pengkodean. Pengujian merepresentasikan ketidaknormalan yang terjadi
pada pengembangan software. Selama definisi awal dan fase pembangunan,
pengembang berusaha untuk membangun software dari konsep yang abstrak
sampai dengan implementasi yang memungkin.
      Para pengembang membuat serangkaian uji kasus yang bertujuan untuk
”membongkar”      software    yang   mereka    bangun.   Kenyataannya,        pengujian
merupakan salah satu tahapan dalam proses pengembangan software yang
dapat dilihat (secara psikologi) sebagai destruktif, dari pada sebagai konstruktif.
Pengembang software secara alami merupakan orang konstruktif. Pengujian
yang diperlukan oleh pengembang adalah untuk melihat kebenaran dari software
yang dibuat dan konflik yang akan terjadi bila kesalahan tidak ditemukan. Dari
sebuah buku, Glen Myers menetapkan beberapa aturan yang dapat dilihat
sebagai tujuan dari pengujian :


1. Pengujian merupakan proses eksekusi program dengan tujuan untuk
menemukan kesalahan
2. Sebuah pengujian kasus yang baik adalah yang memiliki probabilitas yang
tinggi dalam menemukan kesalahan-kesalahan yang belum terungkap
3. Pengujian yang berhasil adalah yang mengungkap kesalahan yang belum
ditemukan Sehingga tujuan dari pengujian ini adalah mendesain serangkaian tes
yang secara sistematis mengungkap        beberapa jenis kesalahan yang berbeda
dan melakukannya dalam waktu dan usaha yang minimum.
4. Jadi pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi
untuk mencari sebanyak mungkin kesalahan yang ada pada program Jadi
pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk
mencari sebanyak mungkin kesalahan yang ada pada program
2. APA MANFAAT DARI PENGUJIAN TERHADAP PERANGKAT LUNAK ?

      Manfaat yang didapat apabila pengujian diselenggarakan dengan sukses,
maka akan membongkar kesalahan yang ada didalam perangkat lunak, manfaat
lain dari pengujian adalah menunjukkan bahwa fungsi perangkat lunak telah
bekerja sesuai dengan spesifikasi, dan kebutuhan fungsi telah tercapai. Sebagai
tambahan, data yang dikumpulkan pada saat pengujian dilaksanakan akan
menyediakan suatu indikasi keandalan perangkat lunak yang baik dan beberapa
indikasi mutu perangkat lunak secara keseluruhan.




   Alur informasi test (Test Information Flow)

   Alur informasi untuk ujicoba mengikuti pola seperti gambar diatas. Dua
kategori input yang disediakan untuk proses ujicoba adalah :


1. Software configuration yang terdiri dari spesifikasi kebutuhan software,
spesifikasi desain dan kode sumber;
2. Test configuration yang terdiri dari rencana dan prosedur ujicoba, Tools
ujicoba apapun yang dapat digunakan, dan kasus ujicoba termasuk hasil yang
diharapkan. Pada kenyataannya, konfigurasi ujicoba merupakan subset dari
konfigurasi software.


       Setiap lingkaran merepresentasikan transformasi yang lebih kompleks.
Ujicoba dilakukan dan hasilnya dievaluasi, kemudian hasil ujicoba dibandingkan
dengan hasil yang diharapkan . Ketika ditemukan data yang keliru, maka error
ditemukan dan debug dimulai. Ketika hasil ujicoba dikumpulkan dan dievaluasi,
indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat. Jika terjadi
kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler,
maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan
ujicoba lanjutan.


       Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan
kesalahan yang terjadi dapat diatasi dengan mudah maka, dapat diambil 1 dari
2 kesimpulan dapat dibuat, yaitu :
       (1) Kualitas dan reliabilitas software dapat diterima,
       (2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal.


       Akhirnya, jika ujicoba tidak menghasilkan kesalahan, maka harus terjadi
keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi
kesalahan dalam software. Hal ini, akan dibuktikan oleh user dan akan diperbaiki
oleh pengembang dalam fase pemeliharaan. Hasil-hasil yang dikumpulkan
selama ujicoba dapat dievaluasi dengan cara formal.



   3. BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN – PENGUJIAN ?

Desain kasus Ujicoba (Test Case Design)

       Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya
dengan desain inisial dari produk itu sendiri. Dengan tujuan dari ujicoba itu
sendiri   yaitu,   mendesain    ujicoba   yang   tingkat   kemungkinan      penemuan
kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit.
Selama beberapa dekade, metode desain ujicoba kasus telah dikembangkan.
Metode ini menyediakan         pendekatan sistematik untuk ujicoba. Hal yang lebih
penting     yaitu,   metode-metode          ini    menyediakan         mekanisme        yang      dapat
membantu       memastikan       kelengkapan              ujicoba    dan     menyediakan        tingkat
kemungkinan yang tinggi dalam penemuan kesalahan pada software.


         Semua produk yang dikembangkan (engineered) dapat diujicoba dengan
salah satu cara dari 2 cara berikut :
1. Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain
untuk melakukannya, ujicoba dapat dilakukan dengan mendemonstrasikan
setiap fungsi secara menyeluruh;
2. Mengetahui cara kerja internal dari produk, ujicoba dapat dilakukan untuk
memastikan       bahwa      seluruh     operasi          internal   dari     produk     dilaksanakan
berdasarkan pada spesifikasi dan komponen internal telah digunakan secara
tepat.


         Pendekatan pertama adalah black box testing dan yang kedua adalah
white box testing.
         Black box testing menyinggung ujicoba yang dilakukan pada interface
software. Walaupun didesain untuk menemukan kesalahan, ujicoba blackbox
digunakan untuk mendemonstrasikan fungsi software yang dioperasikan; apakah
input diterima dengan benar, dan ouput yang dihasilkan benar; apakah
integritas informasi eksternal terpelihara. Ujicoba blackbox memeriksa beberapa
aspek sistem, tetapi memeriksa sedikit mengenai struktur logikal internal
software.
         White box testing didasarkan pada pemeriksaan detail prosedural. Alur
logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang
melakukan sekumpulan kondisi dan/atau perulangan tertentu. Status dari
program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah      status   yang    diharapkan           atau    ditegaskan       sesuai     dengan   status
sesungguhnya. Sepintas seolah-olah white box testing akan menghasilkan
program yang 100% benar, yang diperlukan hanyalah mendefinisikan alur
logikal,   membangun        kasus     uji   untuk        memeriksa         software    tersebut    dan
mengevaluasi hasil yang diperoleh. Sayangnya, ujicoba yang menyeluruh ini
menghadirkan masalah logikal tertentu. Untuk sebuah program sederhana
sekalipun, terdapat banyak alur logikal yang memungkinkan. Sehingga white
box testing sebaiknya hanya dilakukan pada alur logikal yang penting. Struktur
data-struktur data yang penting dapat diujikan dengan uji validitas. Atribut dari
black box testing dan white box testing dapat dikombinasikan untuk digunakan
bersama.



Black Box

   B Metode     Black    Box   memungkinkan      perekayasa        perangkat   lunak
       mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan
       semua persyaratan fungsional untuk suatu program.


   s Black Box dapat menemukan kesalahan dalam kategori berikut :
             o Fungsi-fungsi yang tidak benar atau hilang
             o Kesalahan interface
             o Kesalahan dalam strutur data atau akses basisdata eksternal
             o Inisialisasi dan kesalahan terminasi
             o validitas fungsional
             o kesensitifan sistem terhadap nilai input tertentu
             o batasan dari suatu data


Tipe dari Black Box Testing :
   T Equivalence class partitioning
   E Sample testing
   S Limit testing
   L Robustness testing
   R Behavior testing
   B Requirement testing


Equivalence Class Testing
   E Bagi domain Input ke dalam beberapa kelas yang nantinya akan
       dijadikan sebagai kasus uji
   d   kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus
       uji
Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid
  K kondisi input bisa merupakan suatu range, harga khusus, suatu
      himpunan, atau suatu boolean
  h   Bila kondisi input berupa suatu range, maka input kasus ujinya satu valid
      dan dua yang invalid
  d   Bila kondisi input berupa suatu harga khusus, maka input kasus ujinya
      satu valid dan dua yang invalid
  s   Bila kondisi input berupa suatu anggota himpunan, maka input kasus
      ujinya satu valid dan dua yang invalid
  u   Bila kondisi input berupa suatu anggota Boolean , maka input kasus
      ujinya satu valid dan dua yang invalid

Sample Testing

  S Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi

  M Integrasikan nilai tersebut ke dalam kasus uji

  I Nilai yang dipilih dapat berupa konstanta atau variabel

Limit Testing

  L Kasus uji yang memproses nilai batas (atau titik singular)

  K   Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang
      sama atau mendekati nilai yang membatasi kelas akivalensi tersebut

  s   Limit test also juga melibatkan data keluaran dari ekivalensi kelas

  L Pada kasus segi tiga, misalnya limit testing mencoba untuk mendeteksi
      apakah a+b >= c dan bukan a + b > c

  a   Bila kondisi input menentukan suatu range, maka kasus ujinya harus
      mencakup pengujian nilai batas dari range dan nilai invalid yang dekat
      dengan nilai batas. Misal bila rangenya antara [-1.0, +1.0], maka input
      untuk kasus ujinya adalah -1.0, 1.0, -1.001,1.001

  u   Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup
      nilai minimum dan maksimum. Misal suatu file dapat terdiri dari 1 to 255
      record, maka kasus ujinya harus mencakup untuk nilai 0, 1, 255 and 256,
      atau uji saat keadaan record kosong dan record penuh.
Robustness Testing
      Data dipilih dari luar range yang didefinisikan. Tujuan pengujian ini adalah
untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan
akibat adanya keabnormalan.

Behavior Testing

      Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program,
tidak bisa dilakukan per modul (CSU : computer software unit)

Requirement Testing

   R Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan
      modul / CSU

   m Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya
      melalui matriks keterunutuan



WHITEBOX TESTING


      Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji.
Dengan menggunakan metode ujicoba whitebox, para pengembang software
dapat menghasilkan kasus-kasus uji yang :


1. Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali,
2. Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah,
3. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya
4. Menguji struktur data internal untuk memastikan validitasnya


      Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal
software??? Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri,
yaitu :
1. Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan
kemungkinan bahwa alur program akan dieksekusi. Kesalahan akan selalu ada
ketika mendesain dan implementasi fungsi, kondisi atau kontrol yang keluar dari
alur utama. Setiap harinya pemrosesan selalu berjalan dengan baik dan
dimengerti sampai bertemu ”kasus spesial” yang akan mengarahkannya kepada
kehancuran.
2.   Sering   percaya      bahwa   alur   logikal   tidak    akan     dieksekusi     ketika
dikenyataannya, mungkin akan dieksekusi dengan basis regular. Alur logika
program biasanya berkebalikan dari intuisi, yaitu tanpa disadari asumsi
mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang
tidak dapat terlihat hanya dengan satu kali ujicoba.
3.   Kesalahan   typographical     (cetakan)   bersifat     random.    Ketika      program
diterjemahkan kedalam kode sumber bahasa pemrograman, maka akan terjadi
kesalahan pengetikan. Banyak yang terdeteksi dengan mekanisme pemeriksaan
sintaks, tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya
ujicoba.
       Karena alasan tersebut diatas, maka ujicoba whitebox testing diperlukan
selain blackbox testing.


UJICOBA BERBASIS ALUR (BASIS PATH TESTING)
       Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan
oleh Tom McCabe. Metode berbasis alur memungkinkan perancang kasus uji
untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan
menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi. Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama
ujicoba.
Notasi graf Alur (Path Graph Notation)
       Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph), seperti gambar dibawah ini :
Untuk




mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah
ini. Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol
program, sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow
graph node, merepresentasikan satu atau lebih perintah prosedural. Urutan dari
simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node,
sedangkan anak panah disebut edges, menggambarkan aliran dari kontrol sesuai
dengan diagram alir.


   Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan node
disebut region, area diluar graph juga dihitung sebagai region.
Setiap representasi rancangan prosedural dapat diterjemahkan kedalam flow
graph. Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design
Language) dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
Ketika kondisi gabungan ditemukan, maka penggambaran flow graph akan
menjadi lebih rumit. Kondisi gabungan biasanya muncul jika satu atau lebih
operator Boolean (OR, AND, NAND, NOR) ditemukan dalam perintah, seperti
terlihat pada gambar (b) dibawah ini :




Cyclomatic Complexity
      Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program. Ketika digunakan
dalam konteks metode ujicoba berbasis alur, nilai yang dikomputasi untuk
kompleksitas   cyclomatic   mendefinisikan   jumlah   independent   path   dalam
himpunan basis suatu program dan menyediakan batas atas untuk sejumlah
ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah
dieksekusi sedikitnya satu kali.
Independent     path   adalah    alur    manapun    dalam   program    yang
memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi
baru. Contoh independent path dari gambar flow graph diatas :
Path 1 : 1 – 11
Path 2 : 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11
Path 3 : 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
Path 4 : 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11
Misalkan setip path yang baru memunculkan edge yang baru, dengan path :
1 - 2 – 3 – 4 – 5 – 10 - 1 - 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
path diatas tidak dianggap sebagai independent path karena kombinasi path
diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur, maka
independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati
sebelumnya. Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara
berikut :


1. Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic
2. Kompleksitas cyclomatic untuk graf alur G didefinisikan :
V(G) = E – N + 2
Dimana E = jumlah edge, dan N = jumlah node
3. Kompleksitas cyclomatic untuk graf alur G didefinisikan :
V(G) = P + 1
Dimana P = jumlah predicates nodes


      Berdasarkan    flow    graph    gambar   (b)   diatas,   maka   kompleksitas
cyclomatic-nya dapat di hitung sebagai berikut :
1. Flow graph diatas mempunyai 4 region
2. V(G) = 11 edges – 9 nodes + 2 = 4
3. V(G) = 3 predicates nodes + = 4


   Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas
atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh
perintah dalam program.
   4. BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER ?

Volume Testing
Menemukan kelemahan sistem selama melakukan pemrosesan data
dalam jumlah yang besar dalam periode waktu yang singkat.
Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar
batasan fisik dan batasan logik.
Contoh:
C Mengujikan proses antar server dan antar partisi hardisik pd satu server.


Stress Testing
      Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi
selama periode waktu puncak proses. Contoh periode puncak: ketika penolakan
proses login on-line setelah sistem down atau pada kasus batch, pengiriman
batch proses dalam jumlah yg besar dilakukan setelah sistem down.
Contoh:   Melakukan    login   ke   server   ketika   sejumlah   besar   workstation
melakukan proses menjalankan perintah sql database.


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.
D Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun
lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop)
l Menguji sistem dengan hubungannya sistem ke lain pada server yg sama.
Load Balancing Monitor Network Monitor


Data Recovery Testing
      Investigasi dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses.
Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan
berbagai cara.
Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yg
tidak sengaja, kecelakaan, virus dan pencuri.
Data Backup and Restore
Testing
      Dilakukan untuk melihat prosedur back-up dan recovery.
Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses
backup dan recovery. Pengujian dilakukan terhadap strategi backup:
frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ?
Berapa lama backup akan disimpan.
Switching antara live dan backup server ketika terjadi kerusakan (load log
transaction pada back-up kemudian melaku recovery).


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) yg dapat mematikan aplikasi
database.
5. UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN
      KESALAHAN MINIMAL 3 KESALAHAN ?


Opera Mini 5 yang masih dalam tahap beta version, memang sangat menarik
untuk dicoba. Selain perubahan tampilan yang sangat frontal, terdapat beberapa
fitur yang memang sangat diinginkan oleh para peselancar internet melalui
perangkat mobile, salah satunya yang menurut saya sangat menarik adalah
adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka
lebih dari satu halaman layaknya browse pada PC.

Hanya saja saat pertama kali mencoba browser ini, ada beberapa bug dan
kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran
versi finalnya nanti. Beberapa Bug yang saya rasakan antara lain:

   1. Entry Password. Saat mengetikkan kata sandi untuk masuk ke sebuah
      website, OperaMini 5 beta langsung merubahnya ke karakter * tanpa
      terlebih dahulu menampilkan sementara waktu huruf maupun angka yang
      dimasukkan tersebut, sehingga cukup menyulitkan mendeteksi apakah
      karakter yang dimasukkan sudah benar.
   2. Spasi. Saat menggunakan spasi pada untuk menulis sebuah kalimat,
      maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat
      mengetikkan kalimat berikutnya. Sehinga jarak antara satu kata dengan
      kata lain menjadi cukup jauh.
   3. Saat menekan tombol yang memiliki input angka dalam waktu cukup
      lama, seharusnya yang muncul adalah angka tersebut, tetapi yang terjadi
      adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik
      pada PC). misal huruf tombol huruf H menjadi satu dengan tombol angka
      6, seharusnya saat ditekan lama yang muncul adalah angka 6, tetapi di
      opera mini muncul huruf H yang banyak.
   4. Copy Paste. Tidak support metode Copy/Paste melalui kombinasi Ctrl+C/
      Ctrl+V, sehingga saat ingin melakukan penyalinan tulisan dari media lain
      ke Opera Mini harus dilakukan dengan mengetikkan manual

Mais conteúdo relacionado

Mais procurados

Software testing
Software testingSoftware testing
Software testingjullejulle
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunakArdha Herdianto
 
Slideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingSlideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingMoch. Nor Kholis
 
Softwate testing strategis
Softwate testing strategisSoftwate testing strategis
Softwate testing strategisirna_300791
 
Softwate testing implementasi
Softwate testing implementasiSoftwate testing implementasi
Softwate testing implementasiirna_300791
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat LunakMrirfan
 
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjStrategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjMrirfan
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04    Software Testing TechniquesPertemuan 04    Software Testing Techniques
Pertemuan 04 Software Testing TechniquesMrirfan
 
Ch 04 Metode pengujian Black Box dan White Box
Ch 04 Metode pengujian Black Box dan White BoxCh 04 Metode pengujian Black Box dan White Box
Ch 04 Metode pengujian Black Box dan White BoxTri Sugihartono
 
Testing&implementasi 4 5
Testing&implementasi 4 5Testing&implementasi 4 5
Testing&implementasi 4 5aiiniR
 
Testing dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoTesting dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoAbrianto Nugraha
 
Strategi Testing System
Strategi Testing SystemStrategi Testing System
Strategi Testing SystemYudi Purwanto
 
Test abilitas dan tester
Test abilitas dan testerTest abilitas dan tester
Test abilitas dan testerBasiroh M.Kom
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4aiiniR
 

Mais procurados (17)

Software testing
Software testingSoftware testing
Software testing
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunak
 
Slideshow PowerPoint Software Testing
Slideshow PowerPoint Software TestingSlideshow PowerPoint Software Testing
Slideshow PowerPoint Software Testing
 
Softwate testing strategis
Softwate testing strategisSoftwate testing strategis
Softwate testing strategis
 
Softwate testing implementasi
Softwate testing implementasiSoftwate testing implementasi
Softwate testing implementasi
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat Lunak
 
Pertemuan 4 Strategi Testing
Pertemuan 4  Strategi TestingPertemuan 4  Strategi Testing
Pertemuan 4 Strategi Testing
 
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 LanjStrategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
Strategi Pengujian Perangkat Lunak Mg Ke 8 Lanj
 
Pertemuan 04 Software Testing Techniques
Pertemuan 04    Software Testing TechniquesPertemuan 04    Software Testing Techniques
Pertemuan 04 Software Testing Techniques
 
Pertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan TestingPertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan Testing
 
Ch 04 Metode pengujian Black Box dan White Box
Ch 04 Metode pengujian Black Box dan White BoxCh 04 Metode pengujian Black Box dan White Box
Ch 04 Metode pengujian Black Box dan White Box
 
Testing&implementasi 4 5
Testing&implementasi 4 5Testing&implementasi 4 5
Testing&implementasi 4 5
 
Testing dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeoTesting dan implementasi_sistem_-_romeo
Testing dan implementasi_sistem_-_romeo
 
Strategi Testing System
Strategi Testing SystemStrategi Testing System
Strategi Testing System
 
Test abilitas dan tester
Test abilitas dan testerTest abilitas dan tester
Test abilitas dan tester
 
Testing&implementasi 4
Testing&implementasi 4Testing&implementasi 4
Testing&implementasi 4
 

Destaque

Presentation1
Presentation1Presentation1
Presentation1jhommes5
 
Presentation1
Presentation1Presentation1
Presentation1jhommes5
 
Presentation1
Presentation1Presentation1
Presentation1jhommes5
 
Code: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and SoftwareCode: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and Softwareguestc4ec09
 
Happy Birthday Mamie
Happy Birthday MamieHappy Birthday Mamie
Happy Birthday Mamiemiriamdassa
 
Culinaria Rural E Setaneja 05
Culinaria Rural E Setaneja 05Culinaria Rural E Setaneja 05
Culinaria Rural E Setaneja 05penacozinha
 
Inhouse Training Plan Arabic
Inhouse Training Plan ArabicInhouse Training Plan Arabic
Inhouse Training Plan ArabicSETTEC
 
SETTEC Training Plan 2012
SETTEC Training Plan 2012SETTEC Training Plan 2012
SETTEC Training Plan 2012SETTEC
 
WATS 1 (1-50) Fluid Mechanics and Thermodynamics
WATS 1 (1-50) Fluid Mechanics and ThermodynamicsWATS 1 (1-50) Fluid Mechanics and Thermodynamics
WATS 1 (1-50) Fluid Mechanics and ThermodynamicsMark Russell
 
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodents
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodentsecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodents
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodentsemka TECHNOLOGIES
 
Acquisition & analysis of neurologic data
Acquisition & analysis of neurologic dataAcquisition & analysis of neurologic data
Acquisition & analysis of neurologic dataemka TECHNOLOGIES
 
Best practice รองฉวีวรรณ ลาภเสถียร
Best practice รองฉวีวรรณ ลาภเสถียรBest practice รองฉวีวรรณ ลาภเสถียร
Best practice รองฉวีวรรณ ลาภเสถียรsomdetpittayakom school
 
Mary Kate And Ashley Olsen Powerpoint
Mary Kate And Ashley Olsen PowerpointMary Kate And Ashley Olsen Powerpoint
Mary Kate And Ashley Olsen Powerpointbelene333
 
Two-Dimension Steady-State Conduction
Two-Dimension Steady-State ConductionTwo-Dimension Steady-State Conduction
Two-Dimension Steady-State ConductionMark Russell
 
Mrs Elisha Noe Subtraction With Double Digits On Top On Bottom
Mrs Elisha Noe Subtraction With Double Digits On Top On BottomMrs Elisha Noe Subtraction With Double Digits On Top On Bottom
Mrs Elisha Noe Subtraction With Double Digits On Top On BottomElisha Noe
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Kong Yang
 

Destaque (19)

Nino
NinoNino
Nino
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Code: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and SoftwareCode: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and Software
 
Tikslai
TikslaiTikslai
Tikslai
 
Happy Birthday Mamie
Happy Birthday MamieHappy Birthday Mamie
Happy Birthday Mamie
 
Culinaria Rural E Setaneja 05
Culinaria Rural E Setaneja 05Culinaria Rural E Setaneja 05
Culinaria Rural E Setaneja 05
 
Inhouse Training Plan Arabic
Inhouse Training Plan ArabicInhouse Training Plan Arabic
Inhouse Training Plan Arabic
 
SETTEC Training Plan 2012
SETTEC Training Plan 2012SETTEC Training Plan 2012
SETTEC Training Plan 2012
 
WATS 1 (1-50) Fluid Mechanics and Thermodynamics
WATS 1 (1-50) Fluid Mechanics and ThermodynamicsWATS 1 (1-50) Fluid Mechanics and Thermodynamics
WATS 1 (1-50) Fluid Mechanics and Thermodynamics
 
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodents
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodentsecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodents
ecgTUNNEL noninvasive ecg and respiration from conscious rats/mice/rodents
 
Cellular
CellularCellular
Cellular
 
Acquisition & analysis of neurologic data
Acquisition & analysis of neurologic dataAcquisition & analysis of neurologic data
Acquisition & analysis of neurologic data
 
Best practice รองฉวีวรรณ ลาภเสถียร
Best practice รองฉวีวรรณ ลาภเสถียรBest practice รองฉวีวรรณ ลาภเสถียร
Best practice รองฉวีวรรณ ลาภเสถียร
 
Mary Kate And Ashley Olsen Powerpoint
Mary Kate And Ashley Olsen PowerpointMary Kate And Ashley Olsen Powerpoint
Mary Kate And Ashley Olsen Powerpoint
 
Two-Dimension Steady-State Conduction
Two-Dimension Steady-State ConductionTwo-Dimension Steady-State Conduction
Two-Dimension Steady-State Conduction
 
Mrs Elisha Noe Subtraction With Double Digits On Top On Bottom
Mrs Elisha Noe Subtraction With Double Digits On Top On BottomMrs Elisha Noe Subtraction With Double Digits On Top On Bottom
Mrs Elisha Noe Subtraction With Double Digits On Top On Bottom
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007
 

Semelhante a Dede Rpl Kuis

Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing TechniquesMrirfan
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2Mrirfan
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04     Software  Testing  Techniques  2Pertemuan 04     Software  Testing  Techniques  2
Pertemuan 04 Software Testing Techniques 2Mrirfan
 
software testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantisoftware testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantiIrma Darmayanti
 
Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Fendi Hidayat
 
M K P L Pertemuan5
M K P L  Pertemuan5M K P L  Pertemuan5
M K P L Pertemuan5Mrirfan
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5Mrirfan
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi TestingAgung Sulistyanto
 
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxSlide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxYessiSofia1
 
White Box dan Black Box Testing
White Box dan Black Box TestingWhite Box dan Black Box Testing
White Box dan Black Box Testingrifqi62802
 
Bab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakBab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakAdie Suryadi
 
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxRingkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxSaifAlfarizi1
 
Coding
CodingCoding
CodingDWC
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...TheodoraTerdunGintin
 
Bug management
Bug managementBug management
Bug managementIvano78
 
Blackbox And Whitebox Testing
Blackbox And Whitebox TestingBlackbox And Whitebox Testing
Blackbox And Whitebox TestingAnsviaLab
 
Materi Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxMateri Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxRizqiIrawan2
 
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingCh 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingTri Sugihartono
 
Testing dan IS Pertemuan 1 - Pendahuluan.pdf
Testing dan IS Pertemuan 1 - Pendahuluan.pdfTesting dan IS Pertemuan 1 - Pendahuluan.pdf
Testing dan IS Pertemuan 1 - Pendahuluan.pdfZainudinA
 

Semelhante a Dede Rpl Kuis (20)

Pertemuan 04 Software Testing Techniques
Pertemuan 04     Software  Testing  TechniquesPertemuan 04     Software  Testing  Techniques
Pertemuan 04 Software Testing Techniques
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04    Software Testing Techniques  2Pertemuan 04    Software Testing Techniques  2
Pertemuan 04 Software Testing Techniques 2
 
Pertemuan 04 Software Testing Techniques 2
Pertemuan 04     Software  Testing  Techniques  2Pertemuan 04     Software  Testing  Techniques  2
Pertemuan 04 Software Testing Techniques 2
 
software testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayantisoftware testing (black box testing) -- irma darmayanti
software testing (black box testing) -- irma darmayanti
 
Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1Testing dan implemetasi sistem 1
Testing dan implemetasi sistem 1
 
M K P L Pertemuan5
M K P L  Pertemuan5M K P L  Pertemuan5
M K P L Pertemuan5
 
Mkpl Pertemuan5
Mkpl Pertemuan5Mkpl Pertemuan5
Mkpl Pertemuan5
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi Testing
 
Minggu Ii
Minggu IiMinggu Ii
Minggu Ii
 
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptxSlide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
Slide-INF205-Pertemuan-12-Pengujian-Perangkat-Lunak.pptx
 
White Box dan Black Box Testing
White Box dan Black Box TestingWhite Box dan Black Box Testing
White Box dan Black Box Testing
 
Bab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunakBab 5 pengujian_perangkat_lunak
Bab 5 pengujian_perangkat_lunak
 
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptxRingkasan Bab 19 – 22 Buku Software Engineering.pptx
Ringkasan Bab 19 – 22 Buku Software Engineering.pptx
 
Coding
CodingCoding
Coding
 
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
Tugas sim, theresia hanitalia, , yananto mihadi p., s.e., m.si., cma. impleme...
 
Bug management
Bug managementBug management
Bug management
 
Blackbox And Whitebox Testing
Blackbox And Whitebox TestingBlackbox And Whitebox Testing
Blackbox And Whitebox Testing
 
Materi Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptxMateri Pengujian dan Implementasi Sistem.pptx
Materi Pengujian dan Implementasi Sistem.pptx
 
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan TestingCh 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
Ch 02 - Hubungan Software Development Life Cycle (SDLC) dan Testing
 
Testing dan IS Pertemuan 1 - Pendahuluan.pdf
Testing dan IS Pertemuan 1 - Pendahuluan.pdfTesting dan IS Pertemuan 1 - Pendahuluan.pdf
Testing dan IS Pertemuan 1 - Pendahuluan.pdf
 

Dede Rpl Kuis

  • 1. KUIS REKAYASA PERANGKAT LUNAK Disusun Untuk Memenuhi Salah Satu Tugas Mata Kuliah RPL Disusun Oleh : DEDE SUBHAN 207700350 FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN GUNUNG DJATI BANDUNG 2009
  • 2. 1. APA FUNGSI DARI PENGUJIAN TERHADAP PERANGKAT LUNAK ? Definisi Pengujian adalah proses untuk menemukan error pada perangkat lunak sebelum di-delivery kepada pengguna. Pengujian software merupakan elemen yang kritis dari SQA dan merepresentasikan tinjauan ulang yang menyeluruh terhadap spesifikasi,desain dan pengkodean. Pengujian merepresentasikan ketidaknormalan yang terjadi pada pengembangan software. Selama definisi awal dan fase pembangunan, pengembang berusaha untuk membangun software dari konsep yang abstrak sampai dengan implementasi yang memungkin. Para pengembang membuat serangkaian uji kasus yang bertujuan untuk ”membongkar” software yang mereka bangun. Kenyataannya, pengujian merupakan salah satu tahapan dalam proses pengembangan software yang dapat dilihat (secara psikologi) sebagai destruktif, dari pada sebagai konstruktif. Pengembang software secara alami merupakan orang konstruktif. Pengujian yang diperlukan oleh pengembang adalah untuk melihat kebenaran dari software yang dibuat dan konflik yang akan terjadi bila kesalahan tidak ditemukan. Dari sebuah buku, Glen Myers menetapkan beberapa aturan yang dapat dilihat sebagai tujuan dari pengujian : 1. Pengujian merupakan proses eksekusi program dengan tujuan untuk menemukan kesalahan 2. Sebuah pengujian kasus yang baik adalah yang memiliki probabilitas yang tinggi dalam menemukan kesalahan-kesalahan yang belum terungkap 3. Pengujian yang berhasil adalah yang mengungkap kesalahan yang belum ditemukan Sehingga tujuan dari pengujian ini adalah mendesain serangkaian tes yang secara sistematis mengungkap beberapa jenis kesalahan yang berbeda dan melakukannya dalam waktu dan usaha yang minimum. 4. Jadi pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk mencari sebanyak mungkin kesalahan yang ada pada program Jadi pengujian yang baik bukan untuk memastikan tidak ada kesalahan tetapi untuk mencari sebanyak mungkin kesalahan yang ada pada program
  • 3. 2. APA MANFAAT DARI PENGUJIAN TERHADAP PERANGKAT LUNAK ? Manfaat yang didapat apabila pengujian diselenggarakan dengan sukses, maka akan membongkar kesalahan yang ada didalam perangkat lunak, manfaat lain dari pengujian adalah menunjukkan bahwa fungsi perangkat lunak telah bekerja sesuai dengan spesifikasi, dan kebutuhan fungsi telah tercapai. Sebagai tambahan, data yang dikumpulkan pada saat pengujian dilaksanakan akan menyediakan suatu indikasi keandalan perangkat lunak yang baik dan beberapa indikasi mutu perangkat lunak secara keseluruhan. Alur informasi test (Test Information Flow) Alur informasi untuk ujicoba mengikuti pola seperti gambar diatas. Dua kategori input yang disediakan untuk proses ujicoba adalah : 1. Software configuration yang terdiri dari spesifikasi kebutuhan software, spesifikasi desain dan kode sumber;
  • 4. 2. Test configuration yang terdiri dari rencana dan prosedur ujicoba, Tools ujicoba apapun yang dapat digunakan, dan kasus ujicoba termasuk hasil yang diharapkan. Pada kenyataannya, konfigurasi ujicoba merupakan subset dari konfigurasi software. Setiap lingkaran merepresentasikan transformasi yang lebih kompleks. Ujicoba dilakukan dan hasilnya dievaluasi, kemudian hasil ujicoba dibandingkan dengan hasil yang diharapkan . Ketika ditemukan data yang keliru, maka error ditemukan dan debug dimulai. Ketika hasil ujicoba dikumpulkan dan dievaluasi, indikasi kualitatif dari kualitas dan reliabilitas software mulai terlihat. Jika terjadi kesalahan fatal dan memerlukan modifikasi desain ditemukan secara reguler, maka kualitas dan reliabilitas software akan dipertanyakan dan diperlukan ujicoba lanjutan. Sebaliknya jika fungsi software bekerja sebagaimana mestinya dan kesalahan yang terjadi dapat diatasi dengan mudah maka, dapat diambil 1 dari 2 kesimpulan dapat dibuat, yaitu : (1) Kualitas dan reliabilitas software dapat diterima, (2) Ujicoba tidak cukup untuk menemukan kesalahan yang fatal. Akhirnya, jika ujicoba tidak menghasilkan kesalahan, maka harus terjadi keraguan bahwa konfigurasi ujicoba tersebut tidak berhasil dan masih terjadi kesalahan dalam software. Hal ini, akan dibuktikan oleh user dan akan diperbaiki oleh pengembang dalam fase pemeliharaan. Hasil-hasil yang dikumpulkan selama ujicoba dapat dievaluasi dengan cara formal. 3. BERIKAN GAMBARAN DASAR - DASAR PENGUJIAN – PENGUJIAN ? Desain kasus Ujicoba (Test Case Design) Desain ujicoba untuk software atau produk teknik lainnya sama sulitnya dengan desain inisial dari produk itu sendiri. Dengan tujuan dari ujicoba itu sendiri yaitu, mendesain ujicoba yang tingkat kemungkinan penemuan kesalahan yang tinggi dengan jumlah waktu dan usaha yang sedikit.
  • 5. Selama beberapa dekade, metode desain ujicoba kasus telah dikembangkan. Metode ini menyediakan pendekatan sistematik untuk ujicoba. Hal yang lebih penting yaitu, metode-metode ini menyediakan mekanisme yang dapat membantu memastikan kelengkapan ujicoba dan menyediakan tingkat kemungkinan yang tinggi dalam penemuan kesalahan pada software. Semua produk yang dikembangkan (engineered) dapat diujicoba dengan salah satu cara dari 2 cara berikut : 1. Mengetahui fungsi-fungsi yang dispesifikasikan pada produk yang didesain untuk melakukannya, ujicoba dapat dilakukan dengan mendemonstrasikan setiap fungsi secara menyeluruh; 2. Mengetahui cara kerja internal dari produk, ujicoba dapat dilakukan untuk memastikan bahwa seluruh operasi internal dari produk dilaksanakan berdasarkan pada spesifikasi dan komponen internal telah digunakan secara tepat. Pendekatan pertama adalah black box testing dan yang kedua adalah white box testing. Black box testing menyinggung ujicoba yang dilakukan pada interface software. Walaupun didesain untuk menemukan kesalahan, ujicoba blackbox digunakan untuk mendemonstrasikan fungsi software yang dioperasikan; apakah input diterima dengan benar, dan ouput yang dihasilkan benar; apakah integritas informasi eksternal terpelihara. Ujicoba blackbox memeriksa beberapa aspek sistem, tetapi memeriksa sedikit mengenai struktur logikal internal software. White box testing didasarkan pada pemeriksaan detail prosedural. Alur logikal suatu software diujicoba dengan menyediakan kasus ujicoba yang melakukan sekumpulan kondisi dan/atau perulangan tertentu. Status dari program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan apakah status yang diharapkan atau ditegaskan sesuai dengan status sesungguhnya. Sepintas seolah-olah white box testing akan menghasilkan program yang 100% benar, yang diperlukan hanyalah mendefinisikan alur logikal, membangun kasus uji untuk memeriksa software tersebut dan mengevaluasi hasil yang diperoleh. Sayangnya, ujicoba yang menyeluruh ini menghadirkan masalah logikal tertentu. Untuk sebuah program sederhana
  • 6. sekalipun, terdapat banyak alur logikal yang memungkinkan. Sehingga white box testing sebaiknya hanya dilakukan pada alur logikal yang penting. Struktur data-struktur data yang penting dapat diujikan dengan uji validitas. Atribut dari black box testing dan white box testing dapat dikombinasikan untuk digunakan bersama. Black Box B Metode Black Box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. s Black Box dapat menemukan kesalahan dalam kategori berikut : o Fungsi-fungsi yang tidak benar atau hilang o Kesalahan interface o Kesalahan dalam strutur data atau akses basisdata eksternal o Inisialisasi dan kesalahan terminasi o validitas fungsional o kesensitifan sistem terhadap nilai input tertentu o batasan dari suatu data Tipe dari Black Box Testing : T Equivalence class partitioning E Sample testing S Limit testing L Robustness testing R Behavior testing B Requirement testing Equivalence Class Testing E Bagi domain Input ke dalam beberapa kelas yang nantinya akan dijadikan sebagai kasus uji d kelas yang telah terbentuk disajikan sebagai kondisi input dalam kasus uji
  • 7. Kelas tersebut merupakan himpunan nilai-nilai yang valid dan tidak valid K kondisi input bisa merupakan suatu range, harga khusus, suatu himpunan, atau suatu boolean h Bila kondisi input berupa suatu range, maka input kasus ujinya satu valid dan dua yang invalid d Bila kondisi input berupa suatu harga khusus, maka input kasus ujinya satu valid dan dua yang invalid s Bila kondisi input berupa suatu anggota himpunan, maka input kasus ujinya satu valid dan dua yang invalid u Bila kondisi input berupa suatu anggota Boolean , maka input kasus ujinya satu valid dan dua yang invalid Sample Testing S Melibatkan sejumlah nilai yang dipilih dari data masukan kelas ekivalensi M Integrasikan nilai tersebut ke dalam kasus uji I Nilai yang dipilih dapat berupa konstanta atau variabel Limit Testing L Kasus uji yang memproses nilai batas (atau titik singular) K Nilai batas disimpulkan dari kelas ekivalensi dengan mengambil nilai yang sama atau mendekati nilai yang membatasi kelas akivalensi tersebut s Limit test also juga melibatkan data keluaran dari ekivalensi kelas L Pada kasus segi tiga, misalnya limit testing mencoba untuk mendeteksi apakah a+b >= c dan bukan a + b > c a Bila kondisi input menentukan suatu range, maka kasus ujinya harus mencakup pengujian nilai batas dari range dan nilai invalid yang dekat dengan nilai batas. Misal bila rangenya antara [-1.0, +1.0], maka input untuk kasus ujinya adalah -1.0, 1.0, -1.001,1.001 u Bila kondisi inputnya berupa harga khusus kasaus ujinya harus mencakup nilai minimum dan maksimum. Misal suatu file dapat terdiri dari 1 to 255 record, maka kasus ujinya harus mencakup untuk nilai 0, 1, 255 and 256, atau uji saat keadaan record kosong dan record penuh.
  • 8. Robustness Testing Data dipilih dari luar range yang didefinisikan. Tujuan pengujian ini adalah untuk membuktikan tidak adanya kejadian yang katastropik yang dihasilkan akibat adanya keabnormalan. Behavior Testing Suatu pengujian yang hasilnya hasnya dapat dievaluasi per sub program, tidak bisa dilakukan per modul (CSU : computer software unit) Requirement Testing R Menyusun kasus uji untuk tiap kebutuhan yang berkorelasi dengan modul / CSU m Tiap kasus uji harus dapat dirunut dengan kebutuhan perangkat lunaknya melalui matriks keterunutuan WHITEBOX TESTING Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji. Dengan menggunakan metode ujicoba whitebox, para pengembang software dapat menghasilkan kasus-kasus uji yang : 1. Menjamin bahwa seluruh independent paths dalam modul telah dilakukan sedikitnya satu kali, 2. Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah, 3. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan operasionalnya 4. Menguji struktur data internal untuk memastikan validitasnya Mengapa menghabiskan banyak waktu dan usaha dengan menguji logikal software??? Hal ini dikarenakan sifat kerusakan alami dari software itu sendiri, yaitu :
  • 9. 1. Kesalahan logika dan kesalahan asumsi secara proposional terbalik dengan kemungkinan bahwa alur program akan dieksekusi. Kesalahan akan selalu ada ketika mendesain dan implementasi fungsi, kondisi atau kontrol yang keluar dari alur utama. Setiap harinya pemrosesan selalu berjalan dengan baik dan dimengerti sampai bertemu ”kasus spesial” yang akan mengarahkannya kepada kehancuran. 2. Sering percaya bahwa alur logikal tidak akan dieksekusi ketika dikenyataannya, mungkin akan dieksekusi dengan basis regular. Alur logika program biasanya berkebalikan dari intuisi, yaitu tanpa disadari asumsi mengenai alur kontrol dan data dapat mengarahkan pada kesalahan desain yang tidak dapat terlihat hanya dengan satu kali ujicoba. 3. Kesalahan typographical (cetakan) bersifat random. Ketika program diterjemahkan kedalam kode sumber bahasa pemrograman, maka akan terjadi kesalahan pengetikan. Banyak yang terdeteksi dengan mekanisme pemeriksaan sintaks, tetapi banyak juga yang tidak terdeteksi sampai dengan dimulainya ujicoba. Karena alasan tersebut diatas, maka ujicoba whitebox testing diperlukan selain blackbox testing. UJICOBA BERBASIS ALUR (BASIS PATH TESTING) Berbasis alur merupakan teknik ujicoba whitebox pertama yang diusulkan oleh Tom McCabe. Metode berbasis alur memungkinkan perancang kasus uji untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural dan menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur eksekusi. Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin untuk mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama ujicoba. Notasi graf Alur (Path Graph Notation) Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur (flow graph), seperti gambar dibawah ini :
  • 10. Untuk mengilustrasikan kegunaan dari diagram alir dapat dilihat pada gambar dibawah ini. Gambar bagian (a) digunakan untuk menggambarkan struktur kontrol program, sedangkan gambar bagian (b) setiap lingkaran disebut dengan flow graph node, merepresentasikan satu atau lebih perintah prosedural. Urutan dari simbol proses dan simbol keputusan dapat digambarkan menjadi sebuah node, sedangkan anak panah disebut edges, menggambarkan aliran dari kontrol sesuai dengan diagram alir. Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan node disebut region, area diluar graph juga dihitung sebagai region.
  • 11. Setiap representasi rancangan prosedural dapat diterjemahkan kedalam flow graph. Gambar (a) dibawah ini merupakan bagian dari PDL (Program Design Language) dan flow graph-nya (perhatikan nomor untuk setiap perintahnya)
  • 12. Ketika kondisi gabungan ditemukan, maka penggambaran flow graph akan menjadi lebih rumit. Kondisi gabungan biasanya muncul jika satu atau lebih operator Boolean (OR, AND, NAND, NOR) ditemukan dalam perintah, seperti terlihat pada gambar (b) dibawah ini : Cyclomatic Complexity Cyclomatic complexity merupakan software metric yang menyediakan ukuran kuantitatif dari komplesitas logikal suatu program. Ketika digunakan dalam konteks metode ujicoba berbasis alur, nilai yang dikomputasi untuk kompleksitas cyclomatic mendefinisikan jumlah independent path dalam himpunan basis suatu program dan menyediakan batas atas untuk sejumlah ujicoba yang harus dilakukan untuk memastikan bahwa seluruh perintah telah dieksekusi sedikitnya satu kali.
  • 13. Independent path adalah alur manapun dalam program yang memperkenalkan sedikitnya satu kumpulan perintah pemrosesan atau kondisi baru. Contoh independent path dari gambar flow graph diatas : Path 1 : 1 – 11 Path 2 : 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11 Path 3 : 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11 Path 4 : 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11 Misalkan setip path yang baru memunculkan edge yang baru, dengan path : 1 - 2 – 3 – 4 – 5 – 10 - 1 - 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11 path diatas tidak dianggap sebagai independent path karena kombinasi path diatas telah didefinisikan sebelumnya Ketika ditetapkan dalam graf alur, maka independent path harus bergerak sedikitnya 1 edge yang belum pernah dilewati sebelumnya. Kompleksitas cyclomatic dapat dicari dengan salah satu dari 3 cara berikut : 1. Jumlah region dari graf alur mengacu kepada komplesitas cyclomatic 2. Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = E – N + 2 Dimana E = jumlah edge, dan N = jumlah node 3. Kompleksitas cyclomatic untuk graf alur G didefinisikan : V(G) = P + 1 Dimana P = jumlah predicates nodes Berdasarkan flow graph gambar (b) diatas, maka kompleksitas cyclomatic-nya dapat di hitung sebagai berikut : 1. Flow graph diatas mempunyai 4 region 2. V(G) = 11 edges – 9 nodes + 2 = 4 3. V(G) = 3 predicates nodes + = 4 Hasil kompleksitas cyclomatic menggambarkan banyaknya path dan batas atas sejumlah ujicoba yang harus dirancang dan dieksekusi untuk seluruh perintah dalam program. 4. BERIKAN GAMBARAN PENGUJIAN APLIKASI SERVER ? Volume Testing
  • 14. Menemukan kelemahan sistem selama melakukan pemrosesan data dalam jumlah yang besar dalam periode waktu yang singkat. Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data anatar batasan fisik dan batasan logik. Contoh: C Mengujikan proses antar server dan antar partisi hardisik pd satu server. Stress Testing Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi selama periode waktu puncak proses. Contoh periode puncak: ketika penolakan proses login on-line setelah sistem down atau pada kasus batch, pengiriman batch proses dalam jumlah yg besar dilakukan setelah sistem down. Contoh: Melakukan login ke server ketika sejumlah besar workstation melakukan proses menjalankan perintah sql database. 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. D Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop) l Menguji sistem dengan hubungannya sistem ke lain pada server yg sama. Load Balancing Monitor Network Monitor Data Recovery Testing Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses. Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan berbagai cara. Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yg tidak sengaja, kecelakaan, virus dan pencuri. Data Backup and Restore Testing Dilakukan untuk melihat prosedur back-up dan recovery.
  • 15. Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery. Pengujian dilakukan terhadap strategi backup: frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup akan disimpan. Switching antara live dan backup server ketika terjadi kerusakan (load log transaction pada back-up kemudian melaku recovery). 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) yg dapat mematikan aplikasi database.
  • 16. 5. UJILAH WEB SITE YANG SERING ANDA KUNJUNGI DAN TEMUKAN KESALAHAN MINIMAL 3 KESALAHAN ? Opera Mini 5 yang masih dalam tahap beta version, memang sangat menarik untuk dicoba. Selain perubahan tampilan yang sangat frontal, terdapat beberapa fitur yang memang sangat diinginkan oleh para peselancar internet melalui perangkat mobile, salah satunya yang menurut saya sangat menarik adalah adanya tambahan fitur tabbed browsing yang memungkinkan kita membuka lebih dari satu halaman layaknya browse pada PC. Hanya saja saat pertama kali mencoba browser ini, ada beberapa bug dan kekurangan yang sepertinya harus segera diperbaiki oleh Opera saat peluncuran versi finalnya nanti. Beberapa Bug yang saya rasakan antara lain: 1. Entry Password. Saat mengetikkan kata sandi untuk masuk ke sebuah website, OperaMini 5 beta langsung merubahnya ke karakter * tanpa terlebih dahulu menampilkan sementara waktu huruf maupun angka yang dimasukkan tersebut, sehingga cukup menyulitkan mendeteksi apakah karakter yang dimasukkan sudah benar. 2. Spasi. Saat menggunakan spasi pada untuk menulis sebuah kalimat, maka spasi yang dimasukkan akan menjadi 4 karakter spasi saat mengetikkan kalimat berikutnya. Sehinga jarak antara satu kata dengan kata lain menjadi cukup jauh. 3. Saat menekan tombol yang memiliki input angka dalam waktu cukup lama, seharusnya yang muncul adalah angka tersebut, tetapi yang terjadi adalah huruf pada tombol tersebut akan muncul banyak (seperti mengetik pada PC). misal huruf tombol huruf H menjadi satu dengan tombol angka 6, seharusnya saat ditekan lama yang muncul adalah angka 6, tetapi di opera mini muncul huruf H yang banyak. 4. Copy Paste. Tidak support metode Copy/Paste melalui kombinasi Ctrl+C/ Ctrl+V, sehingga saat ingin melakukan penyalinan tulisan dari media lain ke Opera Mini harus dilakukan dengan mengetikkan manual