Luận án này trình bày một số phương pháp cho phép sinh tự động các ca kiểm thử chức năng mức hệ thống từ các ca sử dụng áp dụng các kỹ thuật kiểm thử dựa trên mô hình với hướng tiếp cận mô hình hóa chuyên biệt miền (Domain Specific Modeling DSM). Cụ thể, luận án quan tâm đến phương pháp đặc tả rõ ràng các ca sử dụng và các ca kiểm thử bằng các mô hình trong các ngôn ngữ mô hình hóa chuyên biệt miền và phương pháp chuyển tự động các mô hình ca sử dụng sang mô hình ca kiểm thử trong các ngôn ngữ đặc tả chuyên biệt miền
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Chu Thị Minh Huệ KIỂM THỬ DỰA TRÊN MÔ HÌNH VỚI CÁCH TIẾP CẬN MƠ HÌNH HĨA CHUN BIỆT MIỀN LUẬN ÁN TIẾN SỸ CÔNG NGHỆ THÔNG TIN Hà Nội - 2019 LỜI CAM ĐOAN Tôi xin cam đoan luận án “Kiểm thử dựa mơ hình với cách tiếp cận mơ hình hóa chun biệt miền” cơng trình nghiên cứu riêng tơi Các số liệu, kết trình bày luận án hồn tồn trung thực chưa công bố cơng trình khác Tơi trích dẫn đầy đủ tài liệu tham khảo, cơng trình nghiên cứu liên quan nước quốc tế Ngoại trừ tài liệu tham khảo này, luận án hoàn tồn cơng việc riêng tơi Trong cơng trình khoa học cơng bố luận án, tơi thể rõ ràng xác đóng góp đồng tác giả tơi đóng góp Luận án hồn thành thời gian làm Nghiên cứu sinh Bộ môn Công nghệ phần mềm, Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Tác giả: Hà Nội: i LỜI CẢM ƠN Trước hết, muốn bày tỏ biết ơn đến PGS TS Nguyễn Ngọc Bình TS Đặng Đức Hạnh, cán hướng dẫn, thầy trực tiếp giảng dạy định hướng suốt thời gian học cao học, thực luận văn thạc sĩ luận án Một vinh dự lớn cho học tập, nghiên cứu hướng dẫn Thầy Tôi xin bày tỏ biết ơn sâu sắc đến Thầy Cơ Bộ mơn Cơng nghệ phần mềm giúp đỡ Thầy Cơ đóng góp hữu ích cho luận án Tơi xin trân trọng cảm ơn Khoa Cơng nghệ thơng tin, Phòng Đào tạo Ban giám hiệu trường Đại học Công nghệ tạo điều kiện thuận lợi cho suốt trình thực luận án Tơi bày tỏ biết ơn đến Trường Đại học Sư phạm Kỹ thuật Hưng Yên tạo điều kiện thời gian tài cho tơi thực luận án Tơi muốn cảm ơn đến Ban chủ nhiệm, cán bộ, giảng viên Khoa Công nghệ thông tin - Trường Đại học Sư phạm Kỹ thuật Hưng Yên cổ vũ động viên sát cánh bên suốt trình nghiên cứu Tơi muốn cảm ơn đến tất người bạn tôi, người chia sẻ, động viên tôi cần tơi ln ghi nhớ điều Cuối cùng, tơi xin bày tỏ lòng biết ơn vơ hạn cha mẹ, chồng, gia đình ln ủng hộ yêu thương cách vô điều kiện Nếu khơng có ủng hộ gia đình chồng tơi khơng thể hồn thành luận án ii iii TĨM TẮT Luận án trình bày số phương pháp cho phép sinh tự động ca kiểm thử chức mức hệ thống từ ca sử dụng áp dụng kỹ thuật kiểm thử dựa mơ hình với hướng tiếp cận mơ hình hóa chuyên biệt miền (Domain Specific Modeling - DSM ) Cụ thể, luận án quan tâm đến phương pháp đặc tả rõ ràng ca sử dụng ca kiểm thử mơ hình ngơn ngữ mơ hình hóa chun biệt miền phương pháp chuyển tự động mơ hình ca sử dụng sang mơ hình ca kiểm thử ngôn ngữ đặc tả chuyên biệt miền Các đóng góp luận án sau Đề xuất ngôn ngữ USL (Use Case Specification Language) để đặc tả rõ ràng ca sử dụng, hướng đến khả sinh tự động chế tác phần mềm (software artifacts) khác quy trình phát triển phần mềm chuyển đổi mơ hình Ngơn ngữ xây dựng với cách tiếp cận mơ hình hóa chuyên biệt miền Xây dựng ngôn ngữ TCSL (Test Case Specification Language) để đặc tả rõ ràng ca kiểm thử Ngôn ngữ xây dựng với cách tiếp cận mơ hình hóa chun biệt miền Đề xuất phương pháp USLTG (USL-based Test Generation) để sinh tự động ca kiểm thử từ ca sử dụng cách chuyển đổi tự động mơ hình USL vào mơ hình TCSL Xây dựng cơng cụ hỗ trợ USL để thực hóa đề xuất luận án Bộ cơng cụ hỗ trợ USL cho phép tích hợp ngôn ngữ USL vào phương pháp phát triển phần mềm hướng mơ hình Cụ thể, cơng cụ cung cấp trình soạn thảo để tạo mơ hình USL trực quan cung cấp sinh tự động chế tác khác từ mô hình Trọng tâm luận án sinh ca kiểm thử tự động từ mơ hình USL Ngồi ra, luận án trình bày ví dụ nghiên cứu áp dụng cho phương pháp luận án, cung cấp đánh giá ngôn ngữ USL với ngôn ngữ đặc tả khác, so sánh phương pháp USLTG với số phương pháp sinh ca kiểm thử từ ca sử dụng khác Từ khóa: ca sử dụng, ca kiểm thử, sinh ca kiểm thử tự động, mơ hình hóa chun biệt miền, USL, TCSL, USLTG Mục lục Lời cam đoan i Lời cảm ơn ii Tóm tắt iii Mục lục iv Danh mục từ viết tắt vii Danh mục bảng ix Danh mục hình vẽ x Danh mục thuật toán xii Danh mục đặc tả xiii Chương MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Mục tiêu nghiên cứu đóng góp luận án 1.3 Cấu trúc luận án Chương KIẾN THỨC CƠ SỞ 2.1 Kiểm thử dựa ca sử dụng 2.1.1 Kiểm thử phần mềm 2.1.2 Ca sử dụng 2.1.3 Xây dựng ca kiểm thử từ ca sử dụng 2.2 Mơ hình hóa chuyên biệt miền 2.2.1 Một số khái niệm 2.2.2 Phương pháp xây dựng DSML 2.2.3 Xây dựng DSML Eclipse 2.3 Chuyển đổi mơ hình 2.3.1 Chuyển đổi mơ hình sang mơ hình iv 1 11 11 11 22 25 27 27 28 31 32 32 v Nội dung 2.3.2 Chuyển đổi mơ hình sang văn 2.4 Ngôn ngữ ràng buộc đối tượng OCL 2.4.1 Cơ OCL 2.4.2 Công cụ hỗ trợ OCL 2.5 Tổng kết chương 34 38 38 41 46 Chương ĐẶC TẢ CA SỬ DỤNG THEO HƯỚNG MƠ HÌNH HĨA CHUN BIỆT MIỀN 3.1 Giới thiệu 3.2 Các nghiên cứu liên quan 3.3 Xác định miền cho ngữ cảnh đặc tả ca sử dụng 3.4 Cú pháp USL 3.4.1 Cú pháp trừu tượng USL 3.4.2 Các luật hợp lệ siêu mơ hình USL 3.4.3 Cú pháp cụ thể USL 3.5 Ngữ nghĩa hình thức mơ hình USL 3.6 Chuyển đổi mơ hình USL 3.6.1 Sinh ca kiểm thử 3.6.2 Sinh mơ hình cấu trúc mơ hình hành vi 3.6.3 Sinh TUCDs 3.7 Tổng kết chương 47 47 49 52 58 58 62 66 69 76 76 77 78 81 Chương PHƯƠNG PHÁP SINH TỰ ĐỘNG CÁC CA KIỂM THỬ TỪ MƠ HÌNH CA SỬ DỤNG VÀ MƠ HÌNH KHÁI NIỆM MIỀN CỦA HỆ THỐNG 82 4.1 Giới thiệu 82 4.2 Các nghiên cứu liên quan 85 4.3 Tổng quan phương pháp đề xuất 88 4.4 Ngôn ngữ đặc tả ca kiểm thử TCSL 89 4.4.1 Xác định miền cho ngữ cảnh đặc tả ca kiểm thử chức 90 4.4.2 Định nghĩa siêu mơ hình TCSL 92 4.5 Chuyển đổi mơ hình từ USL sang TCSL 96 4.5.1 Xác định tiêu chí phủ 96 4.5.2 Sinh kịch ca sử dụng ràng buộc 97 4.5.3 Sinh liệu đầu vào kiểm thử 101 4.5.4 Sinh mô hình TCSL 106 4.6 Tổng kết chương 109 Chương THỰC NGHIỆM VÀ ĐÁNH GIÁ 111 vi Nội dung 5.1 5.2 5.3 5.4 Giới thiệu Công cụ hỗ trợ USL Ví dụ minh họa Đánh giá 5.4.1 Đánh giá ngôn ngữ USL 5.4.2 Đánh giá phương pháp sinh 5.5 Tổng kết chương ca kiểm thử USLTG 111 112 115 122 122 129 133 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 134 6.1 Các đóng góp luận án 135 6.2 Hướng phát triển 137 DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC 140 TÀI LIỆU THAM KHẢO 140 DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Dạng đầy đủ Diễn giải ATL Ngôn ngữ chuyển đổi ATLAS ATLAS Transformation Language DSL Domain-Specific Language Ngôn ngữ chuyên biệt miền DSM Domain-Specific Modeling Mơ hình hóa chun biệt miền DSML Domain-Specific Modeling Ngơn ngữ mơ hình hóa Language chun biệt miền EMF Eclipse Modeling Framework Khung mơ hình hóa eclipse GMF Graphical Modeling Khung mơ hình hóa Framework đồ họa Keyword-Driven Testing Khung kiểm thử Framework hướng từ khóa Labelled Transition System Hệ thống chuyển KDTF LTS gán nhãn MBT Model-Based Testing Kiểm thử dựa mơ hình MDD Model-Driven Deverlop Phát triển hướng mơ hình MDE Model-Driven Engineering Kỹ nghệ hướng mơ hình MOF Meta-Object Facility Phương tiện siêu đối tượng M2M Model to Model Mơ hình sang mơ hình M2T Model to Text Mơ hình sang văn NLP Natural Language Processing Xử lý ngôn ngữ tự nhiên vii viii Danh mục từ viết tắt NTD RNL RSL Navigational Development Các kỹ thuật phát triển Techniques điều hướng Restricted-form of Natural Định dạng bị giới hạn Language ngôn ngữ tự nhiên Requirements Specification Ngôn ngữ đặc tả u cầu Language RUCM Restricted Use Case Mơ hình hóa ca sử dụng Modeling giới hạn OMG Object Management Group Nhóm quản lý đối tượng OCL Object Constraint Language Ngôn ngữ ràng buộc đối tượng TCSL Test Case Specification Ngôn ngữ đặc tả Language ca kiểm thử TSL Test Specification Language Ngôn ngữ đặc tả kiểm thử UCTM Use Case Test Model Mơ hình kiểm thử ca sử dụng UML Unified Modeling Language Ngơn ngữ mơ hình hóa thống USL Use Case Specication Ngôn ngữ đặc tả ca sử dụng Language USLTG USL-based Test Generation Sinh kiểm thử dựa mơ hình USL XML eXtensible Markup Language Ngôn ngữ đánh dấu mở rộng DANH MỤC CÁC BẢNG 2.1 2.2 2.3 2.4 Một mẫu mô tả ca sử dụng Các kịch ca sử dụng Đăng nhập Các ca kiểm thử cho ca sử dụng Đăng nhập Các ca kiểm thử ca sử dụng Đăng nhập với giá trị xác định 26 Mô tả ca sử dụng Lend book Các ký hiệu đồ họa khái niệm mơ hình USL Danh sách hàm định nghĩa D Ngữ nghĩa dựa LTS khái niệm USL 54 66 72 74 4.1 Hai ca kiểm thử ca sử dụng Lend book 91 3.1 3.2 3.3 3.4 24 25 26 5.1 Mô tả ca sử dụng Withdraw 115 5.2 Các biến đầu vào điều kiện gác xử lý kịch ca sử dụng Withdraw 119 5.3 Các đối tượng EV sinh kịch ca sử dụng Withdraw 119 5.4 Các ca kiểm thử sinh ca sử dụng Lend book 120 5.5 So sánh khả diễn tả ngôn ngữ đặc tả ca sử dụng 124 5.6 Số kịch sinh số nghiên cứu 130 5.7 Sự so sánh thông tin xác định ngôn ngữ đặc tả kiểm thử phương pháp 131 ix ... động ca kiểm thử chức từ ca sử dụng, luận án sử dụng phương pháp kiểm thử dựa mơ hình với hướng tiếp cận mơ hình hóa chun biệt miền 1.2 Mục tiêu nghiên cứu đóng góp luận án Mục tiêu luận án đặt... góp luận án Mở đầu Thứ nhất, luận án đề xuất phương pháp đặc tả ca sử dụng với cách tiếp cận mơ hình hóa chuyên biệt miền Để thực mục tiêu này, luận án đề xuất ngôn ngữ đặc tả chuyên biệt miền. .. sử dụng vào phương pháp phát triển hướng mơ hình 9 Mở đầu 1.3 Cấu trúc luận án Luận án Kiểm thử dựa mơ hình với cách tiếp cận mơ hình hóa chun biệt miền bao gồm sáu chương Trong Chương Mở đầu