Kiểm thử dựa trên mô hình với cách tiếp cận mô hình hóa chuyên biệt miền

161 97 0
Kiểm thử dựa trên mô hình với cách tiếp cận mô hình hóa chuyên biệt miền

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠ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 82 KHÁI NIỆM MIỀN CỦA HỆ THỐNG 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 đủ ATL Diễn giải ATLAS Transformation Ngôn ngữ chuyển đổi ATLAS 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 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 RUCM 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 Chương Thực nghiệm đánh giá 133 mơ hình thể siêu mơ hình Trong tất cơng trình trên, có cơng trình [23, 65] nghiên cứu luận án đề xuất siêu mơ hình để đặc tả ca kiểm thử 5.5 Tổng kết chương Trong chương này, luận án xây dựng công cụ hỗ trợ USL cho phép tích hợp ca sử dụng vào phương pháp phát triển hướng mơ hình Cơng cụ hỗ trợ bao gồm trình soạn thảo để tạo mơ hình ca sử dụng ngôn ngữ đặc tả USL cách trực quan, sinh tự động để chuyển đổi mơ hình USL tới chế tác khác phát triển phần mềm Luận án chủ yếu tập trung vào xây dựng sinh tự động ca kiểm thử Tiếp theo, để minh chứng cho khả áp dụng phương pháp công cụ đề xuất, luận án trình bày kết trả áp dụng phương pháp USL cho ví dụ thực tế Cuối cùng, luận án đưa đánh giá cho đề xuất luận án với phương pháp nghiên cứu khác phương pháp đặc tả ca sử dụng sinh tự động ca kiểm thử Kết nghiên cứu phần cơng bố hai Tạp chí quốc tế Int’l Journal of Software Engineering and Knowledge Engineering 2019 (IJSEKE) (Accepted, ISI-indexed) (cơng trình khoa học số (1)), International Journal of Computing and Informatics 2018 (Informatica) (cơng trình khoa học số (2)) Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kiểm thử phần mềm hoạt động quan trọng để đảm bảo chất lượng phần mềm Hoạt động phải tiến hành lại yêu cầu phần mềm thay đổi Vì vậy, tự động hóa hoạt động kiểm thử giúp tăng chất lượng phần mềm làm giảm chi phí phát triển phần mềm Trong hoạt động kiểm thử phần mềm, ca kiểm thử chức xác định từ mơ hình ca sử dụng Tuy nhiên, ca sử dụng thường mơ hình hóa mơ hình ca sử dụng UML mô tả ca sử dụng ngôn ngữ tự nhiên Vì để giải tốn sinh tự động ca kiểm thử chức năng, ca sử dụng cần đặc tả chi tiết rõ ràng Ý tưởng tự động hóa hoạt động kiểm thử chức phần mềm sinh thực thi tự động ca kiểm thử Hơn thực tế, ca sử dụng không đầu vào để xây dựng ca kiểm thử chức mà chúng đầu vào để xây dựng chế tác khác phát triển phần mềm mơ hình cấu trúc, mơ hình hành vi, làm tài liệu Vì để tăng tính tự động hóa phát triển phần mềm, ca sử dụng cần đặt vào ngữ cảnh phát triển hướng mơ hình Trong đó, mơ hình ca sử dụng đầu vào để sinh tự động chế tác phần mềm khác Mặc dù thực tế có nhiều nghiên cứu đề xuất phương pháp đặc tả ca sử dụng khác để sinh tự động ca kiểm thử chức năng, mơ hình cấu trúc, mơ hình hành vi, thiếu phương pháp hoàn chỉnh cho phép đặc tả rõ ràng, chi tiết ca sử dụng để tích hợp 134 Kết luận hướng phát triển 135 ca sử dụng vào phương pháp phát triển hướng mơ hình hồn tồn Hơn để tự động hóa hồn tồn kiểm thử chức phần mềm, ca kiểm thử sinh sẵn sàng đầu vào để sinh thực thi tự động tập lệnh thực thi kiểm thử công cụ thực thi kiểm thử tự động Các ca kiểm thử sinh cần đặc tả rõ ràng ngôn ngữ đặc tả Luận án với mục đích xây dựng ngơn ngữ đặc tả đủ rõ ràng chi tiết thông tin ca sử dụng Sau đó, đặc tả ca sử dụng ngôn ngữ sử dụng để sinh tự động chế tác phần mềm khác Trong đó, luận án tập trung vào việc sinh tự động ca kiểm thử từ mơ hình ca sử dụng Thông tin ca kiểm thử sinh chứa đầy đủ thơng tin cần thiết để sinh thực thi tự động tập lệnh thực thi kiểm thử công cụ kiểm thử tự động Ngoài các ca kiểm thử sinh đặc tả rõ ràng ngôn ngữ đặc tả ca kiểm thử Một đặc tả rõ ràng ca kiểm thử giúp chuyển đổi dễ dàng sang định dạng khác để phù hợp cho công cụ thực thi kiểm thử tự động khác 6.1 Các đóng góp luận án Sau thời gian nghiên cứu giải toán này, luận án có số đóng góp định sau Đóng góp đề xuất ngôn ngữ USL để đặc tả rõ ràng thông tin mô tả ca sử dụng theo hướng tiếp cận mơ hình hóa chun biệt miền Các khái niệm ngôn ngữ xây dựng chuyên biệt cho miền mô tả ca sử dụng Luận án xây dựng cú pháp trừu tượng, cú pháp cụ thể, luật ràng buộc hợp lệ để kiểm tra tính đắn mơ hình tạo Luận án sử dụng hệ thống chuyển trạng thái gán nhãn để định nghĩa ngữ nghĩa hoạt động cho mơ hình USL Luận án chứng minh khả tích hợp USL vào phương pháp phát triển phần mềm hướng mơ hình cách triển khai chuyển mơ hình để sinh tự động mơ tả ca sử dụng dựa mẫu Đóng góp thứ hai đề xuất ngơn ngữ mơ hình hóa chun biệt miền TCSL để đặc tả ca kiểm thử chức Luận án xây dựng cú pháp trừu Kết luận hướng phát triển 136 tượng luật ràng buộc đảm bảo tính đắn cho ngơn ngữ TCSL Ngôn ngữ TCSL xây dựng để đặc tả ca kiểm thử chức sinh tự động luận án Trong phạm vi sử dụng luận án, mơ hình ca kiểm thử lưu dạng tệp XML với tập thẻ để khai báo khái niệm ngơn ngữ Đóng góp thứ ba đề xuất phương pháp USLTG để sinh tự động ca kiểm thử đặc tả mơ hình TCSL từ mơ hình ca sử dụng USL Luận án xây dựng ba thuật tốn thực ba bước USLTG: thuật tốn GenScenarios sinh kịch ca sử dụng ràng buộc, thuật toán GenTestInputData để sinh liệu kiểm thử, thuật toán GenTCSLModel để chuyển kịch liệu kiểm thử sinh vào mơ hình đặc tả ca kiểm thử TCSL Đóng góp thứ tư xây dựng cơng cụ hỗ trợ USL cho phép tích hợp ngơn ngữ USL đề xuất vào phương pháp phát triển phần mềm hướng mơ hình Cụ thể, cơng cụ thực hóa đề xuất chức công cụ hỗ trợ USL Đầu tiên, công cụ hỗ trợ cung cấp chức cho phép người dùng đọc mơ hình ca sử dụng mơ hình lớp UML hiển thị lên giao diện công cụ Thứ hai, công cụ cung cấp soạn thảo trực quan cho phép tạo mơ hình USL đặc tả ca sử dụng Cuối cùng, công cụ cung cấp sinh tự động đầu khác từ mơ hình USL Cụ thể, luận án chúng tơi có triển khai hai sinh sinh tự động mô tả ca sử dụng dựa mẫu USL2TUCD sinh tự động ca kiểm thử USLTG Đóng góp cuối luận án minh họa phương pháp đề xuất thơng qua số ca sử dụng hồn chỉnh Lend book, Withdraw Luận án sử dụng công cụ USL Editor để tạo mơ hình USL ca sử dụng Luận án sử dụng sinh USL2TUCD USLTG để sinh đầu khác từ mơ hình Kết áp dụng cho hai ca sử dụng hoàn toàn phù hợp với đề xuất Chương Ngoài ra, luận án đánh giá ngôn ngữ phương pháp sinh kiểm thử đề xuất với kết nghiên cứu khác để đánh giá khả đặc tả ngôn ngữ khả sinh ca kiểm thử Điều phần thể tính khả thi phương pháp đề xuất Tích hợp ca sử dụng vào ngữ cảnh lược đồ phát triển hướng Kết luận hướng phát triển 137 mơ hình cách tiếp cận thể nhiều ưu điểm phát triển phần mềm Luận án giải toán đặt trọng tâm vào 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 Một cách tuần tự, Chương 3, luận án đề xuất ngôn ngữ USL đặc tả ca sử dụng rõ ràng cho mục đích tích hợp vào phương pháp phát triển phần mềm hướng mơ hình Chương 4, luận án đề xuất ngôn ngữ đặc tả ca kiểm thử TCSL phương pháp chuyển tự động mơ hình USL vào mơ hình TCSL Chương 5, luận án xây dựng công cụ hỗ trợ, thực nghiệm đánh giá ngôn ngữ phương pháp sinh kiểm thử đề xuất Như vậy, luận án xem xét tốn 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 nhiều khía cạnh, từ đóng góp mặt lý thuyết đến cách chứng minh thực nghiệm xuyên suốt từ giai đoạn đặc tả yêu cầu đến giai đoạn thiết kế kiểm thử vòng đời phát triển phần mềm Có thể nói, đóng góp luận án có ý nghĩa việc tự động hóa phát triển phần mềm nói chung kiểm thử phần mềm nói riêng Các kết luận án cơng bố cơng trình khoa học đăng tải hội nghị, tạp chí chuyên ngành nước quốc tế có phản biện 6.2 Hướng phát triển Luận án đề xuất ngôn ngữ đặc tả chuyên biệt miền cho miền đặc tả ca sử dụng USL ca kiểm thử TCSL, phương pháp chuyển tự động từ mơ hình USLTG sang mơ hình TCSL Bước đầu, phương pháp đề xuất đạt số kết định Tuy nhiên, toán tương ứng chương luận án, cịn có nhiều hướng mở cần xem xét giải Sau số hướng nghiên cứu luận án thực Đối với tốn xây dựng ngôn ngữ đặc tả ca sử dụng USL Luận án tiếp tục xem xét, giải hai vấn đề sau Thứ nhất, luận án xây dựng cú pháp cụ thể dạng đồ họa cho ngôn ngữ USL Ngôn ngữ cho phép người dùng tạo mơ hình USL đặc tả thơng tin mô tả ca sử dụng cách trực quan Tuy nhiên, để phù hợp với chuyên Kết luận hướng phát triển 138 gia đặc tả yêu cầu tăng hiệu suất tạo mơ hình, ngơn ngữ cần cung cấp thêm cú pháp công cụ hỗ trợ soạn thảo mơ hình dạng văn gần với cấu trúc ngôn ngữ tự nhiên dựa mẫu mô tả ca sử dụng Thứ hai, luận án xây dựng tập luật ràng buộc mơ hình ngơn ngữ OCL để đảm bảo tính đúng đắn mơ hình tạo Tuy nhiên, mơ hình tạo cần kiểm tra tính đắn biểu thức OCL ràng buộc Vì vậy, phương pháp cần đưa đề xuất để kiểm tra tính đắn biểu thức OCL Đối với toán sinh kiểm thử tự động từ mơ hình USL Luận án tiếp tục xem xét, giải hai vấn đề sau Thứ nhất, đề xuất xây dựng ngôn ngữ đặc tả ca kiểm thử TCSL, luận án dừng lại việc xây dựng cú pháp trừu tượng số luật ràng buộc siêu mơ hình cho ngơn ngữ Để kiểm thử viên chỉnh sửa bảo trì ca kiểm thử, ngơn ngữ cần cung cấp cú pháp cụ thể công cụ soạn thảo trực quan cho kiểm thử viên dễ dàng thao tác mơ hình Thứ hai, phần sở lý thuyết thuật toán sinh USLTG, luận án đề xuất ba thuật tốn để chuyển tự động mơ hình USL sang mơ hình TCSL đạt tiêu chí phủ đường hoạt động Tuy nhiên để phù hợp cho nhiều mục đích dự án khác nhau, nghiên cứu nên xây dựng thuật toán để đạt tiêu chí phủ kiểm thử khác Trong thuật toán GenTestInputData, nghiên cứu cần đề xuất phương pháp để xác định trạng thái hệ thống dựa ràng buộc hậu điều kiện hành động SystemState Đối với công cụ USL, nghiên cứu cần bổ sung thêm chức như: soạn thảo mơ hình USL dạng văn bản, kiểm tra tính đắn biểu thức ràng buộc OCL mơ hình USL, soạn thảo mơ hình TCSL, sinh tự động đầu khác từ mơ hình USL Ngồi ra, Phương pháp USL khơng có mục đích sinh tự động ca kiểm thử mà sinh tự động chế tác khác phát triển phần mềm biểu đồ lớp, biểu đồ chí mã nguồn từ mơ hình ca sử dụng USL Do đó, nghiên cứu thực nghiên cứu đề xuất xây dựng sinh chế tác từ mơ hình USL DANH MỤC CÁC CƠNG TRÌNH KHOA HỌC (1) Chu Thi Minh Hue, Duc-Hanh Dang, and Nguyen Ngoc Binh USLTG: Test Case Automatic Generation by Transforming Use Cases (accepted by Int’l Journal of Software Engineering and Knowledge Engineering Journal (IJSEKE, 2019 )) ISSN 1793-6403 (ISI index) (2) Chu Thi Minh Hue, Duc-Hanh Dang, Nguyen Ngoc Binh, and Le Minh Duc USL: A Domain-Specific Language for Precise Specification of Use Cases and Its Transformations Informatica, Vol 42(3), pages 323343, 2018 ISSN 0350-5596 (Scopus indexed) (3) Chu Thi Minh Hue, Duc-Hanh Dang, and Nguyen Ngoc Binh A Transformation-Based Method for Test Case Automatic Generation from Use Cases Proc 10th Int Conf Knowledge and Systems Engineering (KSE), pages 252-257 IEEE Computer Society 2018 ISBN 978-1-5386-6113-0 (4) Minh-Hue Chu, Duc-Hanh Dang, Ngoc-Binh Nguyen, Minh-Duc Le, and Thi-Hanh Nguyen USL: Towards Precise Specification of Use Cases for Model-Driven Development Proc 8th Int Symp Information and Communication Technology (SoICT), pages 401-408 ACM 2017 ISBN 978-1-4503-5328-1 (5) Chu Thi Minh Hue, Nguyen Ngoc Binh, and Duc-Hanh Dang A Method to Specify Software Functional Requirements for System Test Case Generation Proc 9th National Conf Fundamental and Applied Information Technology Research (Fair), pp.1-8, 2016 (6) Chu Thị Minh Huệ, Đặng Đức Hạnh, Nguyễn Ngọc Bình Phương Pháp Sinh Tự Động Ca Kiểm Thử từ Mơ Hình Ca Sử Dụng Proc 8th National Conf Fundamental and Applied Information Technology Research (Fair), pp.590-599, 2015 139 TÀI LIỆU THAM KHẢO [1] ISO/IEC/IEEE International Standard - Systems and software engineering – Vocabulary ISO/IEC/IEEE 24765:2010(E), pages 1–418, 2010 doi: 10.1109/IEEESTD.2010.5733835 [2] B K Aichernig and P A P Salas Test Case Generation by OCL Mutation and Constraint Solving In Proc 5th Int Conf Quality Software (QSIC’05), pages 64–71, September 2005 URL https: //doi.org/10.1109/QSIC.2005.63 [3] S Ali, M Zohaib Iqbal, A Arcuri, and L C Briand Generating Test Data from OCL Constraints with Search Techniques IEEE Transactions on Software Engineering, 39(10):1376–1402, October 2013 ISSN 0098-5589 URL https://doi.org/10.1109/TSE.2013.17 [4] Jesús M Almendros-Jiménez and Luis Iribarne Describing Use Cases with Activity Charts In Proc Int Conf Metainformatics (MIS 2Generation of System Test Cases from Use Case Specifications,”004), LNCS 3511, pages 141–159 Springer-Verlag, 2005 ISBN 3-540-27328-X, 9783-540-27328-8 URL https://doi.org/10.1007/11518358_12 [5] Paul Ammann and Jeff Offutt Introduction to Software Testing Cambridge University Press, New York, edition edition, January 2008 ISBN 978-0-521-88038-1 [6] Satya Avasarala Selenium WebDriver Practical Guide Packt Publishing, 2014 ISBN 1782168850, 9781782168850 [7] Mourad Badri, Linda Badri, and Marius Naha A Use Case Driven Testing Process: Towards a Formal Approach Based on UML Collaboration Diagrams In Workshop Formal Approaches to Software Testing(LNCS 2931), pages 223–235 Springer, Berlin, Heidelberg, 2003 [8] P.N Boghdady, Nagwa Badr, M Hashem, and Mohamed Tolba A proposed test case generation technique based on activity diagrams IJENS, 11:37–57, 01 2011 [9] Marco Brambilla, Jordi Cabot, and Manuel Wimmer Model-Driven Software Engineering in Practice Morgan & Claypool Publishers, 1st edition, 2012 ISBN 1608458822, 9781608458820 140 Tài liệu tham khảo 141 [10] Jordi Cabot and Martin Gogolla Object Constraint Language (OCL): A Definitive Guide In Proc 12th Int Conf Formal Methods for the Design of Computer, Communication, and Software Systems: Formal Methods for Model-driven Engineering, SFM’12, pages 58–90, Berlin, Heidelberg, 2012 Springer-Verlag ISBN 978-3-642-30981-6 [11] Gustavo Carvalho, Diogo Falcão, Flávia Barros, Augusto Sampaio, Alexandre Mota, Leonardo Motta, and Mark Blackburn Test case generation from natural language requirements based on scr specifications In Proc 28th Annual ACM Symposium Conf Applied Computing (SAC), pages 1217–1222 ACM, 2013 [12] Mingsong Chen, Prabhat Mishra, and Dhrubajyoti Kalita Coverage Driven Automatic Test Generation for UMl Activity Diagrams In Proc 18th ACM Great Lakes Symposium Conf VLSI, pages 139–142, New York, NY, USA, 2008 ACM ISBN 978-1-59593-999-9 URL https: //doi.org/10.1145/1366110.1366145 [13] Alistair Cockburn Writing Effective Use Cases Addison-Wesley Professional, Boston, edition edition, October 2000 [14] Alberto Rodrigues da Silva, Duˇsan Savi´c, Siniˇsa Vlaji´c, Ilija Antovi´c, Saˇsa Lazarevi´c, Vojislav Stanojevi´c, and Miloˇs Mili´c A Pattern Language for Use Cases Specification In Proc 20th Int European Conf Pattern Languages of Programs, EuroPLoP ’15, pages 8:1–8:18, New York, NY, USA, 2015 ACM URL https://www.doi.org/10.1145/ 2855321.2855330 [15] Julio Cesar Sampaio Prado Leite, Graciela D S Hadad, Jorge Horacio Doorn, and Gladys N Kaplan A Scenario Construction Process Requirements Engineering, 5(1):38–61, July 2000 ISSN 1432-010X doi: 10.1007/PL00010342 URL https://doi.org/10.1007/PL00010342 [16] Maria J Escalona and Gustavo Aragón Ndt a model-driven approach for web requirements IEEE Trans Softw Eng., 34(3):377–390, May 2008 ISSN 0098-5589 doi: 10.1109/TSE.2008.27 URL http://dx doi.org/10.1109/TSE.2008.27 [17] Marcela Genero Bocco, Amador Durán Toro, and Beatriz Bernárdez Jiménez Empirical Evaluation and Review of a Metrics-Based Approach for Use Case Verification Journal of Research and Practice in Information Technology, 36(4):247–258, 2004 ISSN 1443-458X [18] Martin Gogolla and Frank Hilken Model validation and verification options in a contemporary uml and ocl analysis tool In Andreas Oberweis and Ralf Reussner, editors, Proc Modellierung, 2.-4 Mă arz 2016, Karlsruhe, pages 205220 Gesellschaft fă ur Informatik e.V., 2016 [19] Martin Gogolla, Fabian Bă uttner, and Mark Richters USE: A UMLbased specification environment for validating UML and OCL Science Tài liệu tham khảo 142 of Computer Programming, 69(1):27–34, December 2007 ISSN 01676423 [20] Wolfgang Grieskamp and Markus Lepper Using Use Cases in Executable Z In Proc 3th Int Conf Formal Engineering Methods (ICFEM), pages 111–119 IEEE, 2000 [21] Richard C Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit Addison-Wesley Professional, Boston, edition edition, March 2009 [22] Christopher Guindon (Webdev) Eclipse Acceleo January 2013 [23] Javier Gutiérrez, Gustavo Aragón, Manuel Mejías, Francisco Jose Domínguez Mayo, and Carmen M Ruiz Cutilla Automatic Test Case Generation from Functional Requirements in NDT In Michael Grossniklaus and Manuel Wimmer, editors, Current Trends in Web Engineering, Lecture Notes in Computer Science, pages 176–185 Springer Berlin Heidelberg, 2012 ISBN 978-3-642-35623-0 [24] Javier Jesús Gutiérrez, María José Escalona, Manuel Mejías, and Jesús Torres An approach to generate test cases from use cases In Proc 6th Int Conf Web Engineering (ICWE), pages 113–114 ACM, 2006 ISBN 1-59593-352-2 [25] Peter Haumer Use case-based software development In Ian Alexander and Neil Maiden, editors, Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, chapter 12, pages 237–264 Wiley, 2004 [26] Jim Heumann Generating Test Cases From Use Cases Technical report, Rational Software, 2001 [27] Ivar Jacobson Object-oriented Development in an Industrial Environment In Proc Conf Object-oriented Programming Systems, Languages and Applications (OOPSLA), pages 183–191 ACM, 1987 [28] Ivar Jacobson Object-Oriented Software Engineering: A Use Case Driven Approach Addison Wesley Longman Publishing Co., Inc., 2004 [29] Ivar Jacobson, Ian Spence, and Kurt Bittner USE-CASE 2.0 The Guide to Succeeding with Use Cases Ivar Jacobson International SA., 2011 [30] Stéphane LACRAMPE Jonathan MUSSET, Étienne JULIOT Acceleo User Tutorial Obeo, 2008 [31] Paul C Jorgensen Software Testing: A Craftsman’s Approach Auerbach Publications, Boston, MA, USA, 3rd edition, 2008 ISBN 9780849374753 Tài liệu tham khảo 143 [32] Frédéric Jouault, Freddy Allilaire, Jean Bézivin, and Ivan Kurtev Atl: A model transformation tool Sci Comput Program., 72(1-2):31–39, June 2008 ISSN 0167-6423 doi: 10.1016/j.scico.2007.08.002 URL http://dx.doi.org/10.1016/j.scico.2007.08.002 [33] Stephen H Kan Metrics and Models in Software Quality Engineering Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2nd edition, 2002 ISBN 0201729156 [34] Robert M Keller Formal verification of parallel programs Commun ACM, 19(7):371–384, July 1976 ISSN 0001-0782 URL https://www doi.org/10.5381/10.1145/360248.360251 [35] Anneke Kleppe Software Language Engineering: Creating DomainSpecific Languages Using Metamodels 1st edition Addison-Wesley Professional, 2008 [36] Gerald Kotonya and Ian Sommerville Requirements Engineering: Processes and Techniques Wiley Publishing, 1st edition, 1998 ISBN 9780-471-97208-2 [37] Philippe Kruchten The Rational Unified Process: An Introduction Addison-Wesley Professional, Boston, MA, USA, edition, 2004 ISBN 978-0-321-19770-2 [38] Santosh Kumar Swain and Durga Mohapatra Test case generation from behavioral uml models International Journal of Computer Applications, 6, 09 2010 [39] Debasish Kundu and Debasis Samanta A novel approach to generate test cases from uml activity diagrams Journal of Object Technology, 8: 65–83, 05 2009 [40] Liwu Li Translating Use Cases to Sequence Diagrams In Proc 15th Int Conf Automated Software Engineering (ASE), pages 293– 298 IEEE Computer Society, 2000 ISBN 978-0-7695-0710-1 [41] Wang Linzhang, Yuan Jiesong, Yu Xiaofeng, Hu Jun, Li Xuandong, and Zheng Guoliang Generating Test Cases from UML Activity Diagram Based on Gray-Box Method In Proc 11th Asia-Pacific Conf Software Engineering (APSEC), pages 284–291 IEEE Computer Society, 2004 ISBN 978-0-7695-2245-6 URL https://www.doi.org/10.1109/ APSEC.2004.55 [42] D Liu, K Subramaniam, B H Far, and A Eberlein Automating Transition from Use-Cases to Class Model In Proc CCECE 2003 Canadian Conf Electrical and Computer Engineering Toward a Caring and Humane Technology (Cat No.03CH37436), volume 2, pages 831– 834 vol.2, May 2003 Tài liệu tham khảo 144 [43] Alexander Lorenz and Hans-Werner Six Tailoring uml activities to use case modeling for web application development In Proc 2006 Conf the Center for Advanced Studies on Collaborative Research, CASCON ’06, Riverton, NJ, USA, 2006 IBM Corp doi: 10.1145/1188966.1189001 URL http://dx.doi.org/10.1145/1188966.1189001 [44] Mercury QuickTest Professional User’s Guide 6.5 Mercury Interactive Corporation, Sunnyvale, CA 94089 USA, 2003 [45] Raghavendra Prasad MG Learning Selenium Testing Tools - Third Edition: Raghavendra Prasad MG: 9781784396497: Amazon.com: Books, volume Third Edition Packt Publishing, 2015 [46] Chen Mingsong, Qiu Xiaokang, and Li Xuandong Automatic test case generation for uml activity diagrams In Proceedings of the 2006 International Workshop on Automation of Software Test, AST ’06, pages 2–8, New York, NY, USA, 2006 ACM ISBN 1-59593-408-1 doi: 10.1145/1138929.1138931 URL http://doi.acm.org/10.1145/ 1138929.1138931 [47] Mohammed Misbhauddin and Mohammad Alshayeb Extending the UML Use Case Metamodel with Behavioral Information to Facilitate Model Analysis and Interchange Software & Systems Modeling, 14(2):813–838, May 2015 URL https://doi.org/10.1007/ s10270-013-0333-9 [48] Rajiv Murali, Andrew Ireland, and Gudmund Grov UC-B: Use Case Modelling with Event-B In Michael Butler, Klaus-Dieter Schewe, Atif Mashkoor, and Miklos Biro, editors, Abstract State Machines, Alloy, B, TLA, VDM, and Z, LNCS, pages 297–302, Switzerland, May 2016 Springer International Publishing [49] Glenford J Myers, Corey Sandler, and Tom Badgett The Art of Software Testing Wiley Publishing, 3rd edition, 2011 ISBN 1-118-03196-2 978-1-118-03196-4 [50] Kshirasagar Naik and Priyadarshi Tripathy Wiley: Software Testing and Quality Assurance: Theory and Practice A JOHN WILEY & SONS, INC., Canada, August 2008 ISBN 978-0-471-78911-6 [51] Clémentine Nebut, Franck Fleurey, Yves Le Traon, and Jean-marc Jézéquel Automatic Test Generation: A Use Case Driven Approach IEEE Transactions on Software Engineering, 32:140–155, 2006 [52] Obeo ATL - Documentation URL https://www.eclipse.org/atl/ documentation/ [53] OMG UML 2.5 OMG, May 2005 URL http://www.omg.org/spec/ UML/2.5/ Tài liệu tham khảo 145 [54] OMG OCL 2.0 OMG, May 2006 URL http://www.omg.org/spec/ OCL/2.0/ [55] P E Patel and N N Patil Testcases Formation Using UML Activity Diagram In Proc Int Conf Communication Systems and Network Technologies, pages 884–889, 2013 [56] Olli-Pekka Puolitaival and Teemu Kanstrén Towards Flexible and Efficient Model-based Testing, Utilizing Domain-specific Modelling In Proc 10th Workshop on Domain-Specific Modeling, DSM ’10, pages 8:1–8:6, New York, NY, USA, 2010 ACM ISBN 978-1-4503-0549-5 [57] B Regnell, M Andersson, and J Bergstrand A Hierarchical Use Case Model with Graphical Representation In Proc IEEE Symposium and Workshop Engineering of Computer-Based Systems, pages 270–277, March 1996 [58] Edgar Sarmiento, Julio Cesar Sampaio Prado Leite, Eduardo Almentero, and Guina Sotomayor Alzamora Test scenario generation from natural language requirements descriptions based on petri-nets Electr Notes Theor Comput Sci., 329:123–148, 2016 [59] Duˇsan Savi´c, Siniˇsa Vlaji´c, Saˇsa Lazarevi´c, Ilija Antovi´c, Vojislav Stanojevi´c, Miloˇs Mili´c, and Alberto Rodrigues da Silva Use Case Specification Using the SILABREQ Domain Specific Language Computing and Informatics, 34(4):877–910, February 2016 ISSN 1335-9150 [60] Geri Schneider and Jason P Winters Applying Use Cases: A Practical Guide Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998 ISBN 0-201-30981-5 [61] Sabnam Sengupta and Swapan Bhattacharya Formalization of uml use case diagram-a z notation based approach In Proc 6th Int Conf Computing & Informatics, pages – IEEE, 2006 doi: 10.1109/ ICOCI.2006.5276507 [62] Sanna Sivonen Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins IEEE, 2008 [63] Michal Smialek and Wiktor Nowakowski From Requirements to Java in a Snap: Model-Driven Requirements Engineering in Practice Springer, Switzerland, January 2015 [64] Ian Sommerville Software Engineering (6th Ed.) Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2001 ISBN 9780-201-39815-1 ´ [65] T Straszak and M Smialek Automating acceptance testing with tool support In Pro 2014 Federated Conf Computer Science and Information Systems, pages 1569–1574, September 2014 URL https: //www.doi.org/10.15439/2014F342 Tài liệu tham khảo 146 [66] Jitendra Singh Thakur and Atul Gupta Automatic Generation of Sequence Diagram from Use Case Specification In Proc 7th India Conf Software Engineering (ISEC), pages 20:1–20:6 ACM, 2014 URL https://doi.org/10.1145/2590748.2590768 [67] Saurabh Tiwari and Atul Gupta An Approach of Generating Test Requirements for Agile Software Development In Proc 8th on India Conf Software Engineering (ISEC), pages 186–195 ACM, 2015 ISBN 9781-4503-3432-7 URL https://doi.org/10.1145/2723742.2723761 [68] Saurabh Tiwari and Atul Gupta A Systematic Literature Review of Use Case Specifications Research Inf Softw Technol., 67(C):128–158, November 2015 ISSN 0950-5849 URL https://doi.org/10.1016/ j.infsof.2015.06.004 [69] Emina Torlak and Daniel Jackson Kodkod: A Relational Model Finder In Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, pages 632–647 Springer, Berlin, Heidelberg, March 2007 ISBN 978-3-540-71208-4 978-3-540-71209-1 [70] Jan Tretmans Formal methods and testing chapter Model Based Testing with Labelled Transition Systems, pages 1–38 Springer-Verlag, Berlin, Heidelberg, 2008 ISBN 3-540-78916-2, 978-3-540-78916-1 URL http://dl.acm.org/citation.cfm?id=1806209.1806210 [71] Mark Utting and Bruno Legeard Practical Model-Based Testing: A Tools Approach Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2007 ISBN 978-0-12-372501-1 978-0-08-046648-4 [72] Nhuan D.Lai Vu Y.Nguyen, Tho T.Quan and Thuan D.Le FATS: A Framework For Automated Testing Scenarios In Ho Chi Minh City Software Testing Conf January 2015, VietNam, HCM, February 2015 Technology [73] Chunhui Wang, Fabrizio Pastore, Arda Goknil, Lionel Briand, and Zohaib Iqbal Automatic Generation of System Test Cases from Use Case Specifications In Proc Int Symposium Conf Software Testing and Analysis (ISSTA), pages 385–396 ACM, 2015 URL http: //doi.acm.org/10.1145/2771783.2771812 [74] Jos Warmer and Anneke Kleppe The Object Constraint Language: Getting Your Models Ready for MDA Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, edition, 2003 ISBN 978-0-32117936-4 [75] Tao Yue, Lionel C Briand, and Yvan Labiche Facilitating the Transition from Use Case Models to Analysis Models: Approach and Experiments ACM Trans Softw Eng Methodol., 22(1):5:1–5:38, March 2013 ISSN 1049-331X URL http://doi.acm.org/10.1145/ 2430536.2430539 Tài liệu tham khảo 147 [76] Hong Zhu, Patrick A V Hall, and John H R May Software unit test coverage and adequacy ACM Comput Surv., 29(4):366–427, December 1997 ISSN 0360-0300 doi: 10.1145/267580.267590 URL http://doi acm.org/10.1145/267580.267590 ... động hóa kiểm thử phần mềm áp dụng cho kiểm thử chức Để thực mục tiêu sinh tự độ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. .. đến kiểm thử chấp nhận (acceptance testing) 2.1.1.4 Kiểm thử dựa mơ hình Kiểm thử dựa mơ hình (Model-Based Testing - MBT) kỹ thuật kiểm thử với mục đích để sinh ca kiểm thử tự động từ mơ hình. .. mơ hình 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 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

Ngày đăng: 01/08/2020, 21:03

Từ khóa liên quan

Mục lục

  • Lời cam đoan

  • Lời cảm ơn

  • Tóm tắt

  • Mục lục

  • Danh mục các từ viết tắt

  • Danh mục các bảng

  • Danh mục các hình vẽ

  • Danh mục các thuật toán

  • Danh mục các đặc tả

  • 1 MỞ ĐẦU

    • 1.1 Đặt vấn đề

    • 1.2 Mục tiêu nghiên cứu và các đóng góp chính của luận án

    • 1.3 Cấu trúc luận án

    • 2 KIẾN THỨC CƠ SỞ

      • 2.1 Kiểm thử dựa trên 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 các 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 cơ bản

          • 2.2.2 Phương pháp xây dựng DSML

          • 2.2.3 Xây dựng DSML trong Eclipse

          • 2.3 Chuyển đổi mô hình

            • 2.3.1 Chuyển đổi mô hình sang mô hình

            • 2.3.2 Chuyển đổi mô hình sang văn bản

Tài liệu cùng người dùng

Tài liệu liên quan