CFG hàm kiemTraNamNhuantiêu chuẩn phủ điều kiện con

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp sinh dữ liệu kiểm thử tự động cho các ứng dụng java (Trang 31 - 33)

Ví dụ tiếp theo, trường hợp phủ điều kiện con, điều kiện kép (a>=0 || ((b>=0 && c>=0) || b+c>=0) || a+b+c>=0) phân tích thành đồ thị tương ứng mô tả ở hình 3.6. Điều kiện kép nêu trên do ba điều kiện con hợp thành là a>=0, (b>=0 && c>=0)

20

|| b+c>=0a+b+c>=0. Điều kiện a>=0a+b+c>=0 không cần phân tích tiếp vì thỏa mãn điều kiện đơn. Trong khi đó, điều lệnh kép (b>=0 && c>=0) || b+c>=0 sẽ được phân tích tiếp thành 2 điều kiện con: (b>=0 && c>=0)b+c>=0. Quá trình phân tích cứ lặp lại như thế cho đến khi mọi điều kiện con này đều là các điều kiện đơn. Cuối cùng, đồ thị ứng với điều kiện kép cần phân tích sẽ cập nhật trong đồ thị CFG kết quả.

Bắt đầu

a >= 0

Khối lệnh tiếp theo khi các điều kiện

được thỏa mãn c >= 0 b+c >= 0 Kết thúc hàm T F F T F T F T b >= 0 a+b+c >= 0

Khối lệnh tiếp theo khi các điều kiện

được thỏa mãn T

Hình 3.6. CFG điều kiện kép(a>=0 || ((b>=0 && c>=0) || b+c>=0) || a+b+c>=0)

3.3.Xây dựng tập đường kiểm thử 3.3.1.Xây dựng tập đường đi độc lập 3.3.1.Xây dựng tập đường đi độc lập

Hình 3.7mô tả thuật toán sinh tập đường đi độc lập dựa trên ý tưởng sinh tập đường đi độc lập do MC-Cabe đề xuất nêu trong [6]. Đầu vào thuật toán là CFG được lưu bởi biến graph, đầu ra là tập đường đi độc lập P.

21 Bắt đầu Khởi tạo graph, P shortestPath:= Duyệt graph

theo nhánh false

Lưu shortestPath vào

tập đường đi độc lập

S:= tập các đỉnh quyết định trên shortestPath

visited:= Ø

u:= một đỉnh bất kỳ trong tập S

v:= một đỉnh kế tiếp trong S thỏa mãn (u,v)

chưa có trong P

nextPath:= đường đi ngắn nhất qua (u,v)

Lưu nextPath vào P

S:= S Ո tập các đỉnh quyết định trên

nextPath không thuộc visited

S.remove(u) visited.add(u) True False Kết thúc S != Ø

Một phần của tài liệu (LUẬN văn THẠC sĩ) phương pháp sinh dữ liệu kiểm thử tự động cho các ứng dụng java (Trang 31 - 33)

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

(62 trang)