Merryl F N Meka 0706271992 Pembimbing : Dr. Ade Azurat S.Kom TA : Covering Array
Presentation 1st Covering array
Latar Belakang Mencari test case (test suite) seminimal mungkin untuk mendeteksi error yang mungkin muncul Covering Array akan meminimalkan jumlah test case
Covering Array Kata coverage berati mengukur seberapa baik sample configurations yang bisa mengcover semua konfigurasi lainnya. Kalo full coverage berati semua konfigurasi keambil, dan tidak ada yang tidak terambil. Coverage Array berfungsi untuk meminimalkan jumlah konfigurasi yang dipilih untuk mengcover semua kemungkinan error yang muncul saat pengetesan seluruh konfigurasi.
Covering Array Sebuah array A, yang berukuran t = levels (ways) of coverage k = numbers of variable configuration needs to specify g = number of possible values each of the k variables can take on number of possible values each of the k variables can take on Taking t equal to k will produce full coverage Taking t equal to zero will produce no coverage.
Software Testing With Covering Array Proses pengujian pada suatu komponen software dengan k parameter, dimana setiap parameter harus diuji dengan g nilai (possible value) maka jumlah konfigurasi yang terbentuk adalah gk Covering Array Cukup dengan melakukan pengujian sebanyak subset t (t-way cover), jadi jumlah konfigurasi test suite yang terbentuk adalah gt
PAIRWISE TESTING Pairwise testing is an effective test case generation technique that is based on the observation that most faults are caused by interactions of at most two factors. (Czerwonka, Jacek) Pairwise-generated test suites cover all combinations of two therefore are much smaller than exhaustive ones yet still very effective in finding defects.
Contoh Kasus : Untuk menguji suatu system of networked printing Inputnya ada 4, yaitu: PC OS : Windows ; Linux Processors : Intel ; AMD Protocols : IPV6 ; IPV4 Dari kententuan pengujian diketahui k=3,g=2, dan covering array yang akan dibuat adalah untuk t=2 (2- way coverage) Jika kita ambil ada 2 value untuk tiap input (v=2), maka terbentuk test suite sebagai berikut :
Test Suite yang terbentuk (8 konf) Operating System Processors Protocols Windows Intel IPV6 IPV4 AMD Linux
Dengan 2-way coverage Dari 8 kemungkinan konfigurasi diatas, sebenarnya kombinasi yang terbentuk yang bisa meng-cover cukup hanya dengan 4 konfigurasi pengujian Operating System Processors Protocols Windows Intel IPV6 AMD IPV4 Linux
PAIRWISE TESTING
Generic Example Misalkan pengukuran dengan 3 parameter P1,P2,P3 Untuk setiap parameter ada 2 kemungkinan nilai. Nilainya adalah : A,B untuk P1 C,D untuk P2 E,F untuk P3 Degree dari interaction coverage adalah 2 (2-way coverage/pairwise coverage) -Kita akan mengcover semua kemungkinan pasangan kombinasi (2-way interaction) dari nilai-nilai dari parameter
Konfigurasi tes yang terbentuk P1 P2 P3 Tiga parameter P1,P2,P3 dimana tiap parameter memiliki 2 nilai. Terdapat 23 = 8 kemungkinan pengujian (c1,..c8) C1 A E C F D B C2 C3 C4 C5 C6 C7 C8
Set dari 2-way potential configuration B C B E D E B D B F D F Jadi terdapat 12 interactions yang mungkin terjadi
Interactions dalam konfigurasi Salah satu tes konfigurasi... A C E A C E … meng-covers 3 interactions.
Goal P1 P2 P3 A C A E C E C1 A D A F C F A C E B C B E D E C2 A C F B D B F D F C3 A D E C4 A D F Meng-cover semua kemungkinan(kombinasi) 2-way interaction hanya dengan 4 tes (c1,c4,c6,c7) C5 B C E C6 B C F C7 B D E C8 B D F
2-way Covering Array is NP Complete PRESENTATION 2nd 2-way Covering Array is NP Complete
PROBLEM PAIR COVER Dalam 2-way covering array, misalkan ada suatu pengujian dengan 3 parameter dimana setiap parameter memiliki nilai (value) bagaimana untuk menemukan suatu kombinasi antar pasangan (2- way) pada parameter 1 dan 2, atau 2 dan 3, atau 1 dan 3 yang meng-cover semua kombinasi yang mungkin? Masalah ini adalah menemukan jumlah test yang seminimal mungkin
PAIR-COVER={<S,k>:Sistem S memiliki pair cover dengan ukuran k} PAIR-COVER PROBLEM Instance : Sebuah undirected graph yang merepresentasikan sistem S (T,P) dimana, T adalah set dari tes yang mungkin dilakukan, dan P adalah semua pasangan yang mungkin Problem : Menemukan subset dari T, T’T yang paling minimal yang meng-cover P, dimana P adalah pasangan pengujian. PAIR-COVER={<S,k>:Sistem S memiliki pair cover dengan ukuran k}
Ilustrasi Soal Calling Phone, terdiri dari 2 jenis OS, yaitu Mac Win VoIP Server , terdiri dari 3 jenis OS, yaitu Lin Sun Called Phone, terdiri dari 2 jenis OS, yaitu
Ilustrasi Penggambaran Secara Umum CallerOS ServerOS CalleeOS MAC MAC LIN WIN WIN SUN WIN T=edge (possible test ) P=vertex (possible pair)
Polynimial Reducible VERTEX-COVER≤p PAIR-COVER
Reduction Proof Graf G memiliki vertex-cover dengan ukuran k, iff Sistem S memiliki pair-cover dengan ukuran k Misalkan G memiliki vertex cover V’V, dan |V’|=k, kemudian kita mengambil T’T, dimana T’ adalah pair-cover dari s dan |T’|=k, dimana Selanjutnya ada di paper.. T’={ | V’ }
VERTEX COVER [G(V,E)] VERTEX-COVER CallerOS ServerOS CalleeOS MAC MAC LIN WIN WIN SUN WIN VERTEX-COVER K=6
Ambil sembarang pasangan (vi,vj) PAIR-COVER [S(T,P)] CallerOS ServerOS CalleeOS Ambil sembarang pasangan (vi,vj) MAC MAC LIN WIN WIN SUN WIN PAIR-COVER Pasti vertex Vi atau Vj termasuk dalam V yang ada di vertex cover (VC) K=6
Ambil sembarang pasangan (vi,vj) PAIR-COVER [S(T,P)] CallerOS ServerOS CalleeOS MAC MAC Ambil sembarang pasangan (vi,vj) LIN WIN WIN SUN WIN PAIR-COVER Pasti vertex Vi atau Vj termasuk dalam V yang ada di vertex cover (VC) K=6
Ambil sembarang pasangan (vi,vj) PAIR-COVER [S(T,P)] CallerOS ServerOS Ambil sembarang pasangan (vi,vj) CalleeOS MAC MAC LIN WIN WIN SUN WIN PAIR-COVER Pasti vertex Vi atau Vj termasuk dalam V yang ada di vertex cover (VC) K=6
Ambil sembarang pasangan (vi,vj) PAIR-COVER [S(T,P)] CallerOS ServerOS CalleeOS MAC MAC Ambil sembarang pasangan (vi,vj) LIN WIN WIN SUN WIN PAIR-COVER Pasti vertex Vi atau Vj termasuk dalam V yang ada di vertex cover (VC) K=6
Kemudian.. Begitu seterusnya, terlihat bahwa pasangan apapun (vi,vj) yang kita pilih dari P, (vi,vj) E dengan konsep vertex-cover, atau dan T terdiri atas yang harus meng-cover pasangan tes
Construction of Covering Array PRESENTATION 3rd Construction of Covering Array