Dựa vào lược đồ (Hình 3.9) 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-9(T)-10-11 Đường đi 2: 1-2-3(T)-4-9(F)-11
Đường đi 4: 1-2-3(F)-5(T)-6-9(F)-11 Đường đi 5: 1-2-3(F)--5(F)-7(T)-8-9(F)-11 Đường đi 6: 1-2-3(F)--5(F)-7(T)-8-9(T)-10-11 Đường đi 7: 1-2-3(F)--5(F)-7(F)-9(T)-10-11 Đường đi 8: 1-2-3(F)-5(F)-7(F)-9(F)-11 Do đó ta có 8 đường đi từ sơ đồ CF.
Ta có tescace được sinh ra từ đường đi như sau:
Bảng 4.7 Các ca kiểm thử sinh ra theo kỹ thuật dòng điều khiển với mã nguồn 2 Testcase Đƣờng đi Testcase Đƣờng đi
Dữ liệu đầu vào
EO Ngày thực
hiện Hình thức thực hiện quyền
TC1 Đường đi 1 24/11/2014 Trả cổ tức bằng tiền mặt 21/11/2014
TC2 Đường đi 2 27/11/2014 Trả cổ tức bằng tiền mặt 25/11/2014
TC3 Đường đi 3 03/09/2014 Niêm yết bổ sung 01/09/2014
TC4 Đường đi 4 27/11/2014 Niêm yết bổ sung 26/11/2014
TC5 Đường đi 5 27/11/2014 Thay đổi tỷ lệ FreeFloat 27/11/2014
Đường đi 6
Không thực thi được do ngày thực hiện là ngày đăng ký cuối cùng, mà ngày thực hiện luôn là ngày làm việc (tức là không thuộc ngày nghỉ, lễ tết) nên ngày đăng ký cuối cùng cũng là ngày làm việc
Đường đi 7
Không thực thi được do nếu ngày thực hiện không thuộc hình thức nào, ngày đăng ký cuối cùng sẽ nhận giá trị mặc định của kiểu DateTime là ngày 01/01/1900 là ngày thứ hai nên không thể thỏa mãn điều kiện là ngày nghỉ lể
TC6 Đường đi 8 27/11/2014 Không thuộc hình thức
nào
01/01/1900
4.1.4. Áp dụng kỹ thuật kiểm thử dòng dữ liệu
Dựa vào mã nguồn của bài toán và tiêu chí sinh kiểm thử All-p-uses/Some-c-uses để tiến hành sinh các đường đi từ đồ thị dòng dữ liệu sau.
Bảng 4.8 Quy ƣớc ký hiệu của các điều kiện trong sơ đồ DFG của bài toán 1
Điều kiện Điều kiện
là True
Điều kiện là False
c_intCorporateType
==(Int32)Common.CorporateActionType.MoneyDividend
C1 ~C1 c_intCorporateType==(Int32)Common.CorporateActionType.
AddListing
c_intCorporateType ==(Int32)Common.CorporateActionType. ChangeFreeFloat
C3 ~C3 checkHoliday(dtTemp)== true C4 ~C4