Minggu, 06 Oktober 2013

Testing dan Implementasi 4

Materi kali ini lanjutan dari materi minggu lalu..
dan kita akan membahas apa itu?
  • White box testing
  • flowgraph dan cakupan-cakupannya
White box testing adalah....

  • Testing yang diturunkan daripengetahuantentang struktur dan implementasi program
  • Nama lain : glass box, structural, clear box atau open box testing
  • Harus tahu secara detail tetang perangkat lunak yang akan di uji.
  • Untuk pengujian yang lengkap maka suatu perangkat lunak harus diuji dengan  white box dan black box testing 
White Box Testing menggunakan 3 macam tahapan testing  
  1. Unit Testing 
  2. Integration testing
  3. Regression Testing

  •         Pembuatan testcase didasarkan pada alur logika 
  •         Alur logika : cara dimana suatu bagian dari program tertentu dieksekusi saat menjalankan suatu program. 
  •         Alur logika dapat direpresentasikan dengan menggunakan flowgraph
Kegunaannya

  •         Menguji setiap jalur indepenent
  •         Menguji keputusan logic (true atau falsa) 
  •         Menguji Loops dan batasannya.
  •         Menguji Data Struktur internalnya
  •  

FlowGraph
  •         Adalah gabungan dari sebuah titik (nodes) dan garis (Edges)
  •         Vertex adalah sebuah node
  •         Edges adalah sebuah garis yang menghubungkan vertex 
  •      •  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 titik cabang 
  •         Paths (jalur) à jalur yang mungkin untuk bergerak dari satu titik ke lainnya sejalan dengan keberadaan arah anak panah.  
  •         Eksekusi suatu test case menyebabkan program untuk mengeksekusi pernyataan-pernyataan tertentu, yang berkaitan dengan jalur tertentu, sebagaimana tergambar pada flow graph. 
  •         Cakupan cabang, pernyataan dan jalur dibentuk dari eksekusi jalur program yang berkaitan dengan peninjauan titik, anak panah, dan jalur dalam flow graph
Cakupan Pernyataan
  •         Ditentukan dengan menilai proporsi dari pernyataan-pernyataan yang ditinjau oleh sekumpulan test cases yang ditentukan.
  •         Cakupan pernyataan 100% jika tiap pernyataan pada program ditinjau setidaknya minimal sekali tes
  •         Cakupan pernyataan berkaitan dengan nodes dari suatu flowgraph

Contoh:
  •         Pada contoh gambar flow graph di samping terdapat 10 titik.
  •         Misal suatu jalur eksekusi program melewati titik-titik A, B, D, H, K.
  •         Berarti ada 5 titik dari 10 titik yang dikunjungi, maka cakupan pernyataan sebesar 50%.




Cakupan Cabang
  •         Cakupan cabang ditentukan dengan menilai proporsi dari cabang keputusan yang diuji oleh sekumpulan test cases yang telah ditentukan.
  •         Cakupan cabang 100% adalah bilamana tiap cabang keputusan pada program ditinjau setidaknya minimal sekali tes.
  •         Cakupan cabang berkaitan dengan peninjauan anak panah cabang (branch edges) dari flow graph.
Contoh:
  •         Pada contoh gambar flow graph di samping, terdapat 6 anak panah cabang.
  •         Mis. suatu jalur eksekusi program melewati titik-titik A, B, D, H, K,
        maka jalur tersebut meninjau 2 dari 6 anak panah cabang yang ada, jadi cakupannya sebesar 33 %.








Cakupan Jalur
  •         Cakupan jalur ditentukan dengan menilai proporsi eksekusi jalur program yang diuji oleh sekumpulan   test cases yang telah ditentukan.
  •         Cakupan jalur 100 % adalah bilamana tiap jalur pada program dikunjungi setidaknya minimal sekali tes.
  •         Cakupan jalur berkaitan dengan peninjauan jalur sepanjang flow graph.

Contoh:
  •         Berdasarkan contoh flow graph di atas, terdapat 4 jalur.
  •         Bila suatu eksekusi jalur pada program melalui titik-  titik A, B, D, H, K, maka eksekusi tersebut meninjau 1   dari 4 jalur yang ada, jadi cakupannya sebesar 25%.






 
 Desain Cakupan Test

Tahap-tahap mendesign cakupan test :
  1.        Harus bisa membaca source code untuk membuat Flow Graph
  2.        Mengidentifikasi jalur tes untuk mencapai pemenuhan tes berdasarkan Flow Graph
  3.        Mengevaluasi kondisi tes
  4.        Member nilai masukan
Basic Path Testing

Ada 2 bentuk :
  1.        Zero path (Jalur penghubung yang tidak penting)
  2.        One path (Jalur penghubung penting dari Sistem)
Identifikasi didasarkan pada jalur, struktur atau koneksi yang ada dari suatu sistem (branch testing), karena cabang-cabang dari kode atau fungsi logika diidentifikasi dan di tes
Konsep utama basis path :
Tiap basis path harus diidentifikasi, tidak boleh ada yang terabaikan (setidaknya di tes 1 kali).

Kombinasi dan permutasi dari suatu basis path tidak perlu di tes.
 
Cyclomatic Complexity

  •        Pengukuran Software yang memberikan pengukuran kuantitatif dari kompleksitas logika program.
  •        Konteks metode basis path testing , nilai yang dihitung.
  •        Secara matematis dituliskan :
    • V(G) = E (edges) – N (Nodes) + 2
    • V(G) = P (Predicate Node) + 1
  •        Catatan : beberapa jalur mungkin hanya dapat di eksekusi sebagai bagian dari tes yang lain.
  •        Rekomendasi nilai V(G) jangan sampai melebihi nilai 10
        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

Graph Matrix

Adalah Matrix berbentuk segi empat sama sisi, dimana jumlah baris dan sisi nilainya sama dengan Nodes
Sumber referensi:
        http://salvation3.wordpress.com/2011/10/12/define-test-case-white-box-testing-flowgraph-and-cyclomatic-complexity-2/ 

Tidak ada komentar:

Posting Komentar

 

FollowMe