Anda di halaman 1dari 9

CODE REVIEW, TEST DATA , AND CODE COMPARISON

1. INTRODUCTION
Bab ini menyatakan tiga teknik pengumpulan bukti yang digunakan terutama untuk
menilai kualitas logika program.

Code Review (review kode), melibatkan daftar kode sumber pembacaan laporan auditor
untuk menentukan apakah kode yang tidak sah ada dan menghasilkan hipotesis tentang
potensi kesalahan dalam logika. Jika auditor cukup terampil, review kode juga menunjukkan
kode dan kode yang tidak efisien yang tidak sesuai dengan tujuannya.

Test Data (data uji), melibatkan auditor dengan menggunakan sampel data untuk menilai
apakah ada kesalahan logika dalam sebuah program dan apakah program tersebut
memenuhi tujuannya. Sekali lagi, auditor terampil juga dapat menggunakan data uji untuk
menilai apakah sebuah program berjalan dengan efisien.

Code Comparison (perbandingan kode), melibatkan auditor yang membandingkan dua


versi kode sumber atau kode program, satu versi - cetak biru - memiliki atribut yang
diketahui, dan audito menentukan apakah versi lain memiliki atribut yang sama.

Penggunaan ketiga teknik tersebut terkadang mengikuti urutan alami.

(Penggunaan kode review, data uji, dan


perbandingan kode secara terpadu untuk
keperluan pengumpulan bukti)

Pertama auditor mengkaji kode program untuk menghasilkan hipotesis tentang kode atau
kode yang salah yang tidak efisien atau tidak sesuai dengan tujuannya.

Kedua, auditor menggunakan data uji untuk menguji hipotesis ini. Setiap kekurangan yang
ditemukan dalam logika program dikoreksi.
ketiga, setelah auditor puas dengan kualitas kode program, versi program ini menjadi cetak
biru. Di lain waktu, versi poduksi dari program ini dapat dibandingkan terhadap cetak biru
ini untuk menentukan apakah ada perbedaan yang keluar.

2. Where Do Program Defects Occur? (Dimana terjadinya kekurangan


program )
kesimpulan tentatif

sejumlah kecil modul program akan memiliki sejumlah besar kesalahan


spesifikasi kebutuhan dan kesalahan desain yang menonjol seperti kesalahan
pengkodean
Kesalahan desain berhubungan dengan masalah antarmuka dengan pengguna.

3. Program Source Code Review (review kode sumber program)

Tujuan kode review

1. Identifikasi kode yang keliru


auditor dapat menggunakan review kode untuk menentukan apakah kode tersebut
sesuai dengan spesifikasi program atau tidak
2. identifikasi kode yang tidak sah
tinjauan kode juga dapat menghalangi programmer memasukkan kode yang tidak
sah ke dalam program.
3. mengidentifikasi kode yang tidak efektif
kode yang tidak efektif adalah kode yang tidak mencapai tujuannya
4. mengidentifikasi kode yang tidak efisien
review kode dapat memungkinkan audit mengidentifikasi segmen kode yang tidak
efisien.
5. mengidentifikasi kode yang tidak standar

Metodologi riview kode sumber


tujuh langkah dilibatkan dalam peninjauan kode sumber program:
1. Pilih kode sumber untuk diperiksa.
2. Tinjau standar pemrograman organisasi.
3. Dapatkan pemahaman tentang spesifikasi program.
4. Dapatkan daftar kode sumber.
5. Tinjaulah bahasa pemrograman yang digunakan untuk mengimplementasikan kode.
6. Tinjau kode sumbernya.
7. Merumuskan hipotesis cacat.

Manfaat dan biaya review kode


Manfaat
Memberikan tingkat pengetahuan terperinci tentang sebuah program.
Kekurangan
Sering mengkonsumsi dan seringkali sulit dalam pengaplikasiannya dan mahal untuk
dilakukan.

4. Test Data ( Data Uji)

Dapat diandalkan jika mengungkapkan kegagalan (kekurangan) pada program saat


program mengandung sebuah kekurangan
Auditor harus menggunakan pendekatan sistematis terhadap perancangan data uji.

Jenis pendekatan sistematis terhadap perancangan data uji ada:

Black Box Test Data Methods (metode pengujian berbasis spesifikasi)


Menyadari bahwa keberhasilan utama dari sumber program kesalahan program
adalah kesalahan desain dan kurangnya kesesuaian program dengan spesifikasi
program. Dengan demikian, perancang data uji yang menggunakan pendekatan ini
terlebih dahulu berusaha untuk tidak memahami apa yang dipikirkan program
tersebut dengan memunculkan informasi dari pengguna yang berpengetahuan
luas dan dengan memeriksa dan mengevaluasi spesifikasi program. Begitu mereka
memiliki persyaratan fungsional yang jelas untuk program tersebut, mereka
kemudian dapat mulai merancang data uji yang diperlukan untuk mengevaluasi
kepatuhan program dengan persyaratan yang benar.
tiga teknik dapat digunakan untuk memudahkan desain data uji di bawah
pendekatan black box:
1. Decision table approach
Auitor terlebih dahulu harus memutuskan program atau bagian dari program
mana yang akan diuji. Jika mereka memutuskan untuk mengikuti pendekatan
top down untuk pengujian, bagian kode utama akan diuji yang pertama diikuti
oleh tes modul tingkat rendah dalam program. Begitu program atau bagian
kode yang akan diuji telah diidentifikasi, auditor dapat mulai merumuskan
deskripsi kondisi (logika) yang relevan dengan program yang berfungsi dengan
benar.
Contoh :

2. Flowchart approach
Pendekatan flowchart pada perancangan data uji sama dengan pendekatan
decision table. Perbedaan utamanya adalah cara tes tersebut
didokumentasikan. auditor terlebih dahulu harus memutuskan sumber
informasi untuk konstruksi flowchart. maka program dari bagian program yang
akan menjadi flowchart harus dipilih.
Contoh:
3. Decision tree approach
Untuk perancangan data uji bergantung pada prinsip dasar yang sama seperti
tabel keputusan dan pendekatan flowchart. Sekali lagi, perbedaan utama
adalah cara logika yang akan diuji adalah dokumen.
Contoh :

White Box Test Data Design Methods (metode pengujian berbasis program)
Didasarkan pada premis bahwa informasi penting tentang kebenaran suatu
program dapat diperoleh dengan pelaksanaan yang sistematis dari berbagai jalur
melalui program. Secara keseluruhan, pendekatan ini mengakui bahwa walaupun
dengan informasi awal tentang program tersebut, masih sangat sulit untuk
memprediksi perilaku program yang sebenarnya. Oleh karena itu, perancang data
uji yang menggunakan pendekatan ini terlebih dahulu mencari informasi tentang
program tersebut dengan memeriksa daftar sumber program. Setelah
mengidentifikasi bagian penting sumber daya, mereka kemudian merancang data
uji untuk melintasi kode ini. Profil eksekusi program kemudian diperiksa untuk
menentukan apakah ada kesalahan.

1. Full statement coverage


desain data uji berhasil jika setiap program dijalankan setidaknya satu kali
selama uji coba. dari tiga kriteria uji tuntas, selama uji coba. dari tiga kriteria
penyelesaian uji coba, pengujian cakupan statemen penuh memberikan
sedikit informasi tentang kebenaran program. Jika program mencakup
sejumlah besar cabang dan lingkaran, banyak jalur melalui program akan tetap
belum teruji. Meskipun demikian, data uji yang mencapai kriteria ini adalah
yang paling mahal untuk diterapkan, dan dalam beberapa kasus mungkin
masih berhasil menyalahartikan kesalahan yang paling penting dalam
program.

2. Full branh coverage


Dengan kriteria ini, perancangan data sisanya berhasil jika setiap pernyataan
dijalankan paling tidak satu kali setiap jalur percabangan dijalankan setidaknya
satu kali. sementara pengujian cabang memberikan lebih banyak informasi
tentang kebenaran program daripada pengujian statment, sayangnya masih
merupakan hasil yang salah dalam urutan cabang yang sedang diuji. Selain itu,
mungkin tidak mengidentifikasi predikat yang salah.
Jika data uji dengan jenis transaksi sama dengan satu dilakukan melalui
program, cabang akan dilalui. namun program masih bisa salah karena tes
mungkin seharusnya untuk jenis transaksi sama dengan satu atau empat tidak
satu atau tiga, pengujian cabang mungkin tidak mengidentifikasi kesalahan
dalam loop program.
3. Full path coverage

Full path coverage adalah ideal teoritis karena beberapa program memiliki jumlah
atau jalur tak terbatas melalui mereka. Segmen program sederhana yang
ditunjukkan oleh gambar 18-6, misalnya, memiliki 65.536 jalur yang mungkin melalui
segmen ini. Setiap kali loop digunakan dalam program, jumlah jalur yang mungkin
dicapai melalui program secara kombinatori meledak. Masalah inilah yang telah
memotivasi beberapa peneliti pemrograman untuk mencari merchanisme yang akan
memberikan bukti formal tentang kebenaran program. Dalam prakteknya, hanya
pengujian cakupan jalur terbatas yang bisa dilakukan.

Manfaat & Biaya Data Uji


Manfaat
memungkinkan auditor untuk memeriksa kualitas kode program secara langsung.
Kekurangan
Sering kali memakan waktu dan mahal.

5.Program Code Comparison

memberikan beberapa kepastian bahwa versi perangkat lunak yang benar sedang
diaudit.
memberikan beberapa kepastian bahwa perangkat lunak yang digunakan sebagai
alat audit adalah versi perangkat lunak yang benar.
Types of code comparison :
perbandingan kode sumber
perangkat lunak memberikan daftar yang berarti dari setiap perbedaan antara dua
versi kode sumber.
kode obyek comparson
perangkat lunak menyediakan daftar ketidaksesuaian antara rtwo versi kode sumber
(tidak mengidentifikasi sifat dan penyebab ketidaksesuaian)

manfaat dan perbandingan biaya kode


manfaat utama:
mudah mengidentifikasi perubahan yang dilakukan pada program
tidak mahal untuk dieksekusi

biaya utama:
tidak memberikan bukti apapun secara langsung mengenai kualitas dibandingkan
Kesimpulan

Tiga teknik pengumpulan bukti yang digunakan terutama untuk mengevaluasi kualitas logika
program adalah kode, data uji dan perbandingan kode. Ketiga teknik tersebut dapat
digunakan bersamaan untuk melakukan uji integerasi terhadap kualitas kode program.
review kode memberikan dasar untuk menghasilkan hipotesis kegagalan tentang logika
program. Data uji memungkinkan hipotesis tersebut dapat diuji. Code comparison
memungkinkan auditor untuk menguji apakah versi produksi dari program yang digunakan
adalah versi yang dapat diuji.

Cara yang paling efisien dan efisien dalam melakukan pengkajian kode atau merancang data
uji masih merupakan masalah penelitian. Salah satu cara yang direkomendasikan untuk
melakukan review kode adalah dengan memeriksa input dan output terlebih dahulu dan
kemudian memeriksa pemrosesannya. Dua pendekatan untuk merancang data uji adalah
pendekatan black box dan pendekatan white box. basis data uji uji base yang pertama
mengenai spesifikasi program, yang terakhir memerlukan pengetahuan tentang strcuture
internal program.

Anda mungkin juga menyukai