Áp dụng kỹ thuật dòng điều khiển

Một phần của tài liệu Kiểm thử đơn vị cho hệ thống (Trang 55 - 62)

Áp dụng kỹ thuật kiểm thử dòng điều khiển ta sẽ phân tích bài toán theo mã nguồn và theo tiêu chí phủ rẽ nhánh dựa vào độ đo kiểm thử cấp 2 tức là tất cả các điểm quyết định của đồ thị đều được thực hiện ít nhất 1 lần.

Mã nguồn 1:

public decimal get_FreeFloatRate(decimal rate)

{

Decimal _ FREE_FLOAT_RATE=0;

rate = Math.Round(rate, 2);

//Thuc hien lay can tren - Khong thuoc TH Khong du dk

dua vao chi so va TH Gia tri thuc

if ( rate < 5)

{

_ FREE_FLOAT_RATE=-1;//Gia tri khong xac dinh

}

else if (rate > 5 && rate <= 15) {

_ FREE_FLOAT_RATE = rate; }

else if (rate >15 && rate <= 20) {

_ FREE_FLOAT_RATE = 20; }

else if (rate > 20 && rate <= 30) {

_ FREE_FLOAT_RATE = 30; }

else if (rate > 30 && rate <= 40) {

_ FREE_FLOAT_RATE = 40; }

else if (rate > 40 && rate <=50) {

_ FREE_FLOAT_RATE = 50; }

else if (rate > 50 && rate <= 75) {

_ FREE_FLOAT_RATE = 75; }

else if (rate > 75 && rate <= 100) { _ FREE_FLOAT_RATE = 100; } return _ FREE_FLOAT_RATE; } Mã nguồn 2:

{

Decimal _ FREE_FLOAT_RATE=0;

rate = Math.Round(rate, 2);

//Thuc hien lay can tren - Khong thuoc TH Khong du dk

dua vao chi so va TH Gia tri thuc

if ( rate < 5)

{

_ FREE_FLOAT_RATE=-1;//Gia tri khong xac dinh

}

else if (rate > 5 && rate < 15) {

_ FREE_FLOAT_RATE = rate; }

else if (rate >15 && rate < 20) {

_ FREE_FLOAT_RATE = 20; }

else if (rate > 20 && rate < 30) {

_ FREE_FLOAT_RATE = 30; }

else if (rate > 30 && rate < 40) {

_ FREE_FLOAT_RATE = 40; }

else if (rate > 40 && rate <50) {

_ FREE_FLOAT_RATE = 50; }

else if (rate > 50 && rate < 75) {

_ FREE_FLOAT_RATE = 75; }

else if (rate > 75 && rate < 100) { _ FREE_FLOAT_RATE = 100; } return _ FREE_FLOAT_RATE; } Với mã nguồn 1:

Bảng 4.17 Quy ƣớc các điều kiện, hành động trong sơ đồ CFG của bài toán 2 – mã nguồn 1

STT Điều kiện/ Hành động Quy

ƣớc Hành động

Quy ƣớc

1. rate < 5 C1 _ FREE_FLOAT_RATE =-1; A1

2. rate >= 5 && rate <= 15 C2 _ FREE_FLOAT_RATE = rate; A 2 3. rate > 15 && rate <= 20 C3 _FREE_FLOAT_RATE = 20 ; A 3 4. rate > 20 && rate <= 30 C4 _ FREE_FLOAT_RATE= 30 ; A 4 5. rate > 30 && rate <= 40 C5 _ FREE_FLOAT_RATE= 40 ; A 5 6. rate > 40 && rate <= 50 C 6 _ FREE_FLOAT_RATE= 50 ; A 6 7. rate > 50 && rate <= 75 C 7 _ FREE_FLOAT_RATE= 75 ; A 7 8. rate > 75 && rate <=

100

C 8 _ FREE_FLOAT_RATE= 100 ; A 8

Hình 4.5 Sơ đồ dòng điều khiển cho bài toán 2 – mã nguồn 1

Dựa vào lược đồ ta sẽ xây dựng đường đi đảm bảo điều kiện đi qua tất cả các câu lệnh và các điều kiện T-F đều được thực hiện ít nhất 1 lần.

Đường đi 1: 1-2-3(T)-4-19 Đường đi 2: 1-2-3(F)-5(T)-6-19 Đường đi 3: 1-2-3(F)-5(F)-7(T)-8-19 Đường đi 4: 1-2-3(F)-5(F)-7(F)-9(T)-10-19 Đường đi 5: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-12(T)-19 Đường đi 6: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(T)-14(T)-19 Đường đi 7: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(T)-16-19 Đường đi 8: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(F)-17(T)-18-19 Đường đi 9: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(F)-17(F)-19 Do đó ta có 9 đường đi từ sơ đồ CFG.

Bảng 4.18 Các ca kiểm thử sinh ra bởi kỹ thuật dòng điều khiển – mã nguồn 1 Test case Đƣờng đi Dữ liệu đầu vào (Tỷ lệ thực) EO

TC1 Đường đi 1 4% Không đủ điều

kiện đưa vào chỉ số tức là Free float = -1 TC2 Đường đi 2 12% 15% TC3 Đường đi 3 20% 20% TC4 Đường đi 4 30% 30% TC5 Đường đi 5 40% 40% TC6 Đường đi 6 50% 50% TC7 Đường đi 7 75% 75% TC8 Đường đi 8 100% 100%

TC9 Đường đi 9 190% Không phải là

giá trị phần trăm tức là Free float = -2

Với mã nguồn 2:

Bảng 4.19 Quy ƣớc các điều kiện, hành động trong sơ đồ CFG của bài toán 2 – mã nguồn 2

STT Điều kiện/ Hành động Quy

ƣớc Hành động

Quy ƣớc

1. rate < 5 C1 _ FREE_FLOAT_RATE =-1; A1

2. rate > 5 && rate <15 C2 _ FREE_FLOAT_RATE = rate; A 2 3. rate > 15 && rate < 20 C3 _FREE_FLOAT_RATE = 20 ; A 3 4. rate > 20 && rate < 30 C4 _ FREE_FLOAT_RATE= 30 ; A 4 5. rate > 30 && rate <40 C5 _ FREE_FLOAT_RATE= 40 ; A 5 6. rate > 40 && rate <50 C 6 _ FREE_FLOAT_RATE= 50 ; A 6 7. rate > 50 && rate <75 C 7 _ FREE_FLOAT_RATE= 75 ; A 7 8. rate > 75 && rate <100 C 8 _ FREE_FLOAT_RATE= 100 ; A 8

Hình 4.6 Sơ đồ dòng điều khiển cho bài toán 2 – mã nguồn 2

Dựa vào lược đồ ta sẽ xây dựng đường đi đảm bảo điều kiện đi qua tất cả các câu lệnh và các điều kiện T-F đều được thực hiện ít nhất 1 lần.

Đường đi 1: 1-2-3(T)-4-19 Đường đi 2: 1-2-3(F)-5(T)-6-19 Đường đi 3: 1-2-3(F)-5(F)-7(T)-8-19 Đường đi 4: 1-2-3(F)-5(F)-7(F)-9(T)-10-19 Đường đi 5: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-12(T)-19 Đường đi 6: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(T)-14(T)-19 Đường đi 7: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(T)-16-19 Đường đi 8: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(F)-17(T)-18-19 Đường đi 9: 1-2-3(F)-5(F)-7(F)-9(F)-11(F)-13(F)-15(F)-17(F)-19 Do đó ta có 9 đường đi từ sơ đồ CFG.

Bảng 4.20 Các ca kiểm thử sinh ra bởi kỹ thuật dòng điều khiển – mã nguồn 2 Test case Đƣờng đi Dữ liệu đầu vào (Tỷ lệ thực) EO

TC1 Đường đi 1 4% Không đủ điều

kiện đưa vào chỉ số tức là Free float = -1 TC2 Đường đi 2 12% 12% TC3 Đường đi 3 18% 20% TC4 Đường đi 4 25% 30% TC5 Đường đi 5 35% 40% TC6 Đường đi 6 46% 50% TC7 Đường đi 7 74% 75% TC8 Đường đi 8 99% 100%

TC9 Đường đi 9 190% Không phải là giá

trị phần trăm tức là Free float = -2

Một phần của tài liệu Kiểm thử đơn vị cho hệ thống (Trang 55 - 62)

Tải bản đầy đủ (PDF)

(85 trang)