1. Jelaskan pendekatan strategi pengujian perangkat lunak!
a) Pengujian unit program Pengujian difokuskan pada unit terkecil dari suatu modul program. Dilaksanakan denganmenggunakan driver dan stub. Driver adalah suatu program utama yang berfungsi mengirim atau menerima data kasus uji dan mencetak hasil dari modul yang diuji. Stubadalah modul yang menggantikan modul sub-ordinat dari modul yang diuji. b) Pengujian integrasi Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi) dengan fokus pada masalah interfacing. Dapat dilaksanakan secara top-down integration atau bottom-up integration. c) Pengujian validasi Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan. Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada suatu cara yang diharapkan oleh pemakai. d) Pengujian sistem Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer. • Recovery testing Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diujinormalisasinya. • Security testing Dilakukan untuk menguji mekanisme proteksi • Stess testing Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak kepada situasi yang tidak normal. 2. Jelaskan pengujian unit dalam perangkat lunak! Unit testing (uji coba unit) fokusnya pada usaha verifikasi pada unit terkecil dari desain perangkat lunak, yakni modul. Ujicoba 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 local 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 kontrol dipakai sedikitrnya satu kali. Dan akhirnya penanganan kesalahan diuji. • Prosedur Pengujian Unit Sumber telah dikembangkan, ditunjang kembali dan diverifikasi untuk sintaksnya, maka perancangan test case dimulai. Peninjauan kembali perancangan informasi akan menyediakan petunjuk untuk menentukan testcase. Karena modul bukan program yang berdiri sendiri maka driver (pengendali) dan atau stub perangkat lunak harus dikembangkan untuk pengujian unit. 3. Jelaskan pengujian Integrasi system! Pengujian terintegrasi adalah teknik yang sistematis untuk penyusunan struktur program, pada saat dikerjakan uji coba untuk memeriksa kesalahan yang nantinya digabungkan dengan interface. Metode pengujian: 1) Top down integration Merupakan pendekatan inkremental untuk penyusunan struktur program. Modul dipadukan dengan bergerak ke bawah melalui kontrol hirarki dimulai dari modul utama. Modul subordinat ke modul kontrol utama digabungkan ke dalam struktur baik menurut depth first atau breadth first. Proses integrasi: a. Modul utama digunakan sebagai test driver danstub yang menggantikan seluruh modul yang secara langsung berada di bawah modul kontrol utama b. Tergantung pada pendekatan perpaduan yang dipilih (depth / breadth) c. Uji coba dilakukan selama masing-masing modul dipadukan d. Pada penyelesaian masing-masing uji coba stub yang lain dipindahkan dengan modul sebenarnya e. Uji coba regression yaitu pengulangan pengujia nuntuk mencari kesalahan lain yang mungkin muncul 2) Bottom up integration Pengujian buttom up dinyatakan dengan penyusunan yangdimulai dan diuji cobakan dengan atomic modul (modul tingkat paling bawah pdstruktur 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. 4. Jelaskan pengujian Validasi dalam perangkat lunak! Setelah semua kesalahan diperbaiki maka langkah selanjutnya adalah validasi testing. 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: 1. Karakteristik performansi fungsi sesuai dengan spesifikasi dan dapat diterima 2. Penyimpangandari spesifikasi ditemukan dan dibuatkan daftar penyimpangan. Pengujian Beta dan Alpha Apabila perangkat lunak dibuat untuk pelanggan maka dapat dilakukan aceeptance test sehingga memungkinkan pelanggan untuk memvalidasi seluruh keperluan. Test ini dilakukan karena memungkinkan pelanggan menemukan kesalahan yang lebih rinci dan membiasakan pelanggan memahami perangkat lunak yang telah dibuat. 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 Pengujian Beta Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir perangkat lunak dalam lingkungan yang sebenarnya, pengembang biasanya tidakada pada pengujian ini. Pelanggan merekan semua masalah (real atau imajiner) yang ditemui selama pengujian dan melaporkan pada pengembang pada interval waktu tertentu. 5. Jelaskan pengujian system debugging! Pada akhirnya perangkat lunak digabungkan dengan elemen system lainnya dan rentetan perpaduan system dan validasi tes dilakukan. Jika uji coba gagal atau di luar skope dari proses daur siklus pengembangan system, langkah yang diambil selama perancangan dan pengujian dapat diperbaiki. Keberhasilan perpaduan perangkat lunak dan system yang besar merupakan kuncinya. Sistem testing merupakan rentetan pengujian yang berbeda-beda dengan tujuan utama mengerjakan keseluruhan elemen system yangdikembangkan. Recovery Testing Adalah system testing yang memaksa perangkat lunak mengalami kegagalan dalam bermacam-macam cara dan apakah perbaikan dilakukan dengan tepat. Security Testing Adalah pengujian yang akan melalukan verifikasi dari mekanisme perlindungan yang akan dibuat oleh system, melindungi dari hal-hal yang mungkin terjadi. Strees Testing Dirancang untuk menghadapi situasi yang tidak normal pada saat program diuji. Testing ini dilakukan oleh system untuk kondisi seperti volume data yang tidak normal (melebihiatau kurang dari batasan) atau fekuensi.
Debugging bukan merupakan pengujian, namun merupakan konsekuensi dari
pengujian yang berhasil. Jikasebuah kasus uji berhasil menemukan kesalahan, maka proses debugging bertujuan untuk menghilangkan kesalahan tersebut. Debugging merupakan proses yang sulit untuk dilakukan karena adanya beberapa karakteristik bug seperti: 1. Gejala dan penyebab dari bug bisa saja sangat jauh, gejala dapat muncul pada bagian tertentu dari program dan penyebabnya bisa saja berada pada bagian lain yang sangat jauh dari tempat munculnya gejala. 2. Gejala dapat hilang ketika kesalahan yang lain diperbaiki 3. Gejala dapat ditimbulkan oleh sesuatu yang tidak salah (misalnya pembulatan yang tidak akurat). 4. Gejala dapat disebabkan oleh masalah timing. 5. Kemungkinan sulit untuk memproduksi kondisi input secara akurat. 6. Gejala dapat terjadi tiba-tiba. 7. Gejala dapat disebabkan oleh sesuatu yang didistribusikan melewati sejumlah tugas yang bekerja pada prosesor yangberbeda-beda. 6. Sebutkan hal-hal yang harus dipersiapkan dalam rencana pengujian system! a) Mempelajari strategi pengujian b) Menentukan tipe pengembangan proyek dan perangkat lunak c) Menentukan tipe perangkat lunak d) Menentukan lingkup pengujian e) Mengidentifikasikan tactical risk f) Menentukan waktu pengujian g) Membangun rencana pengujian system h) Membangun rencana unit pengujian system i)