Baik, kita lanjut lagi ya untuk sesi selanjutnya, bagian kedua dari Control Flow Coverage ya. Jadi kita sudah pelajari di video pertama yang warna ungu ini ya, apa itu tadi white box testing, keuntungan dan kelemahan, coverage testing seperti apa. Nah kita akan fokus dan juga sudah mengerti tentang node, edge ya, dan branch ya, dan contoh membuat Control Flow Graph ya. Dan sekarang kita akan belajar tentang Control Flow Coverage, nanti masing-masing kriteria dan bagaimana nanti kita menjadikan test suite ya.
berdasarkan coverage based testing tersebut ini saya reminder lagi di video sebelumnya kita sudah tahu ada beberapa jenis coverage kriteria untuk control flow, ada kriteria pertama adalah statement nanti saya coba hidupkan pointernya statement, coverage kemudian nanti branch, condition decision condition ya dcc, modified condition decision, mcdc, dan nanti multiple condition yang terakhir ini contoh kita yang di video pertama ada 6 statement dan ada beberapa note disini, 4 note maka kalau kita mau melihat di contoh ini kalau kita mau misalnya generate test case berdasarkan statement coverage nya, maka cukup memastikan bahwa test case yang kita bentuk itu pergi ke masing-masing statement jadi test case nya pergi ke S1, pergi ke S2 pergi ke S3, pergi ke S4 pergi ke S5, pergi ke S6 ya itu statement coverage ya jadi contohnya, kalau kita memilih test case dari N1 pergi ke N2 pergi ke N3, pergi ke N4 itu sudah memenuhi statement coverage, contohnya apa? misalnya kita memilih disini untuk statement coverage disini contohnya Test case berapa? Misalnya integer A dan integer B masukannya untuk pergi ke setiap statement cukup dengan nilai misalnya test case-nya adalah nilai A-nya misalnya 2 dan nilai B-nya sama dengan 0. Nah untuk T2 sama dengan 0, maka dia akan pergi ke statement 1, statement 2, akan pergi ke statement 3 dan dipenuhi dia akan pergi ke statement 4. dia akan pergi ke statement 5 dan dia akan pergi ke statement 6 maka cukup 1 test case ini sudah memenuhi T1 ini sudah memenuhi statement coverage sudah oke contohnya misalnya kita ada test case lain test case 2 misalnya nilainya adalah Maka dia pergi ke mana?
Dia akan pergi ke S1, S2. Dia pergi ke S1, dia pergi ke S2. Dia akan menyentuh S3 juga.
Tapi di sini kondisinya, apakah if A dan B0, 2 dengan 1 ini memenuhi kondisi if A lebih besar 1 dan B sama dengan 0? Enggak. Dia pergi ke, enggak pergi ke S4. Dia akan pergi langsung ke S5, setelah itu dia pergi ke S6.
Maka dalam contoh ini, T2 apakah memenuhi statement coverage? Apakah dia memenuhi statement coverage? T2, tidak.
Tapi kalau T2 dengan T1, apakah memenuhi statement coverage? Ya, jika kita punya T-suite isinya T2 dengan T1, maka dia memenuhi statement coverage. Tapi kalau T1 saja, T1 saja bahkan sudah memenuhi statement coverage.
Kalau T2 saja, T2 belum memenuhi statement coverage. Ini contoh bagaimana ada sebuah test case, satu saja bisa memenuhi statement coverage, ada yang satu saja belum memenuhi statement coverage. Karena tidak memenuhi semua statement. Jadi contohnya di sini adalah carilah sebuah test case yang pergi ke semua node, N1 sampai N4.
Contohnya di sini adalah jika nilai test case-nya 2 dan 0, dia akan pergi ke N1, N2, N3, N4. Ini sudah memenuhi statement coverage untuk T1. untuk T2 tadi di contoh sebelumnya tidak ya tapi kalau T1, T2 plus T1, ya tentunya tapi kalau disuruh milih efisien, cukup aja T1 kenapa harus T2 dengan T1, kalau T1 saja sudah memenuhi statement coverage jadi kalau kita disuruh memilih statement coverage pilihlah test case yang memenuhi statement coverage untuk file berikut atau program berikut Kita cukup memilih satu aja T1.
Atau kalau kita sudah sempat memilih T2, T2 belum cukup. Kita harus tambahkan T2 dengan satu T sketch lagi. T2 dengan T1.
Inilah baru memenuhi. Statement coverage. Tapi kalau disuruh memilih yang paling efisien, kita cukup memilih T1 saja.
Itulah tadi statement coverage. Nah, apa itu nanti condition coverage? Kita harus belajar dulu tentang apa itu condition dan apa itu decision. Apa itu decision? Itu decision may contain small or one condition.
Condition and decision. A decision may contain one condition. Condition itu tadi ini.
Condition itu adalah suatu kondisi yang nilainya true atau false. Condition adalah, di sini di slide-nya belum, adalah sebuah kondisi yang harus dipenuhi. Ini contohnya. A lebih besar dari 1, ini kondisi. Kondisinya apa yang harus dipenuhi?
B, syarat. Ini kondisi atau syarat ya. Itulah kondisi, syarat yang harus dipenuhi. Misalnya kondisinya ini A lebih besar dari 1, kondisinya B lebih besar sama dengan 0. Jadi di program sebelumnya ini, ini ada 2 kondisi.
Kondisi 1 dan kondisi 2. Itu ya, C1, C2. Nah, ini C1, ini C2. A decision adalah suatu statement yang bisa terdiri dari more than one condition.
Jadi bisa saja cuma satu conditionnya, bisa juga dua, bisa ada tiga, dan selanjutnya. Dan contoh tadi, D contains two different conditions. Satu C1, A lebih besar dari satu, dan C2 B sama dengan nol.
Dan nilainya bisa true atau false. Nah, branch decision, jadi yang tadi decision nilainya itu bisa true atau bisa false. Nah, branch coverage, artinya kalau tadi statement coverage, setidaknya every statement is at least executed once, setidaknya sekali setiap statement.
Kalau branch coverage, setiap branch setidaknya dieksekusi sekali oleh semua test case yang kita miliki. Nah, kalau semua, Branch coverage-nya dipenuhi, maka dia akan nilainya 100%. Nah, tadi saya balik dulu ke sini, statement coverage. Nah, untuk memenuhi statement coverage T1 tadi sudah bisa.
Berapa statement coverage-nya adalah? 100%. Ini ya. Jadi dia memenuhi statement coverage 100%. Tapi kalau T2 aja, dia nggak memenuhi branch coverage 100%.
Dia memenuhi berapa? Kita lihat. Dari statement di sini adalah... 6 statement ada 6 statement yang dia penuhi cuma jadi tadi kita lanjut ya jadi T2 meng-cover 5 dari 6 statement berarti coveragenya berapa? untuk kalau T1 itu coveragenya 100% untuk T1 coveragenya 100% kalau dari statement coverage dia 7 T1 itu, T1 coveragenya adalah 100%.
T2 coveragenya berapa? Untuk statement coverage. T2 coveragenya adalah, kita lihat statementnya harusnya ada berapa? 6. Yang di covernya cuma 5. Berarti 5 per 6 kali 100%. Kira-kira berapa itu?
Kira-kira mungkin sekitar 80%-an. Sekitar 80 something. Sekitar segitu ya Nah jadi kita lihat bagaimana Kalau mau 100% T1 cukup 100% T2 hanya 80an persen Kalau mau T2 dengan T1 Baru 100% ya Nah kita balik lagi tadi Ke branch decision coverage Nah dia juga begitu at least executed sekali Ya nilainya true dengan false Contohnya misalnya Disini untuk mendapatkan nilai dengan true atau false Kita lihat disini Kalau dia pergi N1 ke N2 Lalu N2 ke N3 itu nilai decision branch ini adalah true. Kalau dia true, dia pergi ke N3. Tapi kalau ini nilainya false, maka dia pergi ke N4.
Jadi kita setidaknya punya dua branch di sini. N1, branch-nya N1, ke N2, di N2, nanti dia akan pergi ke N3 atau ke N4. Jadi kita kalau mau memenuhi branch coverage, dia harus pergi ke N1, N2, N3, dan ke N4.
branch-nya, atau yang kedua langsung N1, N2, N4. N1, N2, langsung ke N4, itu branch-nya. Ada dua branch di sini, N1, N2 ke N3, N1, N2 langsung ke N4.
Sehingga di sini disebutkan ada dua. Contohnya true kalau N1, N2, N3, N4, dan kalau false N1, N2, N4. Nah, test case-nya misalnya di sini kita bisa memenuhi N1, N2, N3, N4, ini test 1 tadi ya, memenuhi Dan untuk pergi ke branch yang kedua adalah T2 di contoh kita sebelumnya.
Artinya, kalau kita mau memenuhi branch coverage 100%, kita harus punya T-suite yang isinya adalah T1 dan harus ada T2. Sementara untuk statement coverage tadi, kita cukup punya T1 sudah memenuhi 100%, tapi kalau branch coverage harus ada T1 dengan T2. Kalau T1 saja, berapa persen ini branch coverage-nya?
Kalau T1 aja, karena dia dari 2 branch, cuma 1 yang di cover berarti 50%. Kalau statement coverage tadi kita ngitungnya dari berapa statement yang di cover berapa. Tadi contohnya T2 yang di cover adalah 5 dari 6, makanya sekitar 80%. Kalau T1 6 dari 6, 100%. Nah kalau T1 untuk branch coverage dia cuma 50% dan titik T2 juga 50%.
Jadi untuk ngitung coverage-nya berapa persen, kita lihat apa yang di... kriterianya, kalau kriterianya statement berarti kita lihat statement yang di cover berapa persen kalau kita lihat dari branch coverage yang kita hitung coverage-nya adalah berapa persen branch yang di cover gitu ya, jadi kalau tadi misalnya kita cuma jalankan dengan T1 berarti dia 50% branch coverage-nya, kalau T2 50% juga, tapi kalau dua-duanya T1 dan T2 dia ada menjadi 100% baik, bagaimana dengan condition coverage ya, jadi tadi disebutkan kalau branch coverage ya memenuhi semua hmm nilai dari branch true dengan false itu memenuhi 100% bagaimana dengan condition coverage, kita lihat disini condition coverage itu dia harus memenuhi semua kondisi di semua kondisi yang ada dalam setiap decision nilainya harus ada true dengan false sekali, contohnya tadi misalnya kita punya 2 condition disini ini C1 ya C1 A lebih besar dari 1 B sama dengan N0 itu condition 2 maka kita harus punya test suite yang di dalamnya kumpulan test case-nya harus memenuhi nilai setiap kondisi ini harus ada nilai true dan nilai false-nya kondisi ini harus ada true dan false-nya contohnya disini ada 3 kombinasi test suite misalnya test suite A ada 3 titik ada test case 1 dimana nilai C1-nya true ... dan C2 nya false dan test case 2 dimana C1 nya false dan C2 nya true ya ini contohnya A2 dan B1 ya itu contohnya A2 itu condition 1 nya true B sama dengan 1 condition 2 nya false misalnya kalau ini test case 1 sama test case 2 nya adalah A nya sama dengan 0 itu berarti false Dan B nya sama dengan 0 itu true. C dan false dan true.
Nah itu contoh sebuah test suite A. Bagaimana kalau test suite B? Contoh test case nya A sama dengan 2. B nya 0. Dan ini kan A nya 2, B nya 0. Berarti ini nilainya A2, B0 itu nilainya true disini. Ya test suite B.
Dan A sama dengan 0, B1 ini adalah contoh dimana ini true dengan true. Dan nilainya false dengan false. false, ini dua-duanya false atau T-suite C ini T-suite C, salah ketik ini T-suite C, T-suite C itu kalau T1 nya, misalnya A nya 2 B nya 0, itu nilainya true dengan true dan T-suite C2 nya nilainya C1 nya true T2 nya false kita lihat, dari T-suite A B C, yang mana memenuhi kriteria condition coverage misalnya satu tadi true false false true, yang kedua true, true, false, false, yang ketiga true, true, true, false, ini dia kita lihat untuk test suite A true, false, false, true, syaratnya tadi apa?
untuk setiap condition nilainya harus ada true dan false memenuhi kah? yes memenuhi, kenapa? karena di C1 ada nilai true C2 nilainya false, apakah C2 memenuhi? yes, kenapa? karena ada nilai false dengan nilai true, untuk test B tadi, true, true, false, false apakah ini memenuhi kriteria 100%?
ini 100% ya karena semua condition dipenuhi True, false ada, benar. Di C2, T, false ada, benar. Dipenuhi semua kondisi, berarti dia memenuhi 100%. Jadi baik T-suite A maupun T-suite B ini sudah memenuhi CC 100%. Kenapa?
Tadi karena ada nilai true false untuk masing-masing condition. How about the T-suite C? T-suite C tadi true true true false. C1-nya memenuhi? Oh, belum.
Kenapa? Karena yang dipenuhi baru satu nilai true. Yang nilai false belum dipenuhi. C2? Oh yes, ada.
T2 ada nilai true, ada nilai false. True false berarti dia memenuhi. Jadi dari harusnya ada 4 nilai yang dipenuhi true, false, true, false, dia hanya memenuhi 3. Yang ini enggak. Jadi berapa persen kah face with C ini memenuhi CC?
Yang dipenuhi adalah, tadi ya, yang dipenuhi harusnya ada 4 nilai, true, false, true, false, yang dipenuhi hanya 3. True, condition 1, C2-nya cuma true, false. Jadi berapa nilainya? Nilainya adalah, Satu yang tidak dipenuhi, harusnya dia memenuhi 4 nilai.
Jadi, adalah 3 yang dipenuhi, satu yang tidak, 3 per 4 kali 100%. Berarti nilainya berapa coveragenya? 75%.
Bagaimana kalau kita mau menambah ini menjadi 100%? Kita tinggal tambahkan, kalau kita tambahkan nilai true dengan nilai false di sini, sama saja. Tidak akan menambah, kita tambahkan test case misalnya. True dengan true.
Lagi, tidak akan menambah. Kita harus menambahkan sesuatu yang nilainya adalah, atau kita tambahkan true dengan false juga. Tidak bisa, kita harus menambahkan sebuah nilai false di sini. Boleh false true atau boleh false false.
Cukup satu test case lagi yang nilainya misalnya false true. Misalnya false true itu adalah test case misalnya false true. Misalnya nilai test case-nya adalah 0,0.
Kalau kita tambahkan titik 0,0 di sini, di mana nilainya adalah false dengan true. maka ini akan menjadi 100% 3 test case dalam test with C akan mencapai 100% begitu ya, ini contohnya disini 100% 100% ini 75% nah, setelah tadi kita pelajari statement coverage branch coverage, condition coverage yang selanjutnya adalah decision condition coverage apa itu? syaratnya 2 each condition in a decision takes on possible to and false jadi dia harus memenuhi ini adalah kriteria CC condition tadi yang sebelumnya dan juga dia harus memenuhi DC condition, DC condition tadi apa?
ini, jadi setiap branch harus nilainya true and false, dan setiap condition nilainya harus true and false, makanya namanya DCC, decision coverage dan condition coverage, jadi by condition coverage harus dipenuhi decision condition harus dipenuhi contohnya di contoh kita tadi jika A1B0 tadi sama contoh yang sebelumnya Kalau kita punya test suite A, option A test suite A, misalnya C1-nya true, C2-nya false, kalau true dengan false maka nilainya false. Yang kedua, misalnya test case kedua, ini test case 1, ini test case 2. Misalnya test case 1, true, false, false, test case 2, false, true, false. Ini memenuhi CC, yes.
Kenapa? True, false, false, true. Apakah memenuhi DC?
No, kenapa? Karena decisionnya false dengan false. Jadi ini belum memenuhi DCC. Karena kenapa? Karena DC itu conditionnya harus ada satu true dan ada false.
Option B. Tadi test suite B. Test suite B, misalnya test satunya true dengan true. Test case 2-nya. Test case 1. Ini TC2-nya adalah false dengan false.
Nilainya kalau true dengan true, true. False dengan false, false. Apakah ini memenuhi CC?
Yes. Kenapa? Karena ada true dan false di setiap condition. Apakah ini memenuhi decision coverage?
Yes. Karena untuk setiap decision, T-nya sudah ada true, T-nya sudah false. Jadi ini sudah memenuhi, yang ini belum memenuhi. Gitu ya. Yang kita lihat di sini, contohnya, ini tadi yang dissatisfied.
CC dissatisfied, ini yang T-suite A tadi. Ini yang T-suite B. Ini memenuhi? Yes.
Apakah memenuhi C-suite? Iya, tapi tidak memenuhi D-suite. Ini memenuhi C-suite. Ini memenuhi C-suite. Ini memenuhi C-suite.
Ini juga memenuhi. Kalau untuk contoh atas tadi, ini contoh T-suite A, ini T-suite B. Ini T-suite A tadi. ini gak memenuhi yang ini gak memenuhi, tapi kalau ditambahkan satu test case lagi nilainya misalnya true dengan true, jadi ada 3 Sehingga ini sekarang memenuhi Adalah memenuhi DCC Kalau ini ditanya Ini berapa persen? Kalau ini 100 persen memenuhi Kalau ini sekarang memenuhi berapa persen? Kita lihat kriteria yang harus dipenuhi kan ada 4 Ini harus true and false Ini harus true and false Dan ini harus nilainya True and false Ini tidak dipenuhi Jadi harusnya 1, 2, 3, 4, 5, 6 Ada 6 yang harus kriteria yang dipenuhi, tapi ternyata untuk kondisi ini yang dipenuhi hanya 1, 2, 3, 4, 5. Jadi ini kondisinya adalah berapa persen?
5 per 6 kali 100 persen. Jadi coverage-nya adalah sekitar 80-an persen. 16 kali 5, 83 persen sekian.
Jadi ngitungnya dari berapa yang harus kondisi yang dipenuhi, berapa persyaratan, dia hanya memenuhi 5 dari 6 persyaratan. Sehingga dia hanya mencapai 80%. Kalau ini, true false-nya dipenuhi, ini false-true-nya dipenuhi, ini false-true-nya dipenuhi. Jadi semua 100% dipenuhi.
Nah, terakhir, ini dua yang terakhir. Ada yang namanya modified condition decision coverage. Nah, apa kondisinya dia harus memenuhi DCC?
Memenuhi DCC berarti apa? DC harus benar. cc harus benar, apa tadi kalau dc semua decision nilainya true false condition semua condition nilainya harus ada true dan false ya, dan apalagi asyarat tambahannya, dia harus punya independent effect untuk setiap decision, apa itu independent effect, artinya condition independently affects the outcome of decision jadi sebuah kondisi ya jadi condition itu setiap kondisinya harus ada independent effect dimana jika ada berubah satu satu nilai dari conditionnya itu maka dia akan mengubah decision pasti bingung, contohnya apa disini, ya, contohnya kita disini ada dua condition ya, misalnya ini C1, ini C2 tadi ya nah, misalkan C1 true, ya C2 true, decisionnya true ya, ya kan ini true, ininya true Decision-nya adalah true.
Nah, kalau kita ubah satu condition ini, dia disebut independent effect, artinya kalau dia diubah, maka decision berubah. Contohnya, kalau ini kita ubah jadi false, false dan true, berubah ya. False dan true jadi false.
Jadi karena ini berubah, maka ini adalah independent effect. Kenapa? Karena kalau dengan kondisi dia, berubah nilai, dia akan mengubah juga decision-nya. Apakah ini independent effect?
Ini juga independent effect. Coba kita lihat. Ini true, true jadi true. Kalau ini true dengan false, maka menjadi false.
Jadi ada independent effect di sini dan ada independent effect di sini. Contohnya di sini. Kita lihat ada tiga test case di sini. Apakah ini test with ini mempunyai test case satu. Test case 2, test case 3. Apakah test suite ini memenuhi MCDC?
Kita cek. Syaratnya apa? Harus memenuhi DC, dan harus memenuhi CC, dan harus punya IA, independent effect.
Apakah dia memenuhi DC? Kita lihat. Di decision-nya ada false dengan ada true. Berarti dia memenuhi DC. Apakah dia memenuhi kondisi coverage?
Lihat, dia ada true, false. Benar, di sini ada false, true. Sudah memenuhi.
Apakah dia punya independent effect? Coba lihat di sini. Di C1 ada independent effect. Lihat. Kalau false, ini diubah.
Ini kan false, true. False, true jadi false. Kalau ini diubah jadi true, true, true. Dia jadi true. Berarti dia independent effect.
Karena begitu dia mengubah nilainya, decision berubah. Mana lagi yang independent effect? Ini.
Kalau ini diubah di C1, dan di C1 harus ada setidaknya satu independent effect, apakah kita lihat yang pertama, apakah ini independent effect true, false, jadi false true dan false, jadi false, kalau ini kita ubah jadi false, tadi berubah nilainya false, jadi false, apakah berubah jadi true enggak, jadi ini bukan independent effect, kenapa? karena dengan mengubah nilai true menjadi false dia tidak mengubah decision, lihat ya sekali lagi, kalau ini kan tadi true dan false, jadi false, apakah kalau ini kita ubah menjadi false, berubah ini jadi peace True, enggak. Ini diubah jadi false, false tetap false.
Sehingga dia disebut... Bukan independent effect. Karena kalau dia berubah, dia tidak mengubah nilai dari decision.
Yang ini. Ini false, true adalah false. Kalau ini kita ubah jadi true. True jadi true.
Dan true akan menjadi true. Dia bisa mengubah. Dia dengan dia sendiri berubah.
Dia mampu mengubah nilai false ini menjadi true. Maka ini adalah independent effect. Apakah ini independent effect? Coba. True, true jadi true ya.
True dan true jadi true. Jika ini false. False dan true. Apakah berubah menjadi true? Tetap.
True atau berubah jadi false Berubah jadi false Berarti ini juga adalah independent effect Tapi cukup satu Gitu ya Ada dua Ini dengan ini Tapi cukup di condition satu Cukup satu aja sudah bisa memenuhi syarat Ini kebetulan ada dua Jadi ya gak apa-apa Nah C2 Apakah ini independent effect? Yang ini? Coba kita lihat False True False Jadi false True dengan true jadi Jadi true ya Berarti ini juga adalah independent effect Ini Ya Apakah ini juga independent effect? Coba lihat.
Ini false dengan true jadi false. Kalau false dengan false, tetap false. Ini bukan independent effect.
Apakah ini independent effect? True dengan true, true. True dengan false jadi false.
Jadi ini juga independent effect. Jadi di sini pun ada dua independent effect. Di sini dengan di sini.
Tapi cukup satu sudah bisa menunjukkan. Nah, kalau tadi kita punya C3C, CCC, maka C3C ini harus mempunyai independent effect. Ini karena kita cukup, karena ada dua, cukup di C1, 1, dan di C2, 2, eh, 1. Ini sudah memenuhi.
Jadi ini contoh test case, test suite yang memenuhi MCDC. Yaitu dia punya DC, dia punya CC dan ada independent effect di masing-masing condition. Dan yang terakhir adalah multiple condition coverage.
Apa ini? Ini kondisi yang paling complete, yang paling lengkap. Jadi semua combination dari condition harus ada. Jadi C1 dan T1.
Harus ada true, false, ada true, true, ada false, true, ada false. Ini yang paling lengkap. Nah, kalau kita punya 3 condition, berarti harus ada 3 kombinasi kali 3 pangkat 2, ada 9. Ini kan tadi 2, 2 kali 2 pangkat 2, 4. Kalau tadi kita punya 3, C, C1, C2, C3, maka akan ada 9 kombinasi. True, true, true, true, true, false, true, true, false, dan semua conditionnya. Berapa condition Di pangkat 2 Jadi kalau misalnya kita punya jumlah conditionnya 3 Maka 3 pangkat 2 Kalau ini kita punya conditionnya 2 Jadi 2 pangkat 2 Jadi jumlahnya N pangkat 2 Itu jumlah kombinasi test case Seperti itu Saya mau coba lagi menghitung tadi ini belum contoh kalau dia memenuhi, kalau menghitung coveragenya, misalnya kita cuma punya ini kan ada berapa misalnya kita cuma menghitung hanya ada test case 1 dan test case 2 kalau hanya test case 1 dan test case 2 berapa presentasinya dari MCDC-nya, kita lihat nilainya tadi, true false False.
Dan false, true, true. Itu ya nilai dari C1, C2, dan D-nya. Oke, kita lihat. Dia harus memenuhi apa?
Syaratnya kan berarti ada 6. True, false. Harus ada true, false. Harus ada D-nya juga true, false.
Berarti ada 6 nilai. Dan masing-masing ini harus ada... satu juga nilainya independent effect dan ada independent effect, berarti harus ada 6, 8 syarat ya satu syarat ini harus ada masing-masing true false, masing-masing ada true false masing-masing ada true false, dan harus masing-masing ada ia disini, ia disini true false, true falsenya udah terpenuhi, yes true false, true falsenya udah penuhi, yes true false, true falsenya udah terpenuhi, yes ia disini ada, tadi ia disini ada IA di sini tadi ada di sini.
IA di sini ada, IA di sini juga ada. Berarti nilai yang dipenuhi di sini juga tetap 100%. Bagaimana kalau kita kasih contoh yang nggak ada itu misalnya, oh kebetulan di saat ini contoh ini semuanya ada. Tadi misalnya ya, misalnya di sini nggak ada independent effect, tapi di sini ada.
maka yang dipenuhi misalnya nih, kebetulan ini semua ada misalnya ini gak independent effect nih maka yang dipenuhi tadi 1, 2, 3, 4, 5, 6, 7 jadi misalnya yang dipenuhi cuma ada satu condition yang memenuhi independent effect yang lain enggak, maka adalah 7 per 8 kali 100% contohnya tadi ya, misalnya true false-nya udah dipenuhi, ininya dipenuhi ini dipenuhi, terus independent effect cuma satu yang satu enggak, berarti ya dari 8 persyaratan 7 dipenuhi, jadi 7 per 8 kali 100% begitu menghitung coverage-nya nah kalau di sini menghitung coverage-nya juga sama Total kombinasinya berapa? Misalnya harus dipenuhi 9 kombinasi atau 4 kombinasi. Tapi misalnya ada sebuah test case yang hanya, test suite yang hanya memiliki ini kombinasi.
Maka persentasinya adalah, yang dipenuhi adalah, ini kan berarti ada 1, 2, 3, 4, 5, 6, 7, 8. Yang harus dipenuhi itu ada 8. Oh, kalau ini enggak. Ini karena kombinasinya kan harus semua kombinasi. Yang dipenuhi dari kombinasi ini kan cuma ada 3 yang dipenuhi.
Karena dia melihatnya per kombinasi. Bukan per nilainya tadi. Jadi kombinasinya itu 3, berarti yang dipenuhi hanya 3 per 4 x 100%. Jadi ini kalau dia hanya T1, 2, 3 aja, maka nilai average-nya adalah...
75% atau kalau cuma C1 aja dia 25% C2 aja 50% 75% 100% demikian demikian hari ini kita udah belajar ya tentang data control flow coverage apa itu control flow coverage? kita melihat coverage kriterianya berdasarkan alurnya tadi ya berdasarkan statement tadi condition decision kita balik lagi condition ini ya, statement, condition, decision, modified condition, dan multiple. Statement tadi apa?
Kalau semua statement coverage-nya 100% di-cover. Branch coverage, kalau semua branch-nya di-cover. Branch itu berarti harus ada nilai true dan nilai false untuk setiap decision.
Condition coverage, kalau setiap condition di-cover dengan apa? Dengan nilai true dan nilai false dari setiap condition. Decision condition coverage, kalau apa?
Kalau branch coverage-nya dipenuhi, condition coverage-nya dipenuhi. Done. Bukan atau ya.
Kalau dua-duanya dipenuhi maka masuk ke DCC. Kalau modified condition coverage apa? Kalau dia memenuhi branch coverage, dia memenuhi condition coverage.
Dua-duanya. Dan dia juga memenuhi adanya independent effect di masing-masing condition. Dan multiple condition coverage apa? Kalau test suite-nya memiliki test case yang mampu meng-cover semua kombinasi dari setiap kondisi yang ada.
Oke, demikian kuliah kita hari ini tentang... Control Flow Coverage Facing, bagian dari Data Flow Coverage. Dan nanti akan ada latihan-latihan dan kuis dan akan ada latihan juga yang akan disampaikan oleh kakak Apriah. Terima kasih, selamat pagi, salam sehat buat kita semua.