Sinh ca kiểm thử dựa trên ontology

Một phần của tài liệu Tìm hiểu và xây dựng ca kiểm thử phần mềm ứng dụng ontology (Trang 40 - 46)

1. Phương pháp sinh ca kiểm thử dựa trên ontology

1.2.2. Sinh ca kiểm thử dựa trên ontology

1.2.2.1. Ontology tương tác tử

Để một cặp tác tử có thể hiểu nhau, yêu cầu đầu tiên là chúng phải sử dụng chung ngôn ngữ và nói về cùng một thứ. Điều này được thực hiện bằng một ontology gọi là onlogty tương tác tử.

Cấu trúc của ontology tương tác gồm 2 khái niệm chính: Concept và AgentAction. Các lớp con của AgentAction định nghĩa các hành động có thể được thực hiện bởi các tác tử, trong khi đó các lớp con của Concept định nghĩa các khái niệm chung có thể được hiểu bởi tất cả các tác tử. Các lớp con có thể có nhiều thuộc tính khác nhau. Với mỗi lớp, người dùng có thể định nghĩa một vài các thực thể. Ví dụ lớp Book có thể có thuộc tính là Tên và thực thể là một cuốn sách tên là Testing Agents.

41

Ví dụ về một ontology tương tác tử như sau: Ontology bao gồm khái niệm Book với 2 thuộc tính là Tiêu đề và Tác giả, và hành động tác tử Propose, để đề xuất giá cho 1 cuốn sách.

Hình 20. Hình minh hoạ Ontology tương tác trao đổi sách

Các hoạt động cụ thể của tác tử có thể được xây dựng dựa trên sự hiểu biết chung về các khái niệm. Ví dụ, tác tử Buyer sẽ gửi một thông điệp ACL với kiểu Request đến tác tử Seller, với nội dung như sau:

Thông điệp này có thể được hiểu bởi cả 2 tác tử nhờ ontology tương tác được dùng chung bởi cả 2 tác tử.

Các luật có thể được thêm vào các thuộc tính của ontology để giới hạn các giá trị phù hợp.

42

1.2.2.2. Ontology chuyên sâu và sự liên kết giữa các ontology.

Ontology chuyên sâu là ontology về một lĩnh vực nào đó, nhưng không nhất thiết phải là ontology tương tác. Ví dụ, có những ontology mô tả các cuốn sách và tất cả các thông tin liên quan như tiêu đề, tác giả, thể loại, năm xuất bản,vv...

Liên kết ontology là kỹ thuật nhằm tìm mối liên hệ giữa các thành phần của 2 ontology. Nó có thể sử dụng để kết nối các lớp, thuộc tính, các luật, .... của một ontology với ontology khác, và so sánh hoặc chuyển đổi từ ontology này sang ontology kia.

Để tạo ra những dữ liệu kiểm thử có ý nghĩa, ví dụ, dữ liệu phải biểu diễn các thể hiện thật của các lớp trong ontology, chúng ta sử dụng sự liên kết giữa các ontology, và qua đó tăng cường ontology tương tác với các thể hiện. Điều này đạt được bằng cách liên kết một ontology chuyên sâu cũ vào ontology tương tác. Trong khi các ontology chuyên sâu có thể có khối lượng lớn dữ liệu liên quan, bằng việc liên kết ontology, chúng ta có thể tăng cường ontology tương tác với tập hợp lớn các dữ liệu chuyển đổi, và có thể sử dụng cho việc sinh ca kiểm thử.

1.2.2.3. Qui trình thực hiện

Qui trình thực hiện sinh ca kiểm thử cho hệ thống đa tác tử bao gồm 4 giai đoạn sau:

43 Giai đoạn 1: Tạo

dữ liệu đầu vào hợp lệ và không

hợp lệ

Giai đoạn 4: Kiểm tra phản hồi của

tác tử Giai đoạn 2: Khai

thác không gian đầu vào

Giai đoạn 3: Sinh thông điệp

Ontology tác tử Các luật tạo giá trị hợp lệ

và không hợp lệ

Dữ liệu đầu vào cho thông điệp

Thông tin về độ bao phủ (tần suất sử dụng của các thực thể)

Dữ liệu đầu vào cho thông điệp

Các luật kết hợp dữ liệu đầu vào

Thông điệp

Các luật ràng buộc về thông tin phản hồi

Hình 21. Qui trình sinh ca kiểm thử cho hệ thống đa tác tử

Giai đoạn 1: Tạo dữ liệu đầu vào hợp lệ và không hợp lệ

Một nhiệm vụ của bộ sinh ca kiểm thử là hoàn thiện nội dung thông điệp mà tác tử Tester sẽ gửi đến cho các tác tử được kiểm thử. Với mỗi khái niệm được khởi tạo

44

trong thông điệp, bộ sinh ca kiểm thử sẽ hoặc lấy từ những cái đã có hoặc tạo thực thế mới của khái niệm.

Tiếp theo, các thực thể được lựa chọn sẽ được mã hoá theo một phương pháp định sẵn và trở thành hợp lệ cho các tác thử Tester sử dụng.

Khi các thực thể mới được tạo ra, bộ sinh ca kiểm thử lựa chọn trong số những cái đang có của ontology dựa trên số lần được sử dụng của các thực thể., nhằm đảm bảo tăng sự đa dạng của đầu vào.

Trong trường hợp không có thực thể nào có thể sử dụng được, đầu vào hợp lệ vẫn có thể được tạo ra với những thông tin quan trọng như các luật, kiểu dữ liệu thuộc tính, được chỉ định trong ontology. Ví dụ, dựa trên luật về giá, bộ sinh có thể tạo ra 1 giá trị bất kỳ nằm trong khoảng từ 0 đến 200 như là đầu vào hợp lệ.

Một cách tổng quát, với các thuộc tính kiểu số, chúng ta có thể sử dụng các giá trị biên, hoặc với các luật, chúng ta có thể lựa chọn 1 giá trị hợp lệ để làm dữ liệu đầu vào hợp lệ. Với các thuộc tính kiểu chuỗi kí tự, chúng ta chỉ có thể phát hiện ra danh sách các giá trị hợp lệ nếu có. Trong đa số trường hợp, các giá trị có nghĩa của các thuộc tính chuỗi được sinh không thông qua ontology.

Đầu vào không hợp lệ được tạo ra dựa trên tập các luật và kiểu dữ liệu xuất hiện trong ontology tương tác và bổ sung cho các đầu vào hợp lệ. Ví dụ, khi các giới hạn được chỉ định cho các thuộc tính kiểu số thì bộ sinh sẽ sử dụng các giá trị vượt quá giới hạn đó.

Giai đoạn 2: Khai thác không gian đầu vào

45

như thế nào. Bộ sinh ca kiểm thử đặt mức độ ưu tiên cho các khái niệm và các thực thể chưa từng được chọn. Khi các thực thể được sử dụng lại, nếu có thể bộ sinh sẽ lựa chọn thực thể được sử dụng ít nhất. Từ góc độ bao phủ, không gian đầu vào tương ứng với mỗi ontology được chia đều cho vùng hợp lệ và không hợp lệ. Bộ sinh sẽ đặt mức ưu tiên cho những vùng chưa được bao phủ và ít sử dụng nhất, vì vậy, tránh được các ca kiểm thử thuộc cùng 1 vùng và tăng mức độ bao phủ.

Giai đoạn 3: Sinh thông điệp

Khi tạo các thông điệp đầy đủ, bộ sinh áp dụng một tập đầu vào kết hợp các luật, ví dụ với các thông điệp hợp lệ thì chỉ sử dụng đầu vào hợp lệ, trong khi với thông điệp không hợp lệ thì bộ sinh có thể lựa chọn để chỉ sử dụng các đầu vào không hợp lệ hoặc sử dụng xen kẽ dữ liệu đầu vào hợp lệ và không hợp lệ. Các luật được lựa chọn theo các tiêu chí để tối đa sự đa dạng.

Giai đoạn 4: Kiểm tra phản hồi của tác tử

Hành vi kỳ vọng của các tác tử đang được kiểm thử, được kiểm tra bởi tập các ràng buộc OCL, nhưng có thể tăng cường các ràng buộc này với tập các ràng buộc được sinh ra tự động từ các ontology tương tác. Trong thực tế, nội dung các thông điệp được gửi đi bởi các tác tử đang được kiểm thử được kỳ vọng tương ứng với các luật và kiểu dữ liệu được mô tả trong ontology cho từng khái niệm được sử dụng trong thông điệp. Mỗi khi tác tử kiểm thử nhận được thông điệp mà là không hợp lệ theo ontology tương tác, lỗi được thông báo cho đội phát triển.

1.2.3. Kết luận

Kết quả thử nghiệm cho thấy rằng ontology tương tác có kích thước không phải là tầm thường, phương pháp đề xuất đạt độ bao phủ trên các lớp của ontology cao hơn là kế thừa các ca kiểm thử thủ công. Nó cũng vượt qua phương pháp kế thừa thủ công về

46

số lượng lỗi được phát hiện cũng như lượng dữ liệu được khai phá trong quá trình kiểm thử. Mức độ tự động hóa đạt được bằng công cụ việc sinh ca kiểm thử kiểm thử với chi phí thêm không đáng kể.

Phương pháp đã đề xuất tập trung vào nội dung chính là khai thác ontology để kiểm thử các tác tử đơn và hạn chế việc công khai kết quả lỗi từ việc tương tác với agent.

Một phần của tài liệu Tìm hiểu và xây dựng ca kiểm thử phần mềm ứng dụng ontology (Trang 40 - 46)

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

(92 trang)