DI ĐỘNG VÀ PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT
3.3. Phương pháp ứng dụng học máy và đồ thị hóa kết quả kiểm thử
3.3.1.2. Chi tiết về kỹ thuật xây dựng đồ thị Graph
Về mặt bản chất, một ứng dụng web sẽ tạo ra một đồ thị đầy đủ (tạm gọi là Full Graph). Nghĩa là, tại mỗi trang (nút) chúng ta đều có thể đi đến một trang khác, ngay cả khi nó khơng được liên kết (link) theo một dịng nghiệp vụ nào đó (business workflow) thì người kiểm thử (hoặc người dùng) đều có thể di chuyển qua trang bất kỳ tại nút hiện tại bằng cách sử dụng điều hướng URL. Do đó, đồ thị được xây dựng như sau:
(i) Xây dựng một đồ thị đầy đủ (Full Graph) tại lần ứng dụng được thực thi. Mục tiêu là để xây dựng và tạo các đồ thị con sau này nhanh hơn.
(ii) Khi việc kiểm thử được thực thi, một đồ thị sẽ được tạo ra dựa vào dòng kiểm thử (test flow) và dẫn xuất từ Full Graph, nếu Full Graph bị thiếu so với Test Flow, Full Graph sẽ được bổ sung. Các dữ liệu liên quan cũng được ghi lại cho phân tích sau này.
(iii) Đối với những lần thực hiện kiểm thử kế tiếp, khi đồ thị mới được tạo, sẽ được so sánh với đồ thị trước đó (hoặc với Master graph – Master graph là một đồ thị tích hợp tất cả các graph từ những lần thực thi kiểm thử). Tác giả luận án sử dụng thuật toán đồng dạng để so sánh và tìm ra phần chung lớn nhất giữa hai đồ thị đại diện cho hai lần kiểm thử (hoặc giữa đồ thị hiện tại với Master Graph). Những phần thiếu của đồ thị A (đại diện lần test trước, hoặc Master Graph) sẽ chỉ ra một số khả năng như sau:
a. Một logic mới của ứng dụng vừa mới bổ sung hoặc thay đổi. Ví dụ: một chức năng được bổ sung
b. Một ý tưởng kiểm thử mới phát sinh hoặc một hoạt động kiêm thử bị thiếu ở lần kiểm thử trước
c. Khi hai đồ thị được so sánh với nhau, trưởng nhóm kiểm thử và người kiểm thử sẽ xem nét và quyết định tình huống nào trong hai tình huống trên xảy ra. Từ đó các đồ thị sẽ được thay đổi tương ứng
(iv) Những phần thiếu đồ thị B (lần test sau) sẽ chỉ ra một số khả năng như sau:
a. Một logic mới của ứng dụng vừa xóa xong hoặc thay đổi.
b. Kiểm thử hiện tại đang bị thiếu một số kịch bản hoặc logic lần trước khơng chính xác.
c. Khi hai đồ thị được so sánh với nhau, trưởng nhóm kiểm thử và người kiểm thử sẽ xem nét và quyết định tình huống nào trong hai tình huống trên xảy ra. Từ đó các đồ thị sẽ được thay đổi tương ứng
(v) Sau khi so sánh, Master graph sẽ được bổ sung đề dùng cho việc phân tích sau này.