Sunday, May 4, 2014

Crystal REVS for C++

Definisi Pengujian

Definisi klasik menurut Myers (1979),

Pengujian adalah proses menjalankan program dengan maksud menemukan kesalahan.

Definisi tersebut menyangkut kegiatan mulai dari cek kode yang dilakukan oleh seorang pemimpin tim untuk menjalankan percobaan dari perangkat lunak yang dilakukan oleh seorang rekan, serta tes yang dilakukan oleh suatu unit pengujian, semua bisa dianggap kegiatan pengujian.

Definisi lain menurut IEEE

Proses mengoperasikan sistem atau komponen dalam kondisi tertentu, mengamati atau merekam hasil, dan membuat evaluasi terhadap beberapa aspek dari sistem atau komponen.
Proses analisis item perangkat lunak untuk mendeteksi perbedaan antara yang ada dan kondisi yang diperlukan (yaitu  bug) dan mengevaluasi fitur-fitur dari item perangkat lunak

Definisi menurut Galin :

Pengujian perangkat lunak adalah proses formal yang dilakukan oleh tim khusus  pengujian di mana suatu unit perangkat lunak, beberapa unit perangkat lunak yang terintegrasi atau paket perangkat lunak yang diperiksa secara keseluruhan dengan menjalankan program pada komputer.

Semua pengujian yang berkaitan dilakukan menurut prosedur uji yang disetujui pada kasus uji yang disetujui.


Tujuan dari pengujian perangkat lunak dibagi menjadi 2 yaitu:

1. Langsung

Mengidentifikasi error sebanyak-banyaknya pada sebuah perangkat lunak.
Melakukan tindakan koreksi pada error-error yang telah teridentifikasi di dalam perangkat lunak dan melakukan pengujian ulang, sehingga kualitas perangkat lunak dapat dikategorikan sebagai acceptable.
Melakukan pengujian secara efektif dan efisien sesuai budget dan waktu yang disediakan.

2. Tidak Langsung

Sebagai sebuah dokumentasi yang dapat dijadikan acuan untuk digunakan dalam melakukan pencegahan terjadinya error serupa (error prevention).


Menentukan standar kualitas perangkat lunak yang sesuai

Tingkat standar mutu yang dipilih untuk proyek terutama tergantung pada karakteristik dari aplikasi perangkat lunak.

Contoh 1: Sebuah paket perangkat lunak untuk memonitor pasien tidur rumah sakit yang membutuhkan perangkat lunak standar kualitas tertinggi dengan mempertimbangkan konsekuensi terburuk jika perangkat lunak gagal atau tidak berjalan semestinya.

Contoh 2: Sebuah paket yang dikembangkan untuk menangani informasi umpan balik untuk karyawan internal organisasi program pelatihan bisa dilakukan dengan standar kualitas perangkat lunak tingkat menengah, dengan asumsi bahwa biaya kegagalan relatif rendah (atau jauh lebih rendah dibandingkan dengan Contoh 1).

Contoh 3: Sebuah paket perangkat lunak telah dikembangkan untuk dijual ke berbagai organisasi. Prospek penjualan membenarkan standar kualitas yang lebih tinggi daripada sebuah paket perangkat lunak buatan memiliki karakteristik serupa belum dikembangkan untuk melayani pelanggan tunggal.

Contoh-contoh ini menggambarkan kriteria utama yang akan diterapkan ketika memilih standar kualitas perangkat lunak: evaluasi sifat dan besarnya kerusakan yang diperkirakan jika terjadi kegagalan sistem. Kerusakan ini dapat mempengaruhi pelanggan dan pengguna di satu sisi, dan pengembang di sisi lain. Secara umum, semakin tinggi tingkat yang dapat diperkirakan dari kerusakan akibat kegagalan, semakin tinggi standar kualitas yang sesuai adri perangkat lunak.


Crystal REVS for C++ adalah suatu software yang menguji kode program yang menggunakan bahasa C++/C dengan menghasilkan flow chart dan mengitung cyclomatic complexity dari kode program tersebut berdasarkan Complexity Measure dari McCabe. Crystal REVS for C++ terintergrasi dengan beberapa fungsi seperti Flowacharts, Rich Tree, DataFlow, Dokumentasi dengan bentuk HTML, Auto-formatting, Tokes Panel, Comment Panel pada satu tools.
Dengan menggunakan software ini, kita dapat meng-explore source code, mengetahui flowchart untuk memahami alur logic dan fungsi kode program, dan mengetahui besarnya cyclomatic complexity sehingga kita dapat menarik kesimpulan mengenai kode program yang telah kita buat, apakah memiliki readability, yang artinya kode program yang telah kita buat mudah dibaca dan kita bisa focus pada logic program yang telah kita buat. Jika tidak, maka sebaiknya kita mereview kembali kode program yang telah kita buat.


Sumber:
  • http://blog.unsri.ac.id/aswin/pengujian-perangkat-lunak/software-penghitung-cyclometic-complexity-/mrdetail/298/