Nama :Muammar
Gazali
Npm :16114851
Kelas :4KA17
1.
System Development
Life Cyle (SDLC)
SDLC adalah tahapan-tahapan
pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun
sistem informasi. Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
System Development Lyfe Cycle (SDLC)
adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada
beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah
waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid,
prototyping, incremental, build & fix, dan synchronize & stabilize.
Dengan siklus SDLC, proses membangun
sistem dibagi menjadi beberapa langkah dan pada sistem yang besar,
masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat
enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun
secara umum adalah sama. Langkah tersebut adalah
1. Analisis sistem, yaitu membuat
analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem,
yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan
sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat
desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk
pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap
pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan
pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan
sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara
berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah
yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user,
terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan
bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka
langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah
pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima
bersifat quality assurance. Quality control dilakukan oleh personal internal
tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang
di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi.
Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi system
2.
Pengujian
Perangkat Lunak
Adalah
elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan
kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian
perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak
tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di
mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan
manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan
perangkat lunak diiringi dengan aktivitas jaminan kualitas. Meningkatnya
visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya”
yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya
perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian
merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat
dianggap sebagai hal yang merusak daripada membangun.
Tujuan pengujian PL :
·
Tujuan langsung
- Identifikasi
dan menemukan beberapa kesalahan yang mungkin ada dalam PL yang diuji
- Setelah
PL dibetulkan, diidentifikasi lagi kesalahan dan dites ulang untuk menjamin
kualitas level penerimaan
- Membentuk
tes yang efisien dan efektif dengan anggaran dan jadwal yang terbatas
·
Tujuan tidak langsung
- Mengumpulkan
daftar kesalahan untuk digunakan dalam daftar pencegahan kesalahan (tindakan corrective
dan preventive).
Strategi pengujian PL :
·
Big bang testing : menguji PL keseluruhan, sekali untuk semua package
yang ada
·
Incremental testing : menguji PL per bagian dalam modul (unit testing),
dilanjutkan dengan menguji integrasi tiap modul (integration test),
selanjutnya seluruh package diuji (system testing)
Incremental testing :
Dibentuk
dari dua dasar strategi :
Top-down
§
Modul pertama yang diuji : modul utama (tertinggi)
§
Modul terakhir yang diuji : modul pada level paling rendah
§
Keuntungan : memperlihatkan keseluruhan fungsi program (semua modul lengkap)
§
Kerugian : sulit menyiapkan potongan program dan menganalisis hasil tes
Bottom-up
: kebalikan top-down
§
Keuntungan : relatif mendorong performance
§
Kerugian : menghambat program sebagai suatu keseluruhan modul
·
Keduanya menganggap package PL dibangun berdasarkan hirarki modul PL
Pengelompokan berdasarkan konsep
pengujian :
A. Black
box (functionality) testing
Mengidentifikasi
kesalahan yang berhubungan dengan kesalahan fungsionalitas PL yang tampak dalam
kesalahan output. Pengujian yang mengabaikan mekanisme internal sistem atau
komponen dan fokus semata-mata pada output yang dihasilkan yang merespon input
yang dipilih dan kondisi eksekusi. Pengujian yang dilakukan untuk mengevaluasi
pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. Pengujian
yang dilakukan untuk antar muka perangkat lunak,pengujian ini dilakukan untuk
memperlihatkan bahwa fungsi-fungsi bekerja dengan baik dalam arti masukan yang
diterima dengan benar dan keluaran yang dihasilkan benar-benar tepat,
pengintegrasian dari eksternal data berjalan dengan baik(file/data).
Pengujian
Black Box digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak
yang dirancang. Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan
keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk
fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran
tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi
kebutuhan pemakai dapat diukur sekaligus dapat diiketahui
kesalahan-kesalahannya.
Beberapa
jenis kesalahan yang dapat diidentifikasi :
•
Fungsi tidak benar atau hilang
•
Kesalahan antar muka
•
Kesalahan pada struktur data (pengaksesan basis data)
•
Kesalahan inisialisasi dan akhir program
•
Kesalahan performasi
B. White
box (structural) testing / glass box testing
Memeriksa
kalkulasi internal path untuk mengidentifikasi kesalahan. Pengujian yang
memegang perhitungan mekanisme internal sistem atau komponen. White box testing memiliki empat
kategori yaitu :
1. Data processing and calculations
correctness test : melakukan pengecekan data processing untuk setiap
kasus tes.
Pendekatan yang digunakan :
-
Path coverage : rencana tes yang mencakup semua kemungkinan path,
di mana coverage diukur dengan berapa % path discover
-
Line coverage : rencana tes yang mencakup semua baris kode program, di
mana coverage diukur dengan berapa % line discover
Correctness
test & path coverage
-
Path yang berbeda dalam modul PL akan dibentuk oleh pilihan kondisional statement
seperti IF-THEN-ELSE / DO WHILE / DO UNTIL.
-
Untuk full line coverage, tiap line dieksekusi min 1 kali selama
proses pengujian, contoh : Imperial Taxi Service (ITS) taximeter ada 24 test
case
- Software qualification test
- Maintainability test
- Reusability test
Pengujian
yang dilakukan lebih dekat lagi untuk menguji prosedur-prosedur yang ada.Lintasan
logic yang dilalui oleh setiap bagian prosedur diuji dengan memberikan kondisi/
loop spesifik. Pengujian ini menjamin pengujian terhadap semua lintasan yang
tidak bergantung minimal satu kali.Dimana semua keputusan logic dari sisi
‘true’ dan ‘false’ program akan diuji serta eksekusi semua loop dalam batasan
kondisi dan batasan operasionalnnya selain itu juga meliputi pengujian validasi
struktur data internal.
Pengujian
White Box digunakan untuk mengetahui cara kerja suatu perangkat lunak secara
internal. Pengujian dilakukan untuk menjamin operasi-operasi internal sesuai
dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali
dari prosedur yang dirancang.
Pelaksanaan
pengujian white box :
•
Menjamim seluruh independent path dieksekusi paling sedikit satu kali.
Independent path adalah jalur dalam program yang menunjukkan paling sedikit
satu kumpulan proses ataupun kondisi baru.
•
Menjalani logical decision pada sisi
dan false
•
Mengeksekusi pengulangan (looping)
dalam batas-batas yang ditentukan
•
Menguji struktur data internal
3.
Faktor-faktor pengujian pada perangkat lunak:
1. Kebutuhan yang berkaitan dengan metodologi.
2. Pendefenisian spesifikasi fungsionl
3. Penentuan spesifikasi kegunaan.
4. Penentuan kebutuhan portabilitas.
5. Pendefenisian antar muka system
4. STRATEGI PENGUJIAN PERANGKAT LUNAK
Dalam
strategi pengujianperangkat lunak dapat digambarkan dengan ilustrasi berikut: Sebuah
perangkat lunak dimulai daripenentuan kebutuhan perangkat lunak, kemudian prose
dilanjutkan ke dalam bentukrancangan, dan akhirnya ke pengkodean.
Strategi pengujian serupa dengan haltersebut, dimulai dengan unit testing di pusat spiral di mana masing-masingmodul/unit dari perangkat lunak yang diimplementasikan dalam source codemenjadi sasaran pengujian. Kemudian dilakukan integration testing dengan focuspengujian adalah desain dan kontruksi arsitektur perangkat lunak. Selanjutnyadilakukan validation testing dengan sasaran pengujian adalah kesesuaian dengankebutuhan perangkat lunak yang telah ditentukan di awal. Terakhir padalingkaran terluar spiral sampai pada system testing, di mana perangkat lunakdan keseluruhan sistem diuji.
Strategi pengujian serupa dengan haltersebut, dimulai dengan unit testing di pusat spiral di mana masing-masingmodul/unit dari perangkat lunak yang diimplementasikan dalam source codemenjadi sasaran pengujian. Kemudian dilakukan integration testing dengan focuspengujian adalah desain dan kontruksi arsitektur perangkat lunak. Selanjutnyadilakukan validation testing dengan sasaran pengujian adalah kesesuaian dengankebutuhan perangkat lunak yang telah ditentukan di awal. Terakhir padalingkaran terluar spiral sampai pada system testing, di mana perangkat lunakdan keseluruhan sistem diuji.
A. PendekatanStrategis ke Pengujian Perangkat lunak
Pengujianmerupakan rangkaian aktivitas
yang dapat direncanakan sebelumnya dan dilakukansecara sistematis. Strategi uji
coba perangkat lunak memudahkan para perancanguntuk menentukan keberhasilan
system yg telah dikerjakan. Hal yg harusdiperhatikan adalah langkah-langkah
perencanaan dan pelaksanaan harusdirencanakan dengan baik dan berapa lama
waktu, upaya dan sumber daya ygdiperlukan Strategi uji coba mempunyai
karakteristik sbb :
a. Pengujian mulai pada tingkat modul
yg paling bawah,dilanjutkan dgn modul di atasnya kemudian hasilnya dipadukan
b. Teknik pengujianyang berbeda
mungkin menghasilakn sedikit perbedaan (dalam hal waktu)
c. Pengujiandilakukan oleh pengembang
perangkat lunak dan (untuk proyek yang besar) suatukelompok pengujian yang
independen.
d. Pengujian dandebugging merupakan
aktivitas yang berbeda, tetapi debugging termasuk dalamstrategi pengujian.
Validasi
dan validasi
Verifikasi
dan validasi merupakandua istilah yang sering dikaitkan dengan tahapan
pengujian perangkat lunak.Verifikasi mengacu pada serangkaian aktivitas untuk
memastikan bahwa perangkatlunak mengimplementasikan fungsi tertentu secara
benar, sedangkan validasimengacu pada serangkaian aktivitas untuk memastikan
bahwa perangkat lunak yangtelah dibuat sesuai denga kebutuhan konsumen.
Definisi
V&V mencakupserangkaian aktivitas dari penjaminan kualitas perangkat lunak
(SQA) yangmeliputi kajian teknis formal, audit kualitas dan control, monitoring
kinerja,simulasi, studi feasibilitas, kajian dokumentasi, kajian basisdata,
analisisalgoritma, pengujian pengembangan, pengujian kualifikasi, dan
pengujianinstalasi.
Pengorganisasian
Pengujian Perangkat Lunak
Proses
pengujian sebuah perangkat lunaksebaiknya melibatkan pihak yang memang secara
khusus bertanggung jawab untukmelakukan proses pengujian secara independen.
Untuk itulah diperlukanIndependent Test Group (ITG).
Peran
dari ITG adalah untuk menghilangkan“conflict of interest” yang terjadi ketika
pengembang perangkat lunak berusahauntuk menguji produknya sendiri.
Walaupun
seperti itu, sering terjadibeberapa kesalahan pemahaman berkaitan dengan peran
ITG, antara lain:
a.
Pengembangtidak boleh melakukan pengujian sama sekali. Pendapat ini tidak 100%
benar,Karena dalam banyak kasus, pengembang juga melakukan proses unit testing
danintegration test.
b.
Perangkatlunak dilempar begitu saja untuk diuji secara sporadic. Hal tersebut
adalahsalah karena pengemmbang dan ITG bekerja sama pada kesalahan proyek
untukmemastikan pengujian akan dilakukan. Sementara pengujian dilakukan,
pengembangharrus memperbaiki kesalahan yang ditemukan.
c.
Pengujitidak terlibat pada proyek sampai tahap pengujian dimulai. Hal tersebut
salahkarena ITG merupakan bagian dari tim proyek pengembangan perangkat lunak
dimanaia terlihat selama spesifikasi proses dan tetap terlinat pada
keseluruhanproyek besar.
B.
Masalah-Masalah Strategis
Masalah-masalah berikut harus diselesaikanbila pengujian
ingin berlangsung sukses:
1. Menspesifikasikan kebutuhan produkpada kelakuan yang
terukur sebelum pengujian dimulai. Strategi pengujian yangbaik tidak hanya
untuk menenmukan kesalahan, namun juga unutk menilai kualitasprogram.
2. Menspesifikasikan tujuan pengujiansecara eksperangkat
lunakisit. Sasaran spesifik dari pengujian harus dinyatakandalam bentuk yang
terukur
3. Mengidentifikasikan kategori useruntuk perangkat lunak
dan membuat profilnya masing-masing. Beberapa kasus yangmenggambarkan scenario
interaksi bagi masing-masing kategori dapat mengurangikerja pengujian dengan
memfokuskan pengujian pada penggunaan actual produk.
4. Membangun rencana pengujian yangmenegaskan rapid cycle
testing. Umpan balik yang muncul dari rapid cycletesting dapaat digunakan untuk
mengontrol kualitas dan strategi pengujian yangsesuai.
5. Membangun perangkat lunak yang tangguhyang dirancang
untuk menguji dirinya sendiri. Perangkat lunak dapatmendiagnosis jenis-jenis
kesalahan tertentu dan mengakomodasi pengujianotomatis dan pengujian regresi.
6. Menggunakan tinjauan formal yang efektif sebagai filter
sebekum pengujian.Kajian teknis formal dapat mengungkap kesalahan seefektif
pengujian sehinggadapat mengurangi jumlah kerja pengujian.
7. Mengadakan tinjauan formal dapatmengungkap inkonsistensi,
penghapusan, dan kesalahan seketika dalam pendekatanpengujian.
8. Membangun pendekatan yang meningkatsecara
berkelanjutan untuk proses pengujian. Strategi pengujian harus terukur.Metric
yang terkumpul selama pengujian harus digunakan sebagai bagian daripendekatan
control proses statistical bagi pengujian perangkat lunak.
C.
PengujianUnit
Unit testing (uji coba unit) fokusnya
pada usahaverifikasi pada unit terkecil dari desain perangkat lunak, yakni
modul. Ujicoba unit selalu berorientasi pada white box testing dan dapat
dikerjakanparalel ayau beruntun dengan modul lainnya.
PertimbanganPengujian Unit
Interface modul diuji untuk memastikan
bahwa informasisecara tepat mengalir masuk dan keluar dari inti program yang diuji.
Strukturdata local diuji untuk memastikan bahwa data yang tersimpan secara
temporaldapat tetap menjaga integritasnya selama semua langkah langkah di
dalamsuatu algoritma dieksekusi. Kondisi batas diuji untuk memastikan bahwa
modulberoperasi dengan tepat pada batas yang ditentukan untuk
membatasipemrosesan. Semua jalur independen(jalur dasar) yang melalui struktur
controldipakai sedikirnya satu kali. Dan akhirnya penanganan kesalan diuji.
Prosedur Pengujian Unit
sumber telah dikembangkan, ditunjang
kembali dandiverifikasi untuk sintaksnya, maka perancangan test case dimulai.
Peninjauankembali perancangan informasi akan menyediakan petunjuk untuk
menentukan testcase. Karena modul bukan program yg berdiri sendiri maka driver
(pengendali)dan atau stub perangkat lunaK harus dikembangkan untuk pengujian
unit.
Driver adlprogram yg menerima data untuk test
case dan menyalurkan ke modul yg diuji danmencetak hasilnya.
Stub melayanipemindahan modul yg akan
dipanggil untuk diuji
D.
Pengujian Integrasi
Pengujian terintegrasi adl teknik yg
sistematis untukpenyusunan struktur program, pada saat dikerjakan uji coba
untuk memeriksakesalahan yg nantinya digabungkan dengan interface. Metode
pengujian:
1. Top down integration
Merupakan pendekatan inkrmental untuk
penyusunanstruktur program. Modul dipadukan dgn bergerak ke bawah melalui
kontrol hirarkidimulai dari modul utama. Modul subordinat ke modul kontrol
utama digabungkanke dalam struktur baik menurut depth first atau breadth first.
Proses integrasi:
a. Modul utama digunakan
sebagai test driver danstub yg menggantikan seluruh modul yg secara langsung
berada di bawah modulkontrol utama.
b. Tergantung pada
pendekatan perpaduan yg dipilih(depth / breadth)
c. Uji coba dilakukan selama
masing-masing moduldipadukan
d. Pada penyelesaian
masing-masing uji coba stub yglain dipindahkan dgn modul sebenarnya.
e. Uji coba regression
yaitu pengulangan pengujianuntuk mencari kesalahan lain yg mungkin muncul.
2. Buttom up integration
Pengujian buttom up dinyatakan dgn
penyusunan ygdimulai dan diujicobakan dgn atomic modul (modul tingkat paling
bawah pdstruktur program). Karena modul dipadukan dari bawah ke atas, proses
ygdiperlukan untuk modul subordinat yg selalu diberikan harus ada dan
diperlukanuntuk stub yg akan dihilangkan.
Strategi pengujian
a. Modul tingkat bawah
digabungkan ke dalam clusteryg memperlihatkan subfungsi perangkat lunak
b. Driver (program
kontrol pengujian) ditulisuntuk mengatur input test case dan output
c. Clusterdiuji
d. Driver diganti dan
cluster yg dikombinasikandipindahkan ke atas pada struktur program
E.
Pengujian Validasi
Setelah semua kesalahan diperbaiki
maka langkahselanjutnya adalah validasi terting. Pengujian validasi dikatakan
berhasil bilafungsi yg ada pada perangkat lunak sesuai dgn yg diharapkan
pemakai. Validasiperangkat lunak merupakan kumpulan seri uji coba black box yg
menunjukkansesuai dgn yg diperlukan.
Kemungkinan kondisi setelah pengujian:
1. Karakteristikperformansi fungsi
sesuai dgn spesifikasi dan dapat diterima
2. Penyimpangandari
spesifikasi ditemukan dan dibuatkan daftar penyimpangan.
Pengujian BETA dan ALPHA
Apabila PERANGKAT LUNAK dibuat untuk
pelanggan makadapat dilakukan aceeptance test sehingga memungkinkan pelanggan
untukmemvalidasi seluruh keperluan. Test ini dilakukan karena memungkinkan
pelanggan menemukan kesalahan yg lebih rinci danmembiasakan
pelanggan memahami PERANGKAT LUNAK yg telah dibuat.
Pengujian Alpha
Dilakukan pada sisi pengembang oleh
seorang pelanggan.Perangkat Lunak digunakan pada setting yg natural dgn
pengembang “yg memandang”melalui bahu pemakai dan merekam semua kesalahan dan
masalah pemakaian
Pengujian Beta
Dilakukan pada satu atau lebih
pelanggan oleh pemakaiakhir perangkat lunak dalam lingkungan yg sebenarnya,
pengembang biasanya tidakada pada pengujian ini. Pelanggan merekan semua
masalah (real atau imajiner) ygditemui selama pengujian dan melaporkan pada
pengembang pada interval waktutertentu.
F.
Pengujian Sistem.
Pada akhirnya PERANGKAT LUNAK
digabungkan dgn elemensystem lainnya dan rentetan perpaduan system dan validasi
tes dilakukan. Jikauji coba gagal atau di luar skope dari proses daur siklus
pengembangan system,langkah yg diambil selama perancangan dan pengujian dapat
diperbaiki.Keberhasilan perpaduan PERANGKAT LUNAK dan system yg besar merupakan
kuncinya.
Sistem testing merupakan rentetan
pengujian ygberbeda-beda dgn tujuan utama mengerjakan keseluruhan elemen system
ygdikembangkan.
Recovery Testing
Adalah system testing yg memaksa
PERANGKAT LUNAKmengalami kegagalan dalam bermacam-macam cara dan apakah
perbaikan dilakukandgn tepat.
Security Testing
Adalah pengujian yg akan melalukan
verifikasi darimekanisme perlindungan yg akan dibuat oleh system, melindungi
dari hal-hal ygmungkin terjadi.
Strees Testing
Dirancang untuk menghadapi situasi yg
tidak normalpada saat program diuji. Testing ini dilakukan oleh system untuk
kondisi seperti volume data yg tidak normal (melebihiatau kurang dari batasan)
atau fekuensi.
G. Debugging
Debugging
bukan merupakanpengujian, namun merupakan konsekuensi dari pengujian yang
berhasil. Jikasebuah kasus uji berhasil menemukan kesalahan, maka proses
debugging bertujuanuntuk menghilangkan kesalahan tersebut.
Debugging
merupakan proses yangsulit untuk dilakukan karena adanya beberapa karakteristik
bug seperti:
1. Gejala dan penyebab dari bug bisa sajasangat jauh, gejala
dapat muncul pada bagian tertentu dari program danpenyebabnya bisa saja berada
pada bagian lain yang sangat jauh dari tempatmunculnya gejala.
2. Gejala dapat hilang ketika kesalahanyang lain diperbaiki
3. Gejala dapat ditimbulkan oleh sesuatuyang tidak
salah(mis. Pembulatan yang tidak akurat).
4. Gejala dapat disebabkan oleh masalahtiming.
5. Kemungkinan sulit untuk memproduksikondisi onput secara
akurat.
6. Gejala dapat terjadi tiba-tiba.
7. Gejala dapat disebabkan oleh sesuatuyang didistribusikan
melewati sejumlah tugas yang bekerja pada prosesor yangberbeda-beda.
Terdapat
3 jenis pendekatandebugging, antara lain:
a.
Brute Force
Merupakan
teknik yang paling seringdigunakan dan paling tidak efisien dalam mengisolasi
penyebab kesalahan. Denganprinsip “biarkan computer menemukan kesalahan”, maka
seluruh sumber dayacomputer digunakan dengan tujuan untuk menemukan penyebab
kesalahan
b.
Backtracking
Merupakan
pendekatan yang dimulaidari penemuan gejala kemudian menelusuri balik hingga ke
penyebab.
c.
Cause Elimination
Dimanifestasikan
oleh induksi ataudeduksi dan menggunakan konsep partisi biner. Data yang
berhubungan dengankesalahan yang muncul dikumpulkan untuk mengisolasi penyebab.
Kemudian dibuatsebuah hipotesis dan data digunakan untuk membuktikan hipotesis
tersebut.Daftar rangkaian penyebab yang mungkin dibuat dan dilakukan pengujian
untukmengeliminasi penyebab-penyebab tersebut. Jika pengujian menunjukkan
kebenaranhipotesis untuk suatu penyebab, maka data diperbaiki untuk mengisolasi
bug.Sekali bug ditemukan, bug harus diperbaiki.
0 komentar:
Posting Komentar