Minggu, 30 Oktober 2011

Testing dan Implementasi Sistem Pertemuan 3

Desain Test Case

Tiap produk hasil rekayasa dapat di tes dalam dua cara:
  • Dengan berdasarkan pada fungsi yang dispesifikasikan dari produk, tes dapat dilakukan dengan mendemonstrasikan tiap fungsi telah beroperasi secara penuh sesuai dengan yang diharapkan, dan sementara itu, pada saat yang bersamaan, dilakukan pencarian error pada tiap fungsi.
  • Dengan mengetahui operasi internal dari produk, tes dapat dilakukan untuk memastikan semua komponen berjalan sebagaimana mestinya, operasi internal berlaku berdasarkan pada spesifikasi dan semua komponen internal telah cukup diperiksa.
Pendekatan cara pertama biasa disebut dengan black box testing, dan pendekatan cara kedua disebut white box testing.

Definisi Test Case

Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi ataupun hasil yang telah ditentukan sebelumnya.
Adapun kegunaan dari test case ini, adalah sebagai berikut:
  • Untuk melakukan testing kesesuaian suatu komponen terhadap spesifikasi – Black Box Testing.
  • Untuk melakukan testing kesesuaian suatu komponen terhadap disain – White Box Testing.
Hal yang perlu diingat bahwa testing tidak dapat membuktikan kebenaran semua kemungkinan eksekusi dari suatu program. Namun dapat didekati dengan melakukan perencanaan dan disain tes case yang baik sehingga dapat memberikan jaminan efektifitas dari software sampai pada tingkat tertentu sesuai dengan yang diharapkan.
White Box Testing

White Box Testing disebut juga glass box testing atau clear box testing, adalah suatu metode disain test case yang menggunakan struktur kendali dari disain prosedural.
Metode disain test case ini dapat menjamin:
  • Semua jalur (path) yang independen / terpisah dapat dites setidaknya sekali tes.
  • Semua logika keputusan dapat dites dengan jalur yang salah dan atau jalur yang benar.
  • Semua loop dapat dites terhadap batasannya dan ikatan operasionalnya.
  • Semua struktur internal data dapat dites untuk memastikan validitasnya.

Mengapa melakukan white box testing bilamana black box testing berfungsi untuk testing pemenuhan terhadap kebutuhan / spesifikasi?

  • Kesalahan logika dan asumsi yang tidak benar kebanyakan dilakukan ketika coding untuk “kasus tertentu”. Dibutuhkan kepastian bahwa eksekusi jalur ini telah dites.
  • Asumsi bahwa adanya kemungkinan terhadap eksekusi jalur yang tidak benar. Dengan white box testing dapat ditemukan kesalahan ini
  • Kesalahan penulisan yang acak. Seperti berada pada jalur logika yang membingungkan pada jalur normal.

Argumen di atas adalah kesalahan-kesalahan yang tak dapat ditemukan dengan menggunakan black box testing yang terbaik sekalipun.

Cakupan pernyataan, cabang dan jalur

Cakupan pernyataan, cabang dan jalur adalah suatu teknik white box testing yang menggunakan alur logika dari program untuk membuat test cases. Yang dimaksud dengan alur logika adalah cara dimana suatu bagian dari program tertentu dieksekusi saat menjalankan program. Alur logika suatu program dapat direpresentasikan dengan flow graph.

Suatu flow graph terbentuk dari:

  • Nodes (titik), mewakili pernyataan (atau sub program) yang akan ditinjau saat eksekusi program.
  • Edges (anak panah), mewakili jalur alur logika program untuk menghubungkan satu pernyataan (atau sub program) dengan yang lainnya.
  • Branch nodes (titik cabang), titik-titik yang mempunyai lebih dari satu anak panah keluaran.
  • Branch edges (anak panah cabang), anak panah yang keluar dari suatu cabang
  • Paths (jalur), jalur yang mungkin untuk bergerak dari satu titik ke lainnya sejalan dengan keberadaan arah anak panah.

Disain cakupan tes

Untuk mendisain cakupan dari tes, perlu diketahui tahap-tahap sebagai berikut:

  1. Menganalisa source code untuk membuat flow graph.
  2. Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan pada flow graph.
  3. Mengevaluasi kondisi tes yang akan dicapai dalam tiap tes.
  4. Memberikan nilai masukan dan keluaran berdasarkan pada kondisi.

Basis Path Testing

Merupakan teknik white box testing yang dikenalkan oleh Tom McCabe [MC76]. Metode ini memungkinkan pendisain test cases untuk melakukan pengukuran terhadap kompleksitas logika dari disain prosedural dan menggunakannya sebagai panduan dalam menentukan kelompok basis dari jalur eksekusi, dimana hal ini akan menjamin eksekusi tiap pernyataan dalam program sekurangnya sekali selama testing berlangsung.

Basis path hadir dalam 2 bentuk, yaitu:

  • Zero Path: Jalur penghubung yang tidak penting atau jalur pintas yang ada pada suatu
    sistem.
  • One Path: Jalur penghubung yang penting atau berupa proses pada suatu sistem.

Cyclomatic Complexity

Adalah pengukuran software yang memberikan pengukuran kuantitatif dari kompleksitas
logika program.

Pada konteks metode basis path testing, nilai yang dihitung bagi cyclomatic complexity menentukan jumlah jalur - jalur yang independen dalam kumpulan basis suatu program dan memberikan jumlah tes minimal yang harus dilakukan untuk memastikan bahwa semua
pernyataan telah dieksekusi sekurangnya satu kali. Jalur independen adalah tiap jalur pada program yang memperlihatkan 1 kelompok baru dari pernyataan proses atau kondisi baru.

[Region / Complexity] V(G) = E (edges) – N (nodes) + 2

V(G) = P (predicate node) + 1


Graph Matrix

Adalah matrik berbentuk segi empat sama sisi, dimana jumlah baris dan kolom sama dengan lah node, jum dan identifikasi baris dan kolom sama dengan identifikasi node, serta isi data adalah keberadaan penghubung antar node (edges).

Berikut contohnya :

Tidak ada komentar:

Posting Komentar