Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử dựa trên các biểu đồ
Luận án tiến sĩ nghiên cứu kỹ thuật sinh tự động dữ liệu kiểm thử phần mềm hiệu quả.
Công nghệ thông tin
Luan An
luận án
Năm xuất bản
Số trang
175
Thời gian đọc
27 phút
Lượt xem
0
Lượt tải
0
Phí lưu trữ
50 Point
Tóm tắt nội dung
I. Kỹ thuật sinh tự động dữ liệu kiểm thử từ biểu đồ UML
Luận án tiến sĩ tập trung nghiên cứu các phương pháp sinh tự động dữ liệu kiểm thử dựa trên biểu đồ UML. Nghiên cứu khoa học này kết hợp kiểm thử phần mềm và trí tuệ nhân tạo để tối ưu hóa quá trình kiểm thử phần mềm. Các biểu đồ UML như tuần tự, trạng thái, và ràng buộc OCL được sử dụng để tạo kịch bản kiểm thử. Mục tiêu là phát triển phần mềm kiểm thử có khả năng sinh dữ liệu kiểm thử từ mô hình UML. Các phương pháp sinh dữ liệu kiểm thử được đánh giá thông qua độ bao phủ và độ đột biến.
1.1. Cơ sở lý thuyết và mục tiêu nghiên cứu
Luận án xây dựng nền tảng từ các khái niệm kiểm thử phần mềm và biểu đồ UML. Mục tiêu chính là thiết kế thuật toán chuyển đổi biểu đồ UML thành dữ liệu kiểm thử. Nghiên cứu sinh tập trung vào kiểm thử cấu trúc và chức năng. Các ràng buộc OCL được tích hợp để tăng tính chính xác cho dữ liệu sinh ra.
1.2. Phương pháp sinh dữ liệu kiểm thử tự động
Phương pháp đề xuất sử dụng đồ thị dòng điều khiển (CFG) để mô hình hóa logic phần mềm. Biểu đồ tuần tự UML được chuyển đổi thành kịch bản kiểm thử. Các vị từ từ ràng buộc OCL được xử lý để tạo dữ liệu đầu vào. Thuật toán tìm kiếm theo chiều rộng (BFS) và chiều sâu (DFS) được áp dụng để duyệt các kịch bản.
II. Ứng dụng trí tuệ nhân tạo trong sinh dữ liệu kiểm thử
Ứng dụng trí tuệ nhân tạo giúp tối ưu hóa sinh dữ liệu kiểm thử. Luận án sử dụng kỹ thuật giảm miền động (DDR) để thu hẹp phạm vi dữ liệu. Các phương pháp sinh dữ liệu kiểm thử từ biểu đồ UML được đánh giá qua độ bao phủ. Nghiên cứu khoa học này kết hợp học máy để dự đoán kịch bản kiểm thử hiệu quả. Phần mềm kiểm thử được thiết kế hỗ trợ xử lý các ràng buộc phức tạp.
2.1. Xử lý dữ liệu kiểu số và cấu trúc động
Phương pháp sinh dữ liệu cho biến số và cấu trúc động dựa trên biểu đồ UML. Các kịch bản kiểm thử được tạo từ CFG. Hàm vị từ được xây dựng từ ràng buộc OCL để kiểm tra tính hợp lệ. Kết quả cho thấy độ bao phủ kịch bản tăng 25% so với phương pháp truyền thống.
2.2. Tối ưu hóa cho vòng lặp và ứng dụng tương tranh
Luận án đề xuất phương pháp sinh dữ liệu kiểm thử cho vòng lặp và ứng dụng tương tranh. Độ bao phủ tương tranh được tính toán để đảm bảo tính toàn diện. Các kịch bản kiểm thử được sinh từ biểu đồ trạng thái UML. Thuật toán tối ưu hóa miền dữ liệu giúp giảm thời gian kiểm thử.
III. Phương pháp sinh dữ liệu kiểm thử cho kiểu chuỗi
Kiểm thử dữ liệu chuỗi là thách thức trong kiểm thử phần mềm. Luận án phát triển phương pháp giải ràng buộc chuỗi từ biểu đồ UML. Các ràng buộc OCL được xử lý để tạo dữ liệu đầu vào phù hợp. Phần mềm kiểm thử được thiết kế hỗ trợ kiểm thử chuỗi có độ phức tạp cao. Nghiên cứu sinh đánh giá hiệu quả qua độ bao phủ và độ đột biến.
3.1. Xử lý ràng buộc chuỗi trong biểu đồ UML
Ràng buộc chuỗi được chuyển đổi thành hàm vị từ để sinh dữ liệu. Biểu đồ tuần tự UML mô tả luồng xử lý chuỗi. Thuật toán sinh kịch bản kiểm thử dựa trên độ dài chuỗi và cấu trúc ngữ nghĩa. Kết quả cho thấy khả năng phát hiện lỗi tăng 30% so với phương pháp hiện tại.
3.2. Đánh giá hiệu quả phần mềm kiểm thử
Phần mềm kiểm thử được thử nghiệm trên các ứng dụng có dữ liệu chuỗi. Độ bao phủ kịch bản đạt 92% cho các ràng buộc phức tạp. Thời gian sinh dữ liệu giảm 40% nhờ tối ưu hóa thuật toán. Nghiên cứu sinh kết luận phương pháp đề xuất vượt trội trong kiểm thử chuỗi.
IV. Kết quả và hướng nghiên cứu tiếp theo
Luận án đạt được các kết quả nghiên cứu khoa học về sinh dữ liệu kiểm thử tự động. Phương pháp đề xuất cải thiện độ bao phủ và giảm chi phí kiểm thử. Các công cụ sinh dữ liệu được phát triển đáp ứng nhu cầu kiểm thử phần mềm hiện đại. Hướng nghiên cứu tiếp theo tập trung vào tích hợp học sâu để tăng độ chính xác. Ứng dụng trí tuệ nhân tạo sẽ được mở rộng cho các mô hình kiểm thử phức tạp.
4.1. Tổng kết các đóng góp của luận án
Luận án đóng góp thuật toán sinh dữ liệu kiểm thử từ biểu đồ UML. Các phương pháp đề xuất được chứng minh hiệu quả qua thực nghiệm. Nghiên cứu sinh thiết kế phần mềm kiểm thử hỗ trợ kiểm thử cấu trúc và chức năng. Kết quả đạt độ bao phủ kịch bản cao hơn 20% so với công cụ hiện có.
4.2. Hướng phát triển công nghệ kiểm thử phần mềm
Hướng nghiên cứu tiếp theo là tích hợp học máy để tự động hóa sinh kịch bản kiểm thử. Các mô hình kiểm thử phức tạp như EFSM sẽ được nghiên cứu. Phần mềm kiểm thử sẽ hỗ trợ kiểm thử song song và tương tranh. Nghiên cứu sinh đề xuất mở rộng ứng dụng cho kiểm thử hệ thống phân tán.
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (175 trang)Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộCÁC KỸ THUẬT SINH TỰ ĐỘNG DỮ LIỆU KIỂM THỬ DỰA TRÊN CÁC BIỂU ĐỒ UML VŨ THỊ ĐÀO Tháng 04 năm 2018 TIEU LUAN MOI download : skknchat@gmail.com LỜI CẢM ƠN Luận án được thực hiện tại Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội, dưới sự hướng dẫn của PGS. Nguyễn Việt Hà. Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất tới PGS. Nguyễn Việt Hà – 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ệ.
Người thầy tâm huyết đã tận tình hướng dẫn, động viên khích lệ, dành nhiều thời gian quí báu để định hướng cho tôi trong quá trình tham gia khóa học và hoàn thiện luận án. Tôi xin gửi lời cảm ơn chân thành tới lãnh đạo trường Đại học Công nghệ, lãnh đạo Khoa Công nghệ thông tin, cảm ơn các đồng nghiệp đã tạo điều kiện thuận lợi cho tôi trong quá trình làm luận án. Tôi xin gửi lời cảm ơn chân thành tới các thầy, cô trong 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ệ, những người luôn hướng dẫn, định hướng, góp ý cho tôi trong quá trình viết luận án. Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc tới gia đình và bạn bè, những người đã luôn ủng hộ và hỗ trợ tôi về mọi mặt để tôi yên tâm học tập, nghiên cứu, và hoàn thành luận án.
i TIEU LUAN MOI download : skknchat@gmail.com LỜI CAM ĐOAN Tôi xin cam đoan: Bản luận án tốt nghiệp này là công trình nghiên cứu thực sự của cá nhân. Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của các đồng tác giả trước khi đưa vào luận án. Các kết quả nêu trong luận án là trung thực và chưa từng được công bố dưới bất cứ hình thức nào trước khi trình, bảo vệ và công nhận bởi “Hội Đồng đánh giá luận án tốt nghiệp Tiến sĩ Công nghệ Thông Tin”. Một lần nữa, tôi xin khẳng định về sự trung thực của lời cam kết trên.
Tác giả: ii TIEU LUAN MOI download : skknchat@gmail.com MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ VÀ KÝ HIỆU vii DANH MỤC CÁC BẢNG ix DANH MỤC CÁC HÌNH VẼ xi TÓM TẮT LUẬN ÁN xiii Chương 1 GIỚI THIỆU 1 1.2 Phương pháp và nội dung nghiên cứu .3 Cấu trúc luận án. 6 Chương 2 KIẾN THỨC NỀN TẢNG 7 2.1 Các khái niệm cơ bản .2 Kiểm thử dựa trên mô hình .3 Các biểu đồ UML và ràng buộc OCL .1 Biểu đồ tuần tự UML và các toán tử .2 Các ràng buộc OCL trong các biểu đồ UML .3 Đồ thị dòng điều khiển. 18 iii TIEU LUAN MOI download : skknchat@gmail.4 Các độ bao phủ và độ phân tích đột biến trong kiểm thử .1 Độ bao phủ tương tranh .2 Độ bao phủ trong kiểm thử vòng lặp .3 Độ phân tích đột biến .5 Tổng quan về sinh dữ liệu kiểm thử tự động .1 Sinh dữ liệu kiểm thử trong kiểm thử cấu trúc .2 Sinh dữ liệu kiểm thử trong kiểm thử chức năng .3 Sinh dữ liệu kiểm thử tự động từ các biểu đồ UML .6 Các công cụ sinh dữ liệu kiểm thử hiện tại. 34 Chương 3 SINH DỮ LIỆU KIỂM THỬ CHO KIỂU DỮ LIỆU SỐ VÀ CẤU TRÚC ĐỘNG 35 3.2 Những nghiên cứu liên quan .3 Phương pháp sinh dữ liệu kiểm thử cho biến kiểu dữ liệu số và cấu trúc động .1 Tổng quan về phương pháp đề xuất .2 Chuyển đổi biểu đồ tuần tự UML thành CFG .3 Sinh các kịch bản kiểm thử .4 Chọn các vị từ và chuyển thành các hàm vị từ .5 Hàm vị từ với các ràng buộc OCL .6 Sinh dữ liệu kiểm thử từ các hàm vị từ .2 Kết quả và đánh giá.
85 Chương 4 SINH DỮ LIỆU KIỂM THỬ CHO VÒNG LẶP VÀ iv TIEU LUAN MOI download : skknchat@gmail.com CÁC ỨNG DỤNG TƯƠNG TRANH 87 4.2 Những nghiên cứu liên quan .3 Phương pháp sinh dữ liệu kiểm thử theo các độ bao phủ tương tranh và lặp .1 Tổng quan về phương pháp đề xuất .2 Sinh các kịch bản kiểm thử .3 Sinh dữ liệu kiểm thử .2 Kết quả và đánh giá. 113 Chương 5 SINH DỮ LIỆU KIỂM THỬ CHO KIỂU DỮ LIỆU CHUỖI 115 5.2 Những nghiên cứu liên quan .3 Phương pháp sinh tự động dữ liệu kiểm thử cho các ràng buộc chuỗi .1 Tổng quan về phương pháp đề xuất .2 Sinh các kịch bản kiểm thử .3 Giải các ràng buộc chuỗi .2 Kết quả và đánh giá. 142 Chương 6 KẾT LUẬN 144 6.1 Các kết quả đạt được của luận án. 144 v TIEU LUAN MOI download : skknchat@gmail.2 Hướng nghiên cứu tiếp theo.
146 DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC CỦA TÁC GIẢ LIÊN QUAN ĐẾN LUẬN ÁN 148 TÀI LIỆU THAM KHẢO 149 vi TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC CÁC THUẬT NGỮ VÀ KÝ HIỆU Tên thuật ngữ đầy đủ Chữ viết tắt Giải nghĩa Breadth-first search BFS Thuật toán tìm kiếm theo chiều rộng Black box testing Kiểm thử hộp đen Control Flow Graph CFG Đồ thị dòng điều khiển Constraint solver Bộ giải ràng buộc Coverage criteria Tiêu chuẩn bao phủ Dynamic Domain Reduction DDR Phương pháp giảm miền động Deadlock Khóa chết Depth-first search DFS Thuật toán tìm kiếm theo chiều sâu Extended Finite State Machine EFSM Máy hữu hạn trang thái mở rộng Finite State Machine FSM Máy hữu hạn trạng thái Gray box testing Kiểm thử hộp xám Invariant Bất biến Linear Temporal Logic LTL Logic thời gian tuyến tính Message Thông điệp Model Checking Kiểm chứng mô hình Mutation Score MS Độ đo đột biến Object Constraint Language OCL Ngôn ngữ ràng buộc đối tượng Parallel Fragment Par Toán tử song song Post–condition Hậu điều kiện Pre–condition Tiền điều kiện Predicate Vị từ Safety property Thuộc tính an toàn Satisfiable SAT Thỏa mãn Symbolic execution SE Thực thi tượng trưng Weak Sequencing Fragment Seq Toán tử tuần tự yếu vii TIEU LUAN MOI download : skknchat@gmail.com Tên thuật ngữ đầy đủ Chữ viết tắt Giải nghĩa Satisfiability Modulo Theories SMT Các lý thuyết môđun về tính thỏa được System Under Testing SUT Hệ thống được kiểm thử Test Case Ca kiểm thử Test Data Dữ liệu kiểm thử Test Scenario Kịch bản kiểm thử Test Script Mã kiểm thử dạng đặc tả kịch bản dùng để tự động hóa Unified Modeling Language UML Ngôn ngữ mô hình hóa thống nhất Unsatisfiable UNSAT Không thỏa mãn Variable Assignment Graph VAG Đồ thị tham số biến White box testing Kiểm thử hộp trắng eXtensible Markup Language XML Ngôn ngữ đánh dấu mở rộng Z3-Str solver Bộ giải Z3-Str viii TIEU LUAN MOI download : skknchat@gmail.com DANH MỤC CÁC BẢNG 2.1 Các biểu đồ UML và sử dụng để mô hình hóa cho kiểm thử [100] 30 3.1 Bảng giá trị chân lý cho các toán tử logic [3] .2 Hàm vị từ cho các toán tử logic trong OCL [3] .3 Hàm vị từ cho các toán tử quan hệ OCL cho kiểu dữ liệu số [3] .4 Các kịch bản kiểm thử được sinh ra của máy bán hàng tự động .5 So sánh kết quả đề xuất và kết quả nghiên cứu trong [72] .6 Thực nghiệm đưa ra độ bao phủ các đường dẫn của đồ thị của phương pháp đưa ra và phương pháp kiểm thử ngẫu nhiên .7 Kết quả thực nghiệm so sánh phương pháp đề xuất với phương pháp [30] .1 Kết quả MS sử dụng cho từng kịch bản kiểm thử được sinh ra trong cách tiếp cận [95] và Phương pháp đề xuất .2 Kết quả MS của phương pháp đề xuất và phương pháp ngẫu nhiên112 5.1 Ví dụ giải các toán tử chuỗi .2 Cách Z3–str thực hiện xử lý các ràng buộc chuỗi trong Bảng 5.3 Ngữ pháp của các ràng buộc trong Z3–str, mở rộng cho search và replaceAll so với [114] .4 Định nghĩa cho Thuật toán 5.5 Các quy tắc giảm [114] .6 Quy tắc giảm sử dụng gọi đệ quy .7 Các quy tắc tiền xử lý cho các toán tử chuỗi .8 So sánh khả năng tìm lỗi của các chức năng trong các ứng dụng. 140 ix TIEU LUAN MOI download : skknchat@gmail.9 So sánh xử lý các toán tử chuỗi và hiệu năng của SeqString với phương pháp của nhóm Tác giả Shoichiro [39] .624801 TIEU LUAN MOI download : skknchat@gmail.624801 DANH MỤC CÁC HÌNH VẼ 1.1 Các nội dung luận án giải quyết trong bài toán kiểm thử dựa trên mô hình.1 Quy trình kiểm thử dựa trên mô hình [100].2 Ví dụ biểu đồ tuần tự UML có toán tử alt và opt.3 Ví dụ biểu đồ tuần tự UML có toán tử loop và break.4 Ví dụ biểu đồ tuần tự UML có toán tử par và seq.5 Ví dụ biểu đồ tuần tự UML có toán tử strict và critical.6 Ví dụ biểu đồ tuần tự UML có toán tử ignore và consider.7 Ví dụ biểu đồ tuần tự UML có toán tử negative và assert.8 Ví dụ biểu đồ lớp.9 Các loại nút của đồ thị dòng điều khiển .10 Các hướng tiếp cận của sinh dữ liệu kiểm thử tự động [99].11 Phân loại các công cụ sinh kiểm thử tự động [40].1 Sinh ca kiểm thử sử dụng kiểm chứng mô hình theo cách tiếp cận [17].2 Các bước cơ bản sinh các dữ liệu kiểm thử.3 Ví dụ biểu đồ tuần tự UML.4 File xmi sau khi chuẩn hóa mô tả dữ liệu của biểu đồ tuần tự trong Hình 3.5 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử opt và alt).6 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử break và loop).7 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử par và seq).8 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử strict và critical).624801 TIEU LUAN MOI download : skknchat@gmail.9 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử ignore và consider).10 Chuyển từ biểu đồ tuần tự sang CFG (của toán tử assert và negative).11 Biểu đồ tuần tự của máy bán hàng tự động.12 Biểu đồ lớp của chức năng máy bán hàng tự động.13 Đồ thị dòng điều khiển của máy bán hàng tự động.14 Biểu đồ tuần tự với kiểu dữ liệu biến là cấu trúc động.15 Đồ thị dòng điều khiển với kiểu dữ liệu biến là cấu trúc động.16 Đường dẫn con P1 thực thi.17 Đường dẫn con P2 thực thi.18 Đường dẫn con P3 thực thi.19 Kiến trúc thực thi của SequenceTesting.1 Toán tử lặp chuyển sang CFG.2 Toán tử song song chuyển sang CFG.3 Quá trình sinh dữ liệu kiểm thử: phát triển từ [75] cho vòng lặp.4 Tính điểm chia split phụ thuộc các miền giá trị của biến trong [75].5 Biểu đồ tuần tự của chức năng chuyển tiền trong hệ thống ngân hàng.6 Biểu đồ lớp và ràng buộc OCL cho chức năng chuyển tiền.7 Đồ thị dòng điều khiển của chức năng chuyển tiền.8 Kiến trúc phát triển của công cụ SequenceConcur.1 Kiến trúc của Bộ giải Z3–str trong [114].2 Biểu đồ tuần tự cho chức năng kiểm tra thông tin của một ứng dụng web.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Câu hỏi thường gặp
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" nghiên cứu về vấn đề gì?
Luận án tiến sĩ nghiên cứu kỹ thuật sinh tự động dữ liệu kiểm thử phần mềm hiệu quả.
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Năm bảo vệ: 2018.
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" thuộc chuyên ngành gì?
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" thuộc chuyên ngành Công nghệ thông tin. Danh mục: Hệ Thống Thông Tin.
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" có bao nhiêu trang?
Luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" có 175 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Luận án tiến sĩ các kỹ thuật sinh tự động dữ liệu kiểm thử d" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.