1 function charge_calc(checkin_date,checkout_time,late_checkout_time,room_rate){
2 today = date();
3 expected_checkout_time=12pm;
4 latest_checkout_time=6pm;
5 no_of_night=today-checkin_date;
6 if(late_checkout_time<>"None"){
7 if(late_checkout_time>expected_checkout_time)and(late_checkout_time<=lastest_checkout_time){
8 expected_checkout_time=late_checkout_time;
9 }
10 }
11 if(checkout_time>exptected_checkout_time) or (checkin_date==today){
12 no_of_nights=no_of_nights+1;
13 }
14 charge=no_of_night*room_rate;
15 return charge;
16 }
จาก source code นำมาเขียนอธิบายในรูปของ Control Flow Graph ได้ ดังนี้
* อธิบาย จากรูปจะเห็นได้ว่า เราจะีมี 7 branch condition และ 5 condition หรือ Node ที่มีสีแดง ที่เป็นไปได้่
Test Case |
Check in date |
Checkout time |
Late checkout time |
room rate |
charge |
1 |
12/8/2006 |
12.30pm |
None |
$85 |
$510 |
* อธิบาย จะเห็นได้ว่า Test Case ที่ 1 ทำให้ผ่าน 2 branch คือ 1 และ 5 คิดเป็น % ได้คือ
ผ่าน 2 ใน 7 branch คือ 28% branch condition coverage
จากนั้นเราจะเพิ่้ม Test Case เพื่อให้ครอบคลุม Branch Condition มากขึ้นกว่าเดิม
Test Case |
Check in date |
Checkout time |
Late checkout time |
room rate |
charge |
1 |
12/8/2006 |
12.30pm |
None |
$85 |
$510 |
2 |
12/8/2006 |
2:15pm |
2:30pm |
$85 |
$425 |
* อธิบาย จะเห็นได้ว่า Test Case ที่ 1 และ 2 ทำให้ผ่าน 4 branch คือ 1 4 5 และ 7 คิดเป็น % ได้คือ
ผ่าน 4 ใน 7 branch คือ 57% branch condition coverage
จากนั้นเราจะเพิ่้ม Test Case เพื่อให้ครอบคลุม Branch Condition มากขึ้นกว่าเดิม
Test Case |
Check in date |
Checkout time |
Late checkout time |
room rate |
charge |
1 |
12/8/2006 |
12.30pm |
None |
$85 |
$510 |
2 |
12/8/2006 |
2:15pm |
2:30pm |
$85 |
$425 |
3 |
17/8/2006 |
3:15pm |
11:30am |
$85 |
$510 |
* อธิบาย จะเห็นได้ว่า Test Case ที่ 1 2 และ 3 ทำให้ผ่าน 6 branch คือ 1 2 4 5 6และ 7 คิดเป็น % ได้คือ
ผ่าน 6 ใน 7 branch คือ 85% branch condition coverage
จากนั้นเราจะเพิ่้ม Test Case เพื่อให้ครอบคลุม Branch Condition มากขึ้นกว่าเดิม
Test Case |
Check in date |
Checkout time |
Late checkout time |
room rate |
charge |
1 |
12/8/2006 |
12.30pm |
None |
$85 |
$510 |
2 |
12/8/2006 |
2:15pm |
2:30pm |
$85 |
$425 |
3 |
17/8/2006 |
3:15pm |
11:30am |
$85 |
$510 |
4 |
12/8/2006 |
2:15pm |
7:30pm |
$85 |
$510 |
จะเห็นได้ว่าเราต้องกำหนด 4 Test Case ถึงจะทดสอบครอบคลุมทุกๆ Branch Condition หรือ 100% Branch Condition Coverage
| I | Attachment | Action | Size | Date | Who | Comment |
|---|---|---|---|---|---|---|
| | condition1.jpg | manage | 27.0 K | 28 Sep 2008 - 10:48 | PanitaMeananeatra | |
| | con5.jpg | manage | 29.2 K | 28 Sep 2008 - 10:48 | PanitaMeananeatra | |
| | con4.jpg | manage | 30.0 K | 28 Sep 2008 - 10:49 | PanitaMeananeatra | |
| | con3.jpg | manage | 29.8 K | 28 Sep 2008 - 10:49 | PanitaMeananeatra | |
| | con2.jpg | manage | 29.1 K | 28 Sep 2008 - 10:49 | PanitaMeananeatra |