Rabu, 04 Juli 2012

Source Code Review

Yang namanya seorang software engineer pastinya sudah kenal dengan source code review. Terlebih bagi mereka yang berkecimpung dalam dunia software testing. Software testing, sebagai bagian dari daur hidup pengembangan perangkat lunak, sebenarnya adalah "kunci" dari dihasilkannya perangkat lunak yang berkualitas.

Tren yang saya amati sekarang ini, hampir semua hasil tugas project, laporan kerja praktek dan bahkan karya akhir mahasiswa yang mengambil topik software development, sering "mengabaikan" tahap software testing. Beberapa laporan bahkan tidak mencantumkan sama sekali kalau pernah melakukan prosedur pengujian perangkat lunak. Sebagian hanya mencantumkan pengujian fitur antar muka. Jarang, bahkan hampir tidak ada yang melampirkan dokumen, telah melakukan source code review. Hal ini tentu saja, sangat memprihatinkan.


Memang harus diakui, diperlukan ketrampilan khusus dalam melakukan source code review. Dan untuk level pengguna, biasanya tidak ada yang dapat melakukan source code review. Bahkan untuk level profesional TI sekalipun, tugas melakukan source code review itu sangat melelahkan. Tentu saja, secara ideal, diperlukan tim khusus untuk melakukan source code review.

Secara umum, source code review dapat dilakukan secara otomatis dan manual. Static Code Analysis, dapat dilakukan dengan penekanan pada me-review source code menurut predefined rules tertentu. Static Code Analysis adalah contoh dari source code review secara otomatis. Tujuan utamanya adalah untuk menemukan bugs dan security flaws sedini mungkin pada aplikasi yang akan di-released. Melakukan static code analysis merupakan suatu keharusan dalam pengujian aplikasi sebelum di-released. Sayangnya, static code analysis tidak dapat mendeteksi malicious code yang ditambahkan/diselipkan oleh attacker.

Manual Code Review, memiliki kemampuan untuk mendeteksi malicioius code atau perilaku sistem aplikasi yang tidak diinginkan. Kelemahnnya adalah merupakan suatu pekerjaan yang sangat memakan waktu apabila baris code yang harus diperiksa sangat panjang dan banyak.

Teknik source code review yang baik adalah yang sesuai dengan target pengembangan sistem perangkat lunak yang akan dikembangkan. Dengan perkembangan IDE yang semakin handal, maka pekerjaan melakukan software testing menjadi relatif lebih ringan. Meskipun demikian, esensi kompetensi dasar seorang software tester tidak berubah: ketahanan, ketajaman dan ketepatan.

Berikut ini adalah link terkait tools yang dapat digunakan untuk melakukan static code analysis:

Dibawah ini, dapat dilihat perbandingan IDE pengembangan aplikasi:

Sedangkan dibawah ini, terdapat link menuju Portal Software Testing:



Tidak ada komentar:

Posting Komentar