5. Minh hoạ ca kiểm thử phần mềm
5.2. Tìm kiếm thông tin cho các ca kiểm thử phát sinh lỗi
Ví dụ: Tìm kiếm thông tin cho các ca kiểm thử phát sinh lỗi. Câu lệnh truy vấn sẽ tìm kiếm các thông tin liên quan đến ca kiểm thử với điều kiện luồng xử lý có kiểu là “AbNormal”.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
88
PREFIX foaf: <http://www.semanticweb.org/nhimham/ontologies/2012/10/untitled- ontology-21#>
SELECT ?fcId ?idFlow ?inputValue ?targetValue ?outputValue WHERE {?fc foaf:hasName ?checkInputValue.
?fc foaf:hasFlow ?fl. ?fc foaf:hasId ?fcId. ?fl foaf:includeTestData ?preCond. ?fl foaf:includeTestData ?targetTest. ?fl foaf:includeTestData ?expResult. ?fl foaf:hasType ?checkType. ?fl foaf:hasId ?idFlow.
?preCond foaf:hasInputData ?inputCond.
?targetTest foaf:hasSummaryContent ?targetValue. ?expResult foaf:hasOutputData ?outputResult. ?inputCond foaf:hasSummaryContent ?inputValue. ?outputResult foaf:hasSummaryContent ?outputValue. FILTER(?checkType = "AbNormal").}
Kết quả của câu lệnh truy vấn sẽ trả ra danh sách những bộ thông tin về các ca kiểm thử có luồng xử lý kết thúc bất thường.
89
90
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết luận
Qua quá trình làm luận văn, người làm luận văn đã thu được những kết quả nhất định.
Về mặt lý thuyết:
- Đã tìm hiểu tổng quan về ứng dụng ontology trong công nghệ thông tin nói chung và kiểm thử phần mềm nói riêng.
- Đã tìm hiểu về ứng dụng ontology trong việc sinh ca kiểm thử phần mềm.
Về xây dựng thực nghiệm:
- Đã xây dựng một ontoloy kiểm thử phần mềm ở mức độ đơn giản.
Ontology được phát triển từ mô hình ontology kiểm thử đã có. Ontology đã được bổ sung những khái niệm mới về kỹ thuật kiểm thử và dữ liệu kiểm thử nhằm mục đích biểu diễn được những thông tin cơ bản của ca kiểm thử thực tế (phù hợp với công việc ở nơi người làm luân văn đang công tác).
Ontology bao gồm: 18 lớp trừu tượng, 32 lớp cụ thể, 19 thuộc tính kiểu đối tượng, 8 thuộc tính kiểu ngyên thuỷ.
- Đã tạo thông tin cho các thực thể minh hoạ cho một chức năng của dự án thực tế trên Protege.
- Đã minh hoạ tìm kiếm thông tin cho ca kiểm thử bằng truy vấn SPARQL trên Protege
So với các nghiên cứu ứng dụng ontology trong việc sinh ca kiểm thử thì kết quả thực nghiệm khá đơn giản và chưa mở rộng hay cải thiện được những nghiên cứu đã có. Các ứng dụng đã có thực hiện tạo thông tin cho ontology một cách tự động, còn ontology thực nghiệm phải nhập thông tin thủ công trên Protege. Tuy nhiên kết quả thực nghiệm đã mang lại nhiều ý nghĩa với người làm luận văn. Kết quả thực nghiệm đã giúp người
91
làm luận văn có cơ hội thực hiện thiết kế và xây dựng một ontology thực tế. Ngoài ra nó sẽ là cơ sở tiền đề để người làm luận văn có thể tiếp tục phát triển ontology kiểm thử phần mềm và ứng dụng vào công việc thực tế.
2. Hướng phát triển
Với những kết quả đạt được trong quá trình làm luận văn, người làm luận văn mong muốn được tiếp tục nghiên cứu sâu hơn về web ngữ nghĩa và ontology.
Ontology thiết kế trong luận văn hiện nay đang được nhập liệu một cách thủ công. Người sử dụng phải là người có khả năng trích xuất thông tin từ các tài liệu như yêu cầu chức năng, tài liệu thiết kế để chắt lọc những thông tin cần thiết phục vụ cho việc sinh ca kiểm thử. Vấn đề nhập liệu này tốn rất nhiều thời gian và không hiệu quả. Vì thế người làm luận văn muốn hướng đến xây dựng một hệ thống có khả năng phân tích thông tin một cách tự động và lưu trữ vào ontology.
Hệ thống đề xuất bao gồm 3 module chính:
- Module 1: thực hiện phân tích tài liệu đầu vào dưới một định dạng cụ thể nào đó, sau đó tạo thông tin đầu ra dưới định dạng có thể sử dụng để tạo ontology (*.xml, *xmi).
- Module 2: từ file định dạng kiểu xml hoặc xmi, thực hiện trích lọc thành các dạng chú thích ngữ nghĩa lưu trữ vào ontology.
- Module 3: từ thông tin lưu trữ trong ontology, tiến hành sinh ca kiểm thử tự động.
92
TÀI LIỆU THAM KHẢO
[1]. B. Chandrasekaran and John R. Josephson, V. Richard Benjamins, What Are Ontologies and Why Do We Need Them
[2]. Cu D. Nguyen, Anna Perini, and Paolo Tonella, Experimental Evaluation of Ontology-based Test Generation for Multi-Agent Systems
[3]. Guntis Arnicans, Dainis Romans, Uldis Straujums, Semi-automatic Generation of a Software Testing Lightweight Ontology from a Glossary Based on the ONTO6 Methodology
[4]. Hans-Jörg Happel and Stefan Seedorf, Applications of Ontologies in Software Engineering
[5]. Hong Zhu and Qingning Huo, Developing A Software Testing Ontology
[6]. Natalya F. Noy and Deborah L. McGuinness, Ontology Development 101: A Guide to Creating Your First Ontology
[7]. Thomas Moser, Gregor Dürr and Stefan Biffl, Ontology-Based Test Case Generation For Simulating Complex Production Automation Systems
[8]. Valeh Hosseinzadeh Nasser, Ontology-based Unit Test Generation
[9]. Yajing Zhao, Jing Dong,Senior Member, IEEE, and Tu Peng, Ontology Classification for Semantic-Web-Based Software Engineering