Toán tử lặp chuyển sang CFG

Một phần của tài liệu (LUẬN án TIẾN sĩ) các kỹ thuật sinh tự động dữ liệu kiểm thử dựa trên các biểu đồ UML luận án TS máy tính 624801 (Trang 105 - 106)

Phương pháp được đề xuất trong [72] sử dụng phương pháp giảm miền động nhưng chưa giải quyết việc sinh dữ liệu kiểm thử đối với các trường hợp lặp khác nhau trong tốn tử loop. Từ Hình 4.1, biểu đồ tuần tự UML (có tốn tử loop) chuyển sang đồ thị tuần tự, việc sinh dữ liệu kiểm thử chỉ giải các ràng buộc trong trường hợp vòng lặp thực thi một lần và bỏ qua các trường hợp khác. Đối với toán tử song song, trong phương pháp chuyển đổi sang CFG thì mỗi tốn hạng trong tốn tử đó tương ứng với một nút (trong Hình 4.2, thơng điệp m1

của tốn hạng thứ nhất chuyển đổi tương ứng nút B1 và toán hạng thứ hai có hai thơng điệpm2và m3cũng chỉ chuyển sang thành một nútB2). Vì vậy, khơng

thể sinh ra các kịch bản kiểm thử có sự đan xen giữa các thơng điệp trong các tốn hạng khác nhau. Như vậy, cần giải quyết vấn đề đó trong phương pháp sinh các kịch bản kiểm thử để phát hiện lỗi trong các trường hợp đan xen của nhiều thơng điệp trong các tốn hạng và tránh bùng nổ các kịch bản kiểm thử.

Phương pháp đề xuất trong cách tiếp cận [26, 28] biểu diễn phương pháp sinh dữ liệu kiểm thử sử dụng phân tích dịng điều khiển, thực thi tượng trưng và thông tin về các đột biến để sinh dữ liệu kiểm thử tự động thỏa mãn các tiêu chuẩn kiểm thử đột biến [50, 27]. Tuy nhiên, trong các phương pháp đó có nhiều trường hợp ứng dụng thực tế gặp một vài vấn đề như xử lý với mảng, vòng lặp và các biểu thức lồng nhau. Cách tiếp cận trong [90] đưa ra phương pháp sinh dữ liệu kiểm thử tự động dựa trên thuật toán di truyền. Các kịch bản kiểm thử được sinh ra tự động với độ bao phủ các câu lệnh và các nhánh điều kiện. Hiệu quả của phương pháp đưa ra là tốc độ thực thi tốt hơn đáng kể khi so sánh với các phương pháp sinh dữ liệu kiểm thử tự động hiện tại. Tuy nhiên, cách tiếp cận cũng chưa đưa ra các vấn đề xử lý với mảng, biểu thức và vòng lặp.

m1() a:A b:B m2() m3() par B1 FN1 JN1 B2

Một phần của tài liệu (LUẬN án TIẾN sĩ) các kỹ thuật sinh tự động dữ liệu kiểm thử dựa trên các biểu đồ UML luận án TS máy tính 624801 (Trang 105 - 106)