laporan makalah pengujian white-box

Upload: alvian-yudha-prawira

Post on 07-Jul-2018

1.053 views

Category:

Documents


118 download

TRANSCRIPT

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    1/12

    LAPORAN MAKALAH

    Pengujian White-Box Testing

    Software Quality And Testing

    A11.4805

    Anggota Kelompok:

    Luqman Fauzi (A11.2012.07075)

    Alvian Yudha P. (A11.2012.07112)

    Aris Mulyasani (A11.2012.07113)

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    2/12

    A. Sample Code

    Berikut adalah 

     sample code   yang digunakan untuk melakukan pengujian dengan 

    metode white-box testing :

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    3/12

    B. Tujuan Penulisan Dokumen

    1. Melakukan pengujian menggunakan dua metode white-box testing  

    , yaitu:

    a. Basis Path

     b. Graph Matrix

    2. Dari dua metode tersebut, akan dijelaskan prosedur, hasil, dan pembahasan 

    terkait pengujian dari masing-masing metode.

    C. Landasan Teori

    a. Basis Path 

     Basis Path Testing   adalah sebuah metode pengujian terstruktur yang 

    melibatkan 

     source code   dari program untuk menemukan setiap kemungkinan 

     jalur/ path  yang dapat dieksekusi. Sehingga untuk pengujian masing-masing   path 

    dengan sebanyak mungkin kemungkinan yang ada untuk mencakup 

    masing-masing   test case.  Sehingga cara ini adalah pilihan terbaik untuk menggali 

    semua kemungkinan kesalahan di dalam kode program [2]. Pada gambar di 

     bawah ini merupakan diagram alur dari pengujian berbasis path testing terhadap 

    eksekusi sebuah program dengan kemungkinan jalur yang ada.

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    4/12

    b. Graph Matrix

    Graph Matrix  merupakan metode yang digunakan untuk membantu uji coba 

     basis path atau struktur data.   Graph Matrix   adalah matrik persegi empat yang 

    mempunyai ukuran yang sama dengan jumlah 

    node   pada 

     flowgraph 

    . Masing-masing baris dan kolom mempunyai hubungan dengan   node  yang telah 

    ditentukan dan masukan data  matrix berhubungan dengan hubungan ( edge ) antar  

    node 

    [1].

    Contoh sederhana penerapan graph matric dapat digambarkan sebagai berikut :

    Hubungan bobot menyediakan tambahan informasi tentang aliran kontrol. 

    Secara sederhana, bobot edge dapat diberi nilai 1 jika terdapat hubungan antara 

    node atau nilai 0 jika tidak terdapat hubungan. Dapat juga hubungan bobot diberi 

    tanda dengan ketentuan sebagai berikut:

    1. Kemungkinan link (edge) dikerjakan

    2. Waktu yang digunakan untuk proses selama traversal dari link

    3. Memori yang diperlukan selama traversal link

    4. Sumber daya yang diperlukan selama traversal link.

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    5/12

    D. Proses Pengujian 

    a. Basis Path

    Proses di dalam metode basis path 

    meliputi beberapa langkah, sebagai berikut:

    1. Membuat Control Flow Graph

    Keterangan:

    1. Variable declaration ((x, y, w, A, B, theta, phi, r)

    2. Function start-point & values input (x, y, w, A, B)

    3. Kondisi 1 (x > 0)

    4. Kondisi 2 (x < 0 & y ≥ 0)

    5. Kondisi 3 (x < 0 & y < 0)

    6. Kondisi 4 (x = 0 & y = 0)

    7. Kondisi 5 (x = 0 & y < 0)

    8. Kondisi 6 (x = 0 & y > 0)

    9. Eksekusi kondisi 1

    10. Eksekusi kondisi 2

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    6/12

    11. Eksekusi kondisi 3

    12. Eksekusi kondisi 4

    13. Eksekusi kondisi 5

    14. Eksekusi kondisi 615. Output hasil berdasarkan eksekusi pada kondisi (print-out nilai a & b)

    16. Function end-point

    2. Menentukan nilai Cyclomatic Complexity

    Dari   control flow graph 

    di atas, maka dapat dihitung nilai   cyclomatic 

    complexity 

    sebagai berikut:

    Model V(G) = edges 

    - nodes + 2(p)

    = 20 - 16 + 2(1)

    = 4 + 2

    = 6

    Maka diperoleh nilai cyclomatic complexity adalah 6

    Keterangan:

    -   edges 

    : komponen yang menghubungkan masing-masing node

    -   node 

    : jumlah kondisi atau 

     state   terhadap setiap kemungkinan alur  

    kerja program dalam bentuk basis path.

    3. Memilih jalur basis set

    Untuk menentukan jalur basis set yang dimiliki, maka diperlukan 

     graph 

    matrix 

    yang diperoleh dari setiap node dan keterhubungan antar  

    masing-masing node menggunakan 

    matrix   persegi empat. Penjelasan dan 

     perhitungan bagian ini akan dijelaskan pada bagian 

     graph matrix. 

    Dari 

     graph 

    matrix 

    tersebut diperoleh sebanyak 6 basis set. Bagian ini dijelaskan secara 

    lebih rinci pada bagian ‘Graph Matrix’

    4. Menghasilkan test case

    Apabila sudah diperoleh jumlah dari basis set, maka langkah selanjutnya 

    adalah merancang 

    test case untuk masing-masing basis path, yaitu sejumlah 

    6 test case. Masing-masing test case merepresentasikan setiap basis path 

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    7/12

    yang ada, dengan masing-masing kondisi /   case  yang berbeda. Penjelasan 

    terkait proses ini dijelaskan pada sub-bab ‘Hasil’.

    b. Graph Matrix

    Dibawah ini merupakan   Graph Matrix  dari proses   flow graph  yang diperoleh 

     pada proses sebelumnya. Apabila sebuah node dapat terhubung dengan node 

    lainnya maka matrix bernilai 1, apabila tidak dapat terhubung maka bernilai 0.

    Node

    Connected Node

    Σ(i)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 - 1 = 0

    2 0 0 1  1  1  1  1  1  0 0 0 0 0 0 0 0 6 - 1 = 5

    3 0 0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 1 - 1 = 0

    4 0 0 0 0 0 0 0 0 0 1  0 0 0 0 0 0 1 - 1 = 0

    5 0 0 0 0 0 0 0 0 0 0 1  0 0 0 0 0 1 - 1 = 0

    6 0 0 0 0 0 0 0 0 0 0 0 1  0 0 0 0 1 - 1 = 0

    7 0 0 0 0 0 0 0 0 0 0 0 0 1  0 0 0 1 - 1 = 0

    8 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 0 1 - 1 = 0

    9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  0 1 - 1 = 0

    15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1  1 - 1 = 0

    16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0 = 0

    JUMLAH BASIS SET ( Σ(i) + 1 ):  5 + 1 = 6

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    8/12

    Dari hasil perhitungan di atas, maka dapat dihitung jumlah basis set yang 

    terbentuk adalah sebanyak 6  basis set.

    E. Hasil

    Dari kedua metode dan proses pengujian tersebut, maka diperoleh beberapa   test  

    case berdasarkan jumlah basis set yang didapatkan pada tahap graph matrix. Dimana 

    testcase ini merupakan representasi dari beberapa kemungkinan terkait eksekusi 

     program pada beberapa kondisi / case.

    Paths Nodes Test Cases

    Path 1 1 - 2 - 3 - 9 - 15 - 16 Jika node 3 bernilai benar ( x < 0 → TRUE )

    Path 2 1 - 2 - 4 - 10 - 15 - 16 Jika node 4: bernilai benar ( x < 0 AND y ≥ 0 → TRUE )

    Path 3 1 - 2 - 5 - 11 - 15 - 16 Jika node 5: bernilai benar ( x < 0 AND y < 0 → TRUE )

    Path 4 1 - 2 - 6 - 12 - 15 - 16 Jika node 6: bernilai benar ( x = 0 AND y = 0 → TRUE )

    Path 5 1 - 2 - 7 - 13 - 15 - 16 Jika node 7: bernilai benar ( x = 0 AND y < 0 → TRUE )

    Path 6 1 - 2 - 8 - 14 - 15 - 16 Jika node 8: bernilai benar( x = 0 AND y > 0 → TRUE )

    Paths Flow Graph

    Path 1

    Path 2

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    9/12

     

    Path 3

    Path 4

    Path 5

    Path 6

    Pada tabel di atas merupakan hasil test case yang didapatkan dari proses   basis 

     path 

    dan 

     graph matrix.   Masing-masing test case memiliki kondisi / case yang 

     berbeda-beda. Dan dapat digunakan di dalam pengujian eksekusi program dalam 

    realitanya.

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    10/12

    F. Pembahasan

    Dari hasil pengujian di atas diperoleh 6   test case, dimana masing-masing   test  

    case  merepresentasikan masing-masing kondisi yang mungkin terjadi pada eksekusi 

     program yang ada. Pada masing-masing test case menguji pada nilai input yang 

    memenuhi kondisi (bernilai TRUE), karena apabila suatu kondisi tidak terpenuhi 

    maka akan berlaih pada kondisi yang lainnya. Sehingga dari pengujian tersebut tidak  

    mungkin apabila nilai input yang ada tidak memenuhi kondisi, karena masing-masing 

    kondisi sudah mencover setiap kemungkinan yang ada berdasarkan nilai masukan 

     program. Kemudian komputasi di dalam masing-masing kondisi dilakukan 

    sedemikian rupa sesuai apa yang terdeklarasi di dalam setiap blok kondisi. 

    Berdasarkan hasil komputasi tersebut diperoleh nilai a dan nilai b, hingga akhirnya 

    dieksekusi pada bagian akhir function dieksekusi (mencetak / 

     print-out   nilai a dan 

    nilai b).

    G. Kesimpulan

    Pengujian perangkat lunak pada 

    white-box 

    menggunakan metode 

    basis path 

    dan   graph matrix memiliki tujuan untuk menghasilkan   test case yang kemudian dapat 

    digunakan sebagai acuan dalam menguji sebuah program, baik dari segi alur, logika, 

    atau algoritma. Sehingga dari pengujian tersebut dapat dihasilkan program yang dapat 

    divalidasi kualitasnya, sehingga implementasinya pada perangkat lunak juga 

    menghasilkan produk perangkat lunak yang teruji dan mudah dirawat secara jangka 

     panjang.

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    11/12

    Daftar Pustaka

    [1] Khan, M.E., “Different Approaches To White Box Testing Technique for Finding 

    Errors”, International Journal of Software Engineering and Its Applications, Vol. 5, No. 

    3, July, 2011.

    [2] Schlingloff, H. and Roggenbach M., “Path Testing”, Luke Gregory, 2010.

  • 8/18/2019 Laporan Makalah Pengujian White-Box

    12/12

    Kontribusi

    1. Luqman Fauzi

    Merancang logika 

    control flow graph   terhadap source code yang ada, membuat matrix 

    diagram, membuat test case 

     berdasarkan matrix graph yang dibuat.

    2. Alvian Yudha P.

    Membuat gambar image 

    control flow graph, 

    mengumpulkan dan menulis landasan teori 

    ( graph matrix), merapikan struktur penulisan laporan.

    3. Aris Mulyasani

    Membuat gambar image   control flow graph, 

    merancang matrix diagram, mengumpulkan dan 

    menulis landasan teori (  basis path  ).