Rabu, 03 Oktober 2018

Pengujian Perangkat Lunak & Model-model


Pengujian Perangkat Lunak :
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain  dan pengkodean. Dalam strategi pengujian sebuah perangkat lunak dimulai dari penentuan kebutuhan perangkat lunak, kemudian proses dilanjutkan ke dalam bentuk rancangan, dan akhirnya ke pengkodean. Strategi pengujian dimulai dengan pengujian unit atau unit testing di pusat spiral di mana masing-masing modul/unit dari perangkat lunak yang diimplementasikan dalam source code menjadi sasaran pengujian. Kemudian dilakukan testing integrasi atau integration testing dengan fokus pengujian adalah desain dan kontruksi arsitektur perangkat lunak. Selanjutnya dilakukan testing validasi atau validation testing dengan sasaran pengujian adalah kesesuaian dengan kebutuhan perangkat lunak yang telah ditentukan di awal. Terakhir pada lingkaran terluar spiral sampai pada pengujian sistem atau system testing, di mana perangkat lunak dan keseluruhan sistem diuji. Secara lebih spesifik dari masing-masing pengujian tersebut adalah sebagai berikut.
Model Pengujian :
1. Pengujian Unit Program
Pengujian Unit/ Unit Testing adalah metode verifikasi perangkat lunak dimana programmer menguji suatu unit program layak atau tidaknya untuk dipakai. Unit testing ini fokusnya pada verifikasi unit yang terkecil pada desain perangkat lunak (komponen atau modul perangkat lunak). Uji coba unit selalu berorientasi pada white box testing dan dapat dikerjakan paralel atau beruntun dengan modul lainnya.
  •        Pertimbangan Pengujian Unit

Interface modul diuji untuk memastikan bahwa informasi secara tepat mengalir masuk dan keluar dari inti program yang diuji. Struktur data lokal diuji untuk memastikan bahwa data yang tersimpan secara temporal dapat tetap menjaga integritasnya selama semua langkah langkah di dalam suatu algoritma dieksekusi. Kondisi batas diuji untuk memastikan bahwa modul beroperasi dengan tepat pada batas yang ditentukan untuk membatasi pemrosesan. Semua jalur independen (jalur dasar) yang melalui struktur control dipakai sedikitnya satu kali. Dan akhirnya penanganan kesalan diuji.
  •       Prosedur Pengujian Unit

Sumber yang telah dikembangkan, ditunjang kembali dan diverifikasi untuk sintaks-nya, maka perancangan test case dimulai. Peninjauan kembali perancangan informasi akan menyediakan petunjuk untuk menentukan test case. Karena modul bukan program yang berdiri sendiri maka driver (pengendali) dan atau stub perangkat lunak harus dikembangkan untuk pengujian unit..
2. Pengujian Integrasi
Pengujian integrasi  lebih pada pengujian penggabungan dari dua atau lebih unit pada perangkat lunak. Pengujian integrasi sebaiknya dilakukan secara bertahap untuk menghindari kesulitan penelusuran jika terjadi kesalahan error / bug. Pengujian terintegrasi adalah teknik yang sistematis untuk penyusunan struktur program, pada saat dikerjakan uji coba untuk memeriksa kesalahan yang nantinya digabungkan dengan interface. Metode pengujiannya meliputi :
2         1.  Top down integration
Merupakan pendekatan untuk penyusunan struktur program. Modul dipadukan dengan bergerak ke bawah melalui kontrol hirarki dimulai dari modul utama. Modul subkordinat ke modul kontrol utama digabungkan ke dalam struktur baik menurut depth first atau breadth first.
Proses integrasi :
·       Modul utama digunakan sebagai test driver dan stub yang menggantikan seluruh modul yang secara langsung berada di bawah modul kontrol utama.
·       Tergantung pada pendekatan perpaduan yang dipilih (depth / breadth)
·       Uji coba dilakukan selama masing-masing modul dipadukan
·       Pada penyelesaian masing-masing uji coba stub yang lain dipindahkan dengan modul sebenarnya.
·       Uji coba regression yaitu pengulangan pengujian untuk mencari kesalahan lain yang mungkin muncul.
2         2.  Buttom up integration
Pengujian buttom up dinyatakan dengan penyusunan yang dimulai dan diujicobakan dengan atomic modul (modul tingkat paling bawah pada struktur program). Karena modul dipadukan dari bawah ke atas, proses yang diperlukan untuk modul subordinat yang selalu diberikan harus ada dan diperlukan untuk stub yang akan dihilangkan.
Strategi pengujian
·       Modul tingkat bawah digabungkan ke dalam cluster yang memperlihatkan subfungsi perangkat lunak
·       Driver (program kontrol pengujian) ditulis untuk mengatur input test case danoutput
·       Cluster diuji
·       Driver diganti dan cluster yang dikombinasikan dan dipindahkan ke atas pada struktur program
3. Pengujian Validasi
Pengujian penerimaan perangkat lunak dilakukan oleh pengguna yang telah bekerja sama dengan pembuat program guna untuk mengetahui secara langsung bagaimana perangkat lunak yang telah dibuat dapat bekerja sebelum perangkat lunak yang dibuat disebar luaskan. Pengujian penerimaan ini bertujuan untuk mengetahui kepuasan pengguna atau user. Pengujian validasi dikatakan berhasil bila fungsi yang ada pada perangkat lunak sesuai dengan yang diharapkan pemakai. Validasi perangkat lunak merupakan kumpulan seri uji coba black box yang menunjukkan sesuai dengan yang diperlukan. Kemungkinan kondisi setelah pengujian dilakukan adalah sebagai berikut :
  • Karakteristik performansi fungsi sesuai dengan spesifikasi dan dapat diterima
  • Penyimpangandari spesifikasi ditemukan dan dibuatkan daftar penyimpangan.
Pengujian BETA dan ALPHA
Apabila perangkat lunak dibuat untuk pelanggan maka dapat dilakukan aceeptance testsehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan. Tes ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yang lebih rinci dan membiasakan pelanggan memahami perangkat lunak yang telah dibuat.
1. Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan. Perangkat lunak digunakan pada setting yang natural dengan pengembang “yang memandang” melalui bahu pemakai dan merekam semua kesalahan dan masalah pemakaian.
2. Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir perangkat lunak dalam lingkungan yang sebenarnya, pengembang biasanya tidak ada pada pengujian ini. Pelanggan merekan semua masalah (real atau imajiner) yang ditemui selama pengujian dan melaporkan pada pengembang pada interval waktu tertentu.
4.    Pengujian Sistem
Pengujian sistem dilakukan pada unit-unit proses yang telah diintegrasikan diuji dengan antarmuka yang sudah dibuat sehingga pengujian ini dimaksudkan untuk menguji sistem perangkat lunak. Perlu diingat bahwa pengujian sistem harus dilakukan secara bertahap sejak awal pengembangan, jika pengujian hanya diakhir maka dapat dipastikan kualitas sistemnya kurang bagus.
Pada akhirnya perangkat lunak digabungkan dengan elemen sistem lainnya dan rentetan perpaduan sistem dan validasi tes dilakukan. Jika uji coba gagal atau di luar skope dari proses daur siklus pengembangan sistem, langkah yang diambil selama perancangan dan pengujian dapat diperbaiki. Keberhasilan perpaduan perangkat lunak dan sistem yang besar merupakan kuncinya. Sistem testing merupakan rentetan pengujian yang berbeda-beda dengan tujuan utama mengerjakan keseluruhan elemen sistem yang dikembangkan.
  1. Recovery Testing. Recovery testing adalah sistem testing yang memaksa perangkat lunak mengalami kegagalan dalam bermacam-macam cara dan apakah perbaikan dilakukan dengan tepa
  2. Security Testing. Security testing adalah pengujian yang akan melalukan verifikasi dari mekanisme perlindungan yang akan dibuat oleh sistem, melindungi dari hal-hal yang mungkin terjadi.
  3. Strees Testin. Strees testing dirancang untuk menghadapi situasi yang tidak normal pada saat program diuji. Testing ini dilakukan oleh sistem untuk kondisi seperti volume data yang tidak normal (melebihi atau kurang dari batasan) atau fekuensi.

Tidak ada komentar:

Posting Komentar