Luận Văn Thạc Sĩ: Phương Pháp Sinh Dữ Liệu Kiểm Thử Tự Động Từ Biểu Đồ UML

Luận văn thạc sĩ VNU UET trình bày phương pháp sinh dữ liệu kiểm thử tự động từ biểu đồ tuần tự UML, biểu đồ lớp và ràng buộc OCL.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2016

74
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

ABSTRACT

LỜI CAM ĐOAN

MỤC LỤC

DANH SÁCH BẢNG BIỂU

DANH SÁCH HÌNH VẼ

BẢNG THUẬT NGỮ VIẾT TẮT

1. CHƯƠNG 1: GIỚI THIỆU

1.1. Công nghệ phần mềm đang ngày càng phát triển và chi phối cuộc sống của con ngƣời

1.2. Kiểm thử tự động và các nghiên cứu liên quan

1.3. Nội dung bài nghiên cứu và bố cục luận văn

2. CHƯƠNG 2: CÁC KHÁI NIỆM VÀ TỔNG QUAN KIỂM THỬ DỰA TRÊN MÔ HÌNH

2.1. Tổng quan kiểm thử dựa trên mô hình

2.2. Biểu đồ tuần tự và các khối phân đoạn trong UML

2.3. Đồ thị dòng điều khiển

3. CHƯƠNG 3: PHƢƠNG PHÁP SINH ĐỒ THỊ DÒNG ĐIỀU KHIỂN TỪ BIỂU ĐỒ TUẦN TỰ

3.1. Điều kiện ràng buộc trong thiết kế

3.2. Thuật toán biến đổi biểu đồ tuần tự sang đồ thị dòng điều khiển

3.3. Kỹ thuật sinh kịch bản kiểm thử

3.4. Xây dựng hệ ràng buộc

3.5. Giải hệ sử dụng SMT-Solver

3.6. Các nghiên cứu liên quan

4. CHƯƠNG 4: CÔNG CỤ VÀ THỰC NGHIỆM

4.1. Giới thiệu công cụ và môi trƣờng thực nghiệm

4.2. Ý nghĩa thực nghiệm

5. CHƯƠNG 5: KẾT LUẬN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về phương pháp tự động sinh dữ liệu kiểm thử từ biểu đồ UML

Phương pháp tự động sinh dữ liệu kiểm thử từ biểu đồ UML đang trở thành một xu hướng quan trọng trong lĩnh vực kiểm thử phần mềm. Với sự phát triển nhanh chóng của công nghệ, việc áp dụng các phương pháp tự động hóa giúp tiết kiệm thời gian và chi phí, đồng thời nâng cao chất lượng sản phẩm. Biểu đồ UML, đặc biệt là biểu đồ tuần tự và biểu đồ lớp, đóng vai trò quan trọng trong việc mô hình hóa hệ thống và hỗ trợ quá trình kiểm thử. Bài viết này sẽ trình bày tổng quan về phương pháp này, các thách thức và giải pháp hiện có.

1.1. Tổng quan về biểu đồ UML và vai trò trong kiểm thử

Biểu đồ UML (Unified Modeling Language) là một ngôn ngữ mô hình hóa phổ biến trong phát triển phần mềm. Nó giúp các nhà phát triển hình dung và thiết kế hệ thống một cách trực quan. Trong kiểm thử phần mềm, biểu đồ UML cung cấp thông tin cần thiết để sinh ra các ca kiểm thử tự động, từ đó phát hiện lỗi sớm trong quá trình phát triển.

1.2. Lợi ích của việc tự động hóa kiểm thử từ biểu đồ UML

Tự động hóa kiểm thử từ biểu đồ UML mang lại nhiều lợi ích, bao gồm giảm thiểu thời gian và chi phí kiểm thử, nâng cao độ chính xác và khả năng phát hiện lỗi. Phương pháp này cho phép các nhà phát triển tập trung vào việc cải thiện chất lượng sản phẩm thay vì dành quá nhiều thời gian cho việc kiểm thử thủ công.

II. Thách thức trong việc tự động hóa kiểm thử từ biểu đồ UML

Mặc dù có nhiều lợi ích, việc tự động hóa kiểm thử từ biểu đồ UML cũng gặp phải một số thách thức. Các vấn đề như độ phức tạp của biểu đồ, sự không đồng nhất trong các mô hình và khả năng tương thích giữa các công cụ kiểm thử là những yếu tố cần được xem xét.

2.1. Độ phức tạp của biểu đồ UML

Biểu đồ UML có thể trở nên phức tạp với nhiều thành phần và mối quan hệ khác nhau. Điều này có thể gây khó khăn trong việc xác định các ca kiểm thử chính xác và đầy đủ. Việc đơn giản hóa biểu đồ mà vẫn giữ nguyên tính chính xác là một thách thức lớn.

2.2. Sự không đồng nhất trong các mô hình

Sự không đồng nhất giữa các mô hình UML có thể dẫn đến việc sinh ra các ca kiểm thử không chính xác. Các nhà phát triển cần phải đảm bảo rằng các mô hình được sử dụng là nhất quán và có thể tương tác với nhau để đạt được kết quả tốt nhất.

III. Phương pháp sinh dữ liệu kiểm thử từ biểu đồ tuần tự UML

Phương pháp sinh dữ liệu kiểm thử từ biểu đồ tuần tự UML bao gồm nhiều bước, từ việc phân tích biểu đồ đến việc tạo ra các ca kiểm thử cụ thể. Quy trình này giúp đảm bảo rằng tất cả các kịch bản có thể xảy ra đều được kiểm thử.

3.1. Phân tích biểu đồ tuần tự UML

Bước đầu tiên trong quy trình là phân tích biểu đồ tuần tự UML để xác định các thông điệp và ràng buộc. Việc này giúp tạo ra một cái nhìn tổng quan về cách mà các thành phần trong hệ thống tương tác với nhau.

3.2. Tạo ra các ca kiểm thử từ biểu đồ

Sau khi phân tích, các ca kiểm thử sẽ được sinh ra dựa trên các thông điệp và ràng buộc đã xác định. Các ca kiểm thử này sẽ được tổ chức thành các nhóm để dễ dàng quản lý và thực hiện trong quá trình kiểm thử.

IV. Ứng dụng thực tiễn của phương pháp sinh dữ liệu kiểm thử

Phương pháp sinh dữ liệu kiểm thử từ biểu đồ UML đã được áp dụng trong nhiều dự án phần mềm thực tế. Kết quả cho thấy phương pháp này không chỉ giúp tiết kiệm thời gian mà còn nâng cao chất lượng sản phẩm.

4.1. Kết quả nghiên cứu từ các dự án thực tế

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng phương pháp này trong các dự án phần mềm đã giúp phát hiện lỗi sớm hơn và giảm thiểu chi phí phát triển. Các công ty đã ghi nhận sự cải thiện rõ rệt trong quy trình kiểm thử của họ.

4.2. Các công cụ hỗ trợ sinh dữ liệu kiểm thử

Hiện nay, có nhiều công cụ hỗ trợ việc sinh dữ liệu kiểm thử từ biểu đồ UML. Những công cụ này giúp tự động hóa quy trình và giảm thiểu sự can thiệp của con người, từ đó nâng cao độ chính xác và hiệu quả của kiểm thử.

V. Kết luận và tương lai của phương pháp sinh dữ liệu kiểm thử

Phương pháp tự động sinh dữ liệu kiểm thử từ biểu đồ UML đang mở ra nhiều cơ hội mới cho ngành công nghiệp phần mềm. Với sự phát triển không ngừng của công nghệ, phương pháp này hứa hẹn sẽ tiếp tục được cải tiến và áp dụng rộng rãi hơn trong tương lai.

5.1. Tương lai của kiểm thử tự động

Tương lai của kiểm thử tự động sẽ phụ thuộc vào sự phát triển của các công nghệ mới như trí tuệ nhân tạo và học máy. Những công nghệ này có thể giúp cải thiện khả năng sinh dữ liệu kiểm thử và nâng cao độ chính xác của các ca kiểm thử.

5.2. Định hướng nghiên cứu tiếp theo

Các nghiên cứu tiếp theo có thể tập trung vào việc phát triển các phương pháp mới để tối ưu hóa quy trình sinh dữ liệu kiểm thử, cũng như cải thiện khả năng tương tác giữa các công cụ kiểm thử khác nhau.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/07/2025
Luận văn thạc sĩ vnu uet phương pháp sinh dữ liệu kiểm thử tự động từ biểu đồ tuần tự uml biểu đồ lớp và ràng buộc ocl

Trích đoạn nội dung tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN HÒA PHƢƠNG PHÁP SINH DỮ LIỆU KIỂM THỬ TỰ ĐỘNG TỪ BIỂU ĐỒ TUẦN TỰ UML, BIỂU ĐỒ LỚP VÀ RÀNG BUỘC OCL LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM HÀ NỘI – 2016 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN VĂN HÒA PHƢƠNG PHÁP SINH DỮ LIỆU KIỂM THỬ TỰ ĐỘNG TỪ BIỂU ĐỒ TUẦN TỰ UML, BIỂU ĐỒ LỚP VÀ RÀNG BUỘC OCL Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM CÁN BỘ HƢỚNG DẪN KHOA HỌC: PGS. PHẠM NGỌC HÙNG HÀ NỘI – 2016 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING TECHNOLOGY NGUYEN VAN HOA A METHOD AND TOOL SUPPORTING FOR AUTOMATED TESTING FROM UML SEQUENCE DIAGRAMS, CLASS DIAGRAMS AND OCL CONSTRAINS THE MS. THESIS INFORMATION TECHNOLOGY Supervisor: Assoc., PHAM NGOC HUNG, PhD HÀ NỘI – 2016 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com i LỜI CẢM ƠN Đầu tiên, tôi xin gửi lời cảm ơn chân thành và sâu sắc tới thầy Phạm Ngọc Hùng – Ngƣời đã trực tiếp hƣớng dẫn nhiệt tình, giúp đỡ và động viên tôi rất nhiều, cho tôi có cơ hội đƣợc tiếp xúc với các tài liệu tham khảo quý giá, góp ý cho tôi những lời khuyên chân thành trong quá trình nghiên cứu để hoàn thành đề tài này. Tiếp theo tôi xin gửi lời cảm ơn đến các thầy cô giảng viên Trƣờng Đại học Công Nghệ - Đại học Quốc Gia Hà Nội – những ngƣời đã tận tâm truyền đạt những kiến thức quý báu làm nền tảng cho tôi suốt 2 năm học.

Cuối cùng, tôi xin gửi lời biết ơn sâu sắc tới gia đình vì đã luôn ở bên cạnh tôi, mang lại cho tôi nguồn động viên tinh thần to lớn và tạo mọi điều kiện thuận lợi cho tôi trong quá trình học tập và hoàn thành luận văn này. Với luận văn này tôi rất mong nhận đƣợc ý kiến đóng góp từ Thầy, Cô giáo và các bạn quan tâm để hoàn thiện và phát triển nhiều hơn về các phƣơng pháp mới trong kiểm thử phần mềm. Xin trân trọng cảm ơn! Hà Nội, ngày 10 tháng 10 năm 2016 Học viên Nguyễn Văn Hòa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ii TÓM TẮT Luận văn này trình bày một phƣơng pháp nghiên cứu tự động hóa quá trình kiểm thử dự án phần mềm từ biểu đồ tuần tự UML 2. Hƣớng nghiên cứu dựa trên lý thuyết kiểm thử dựa trên mô hình.

Mục tiêu đề ra là tự động hóa quá trình kiểm thử, nâng cao hiệu quả kiểm thử, tiết kiệm chi phí và thời gian phát triển dự án. Phƣơng pháp đƣợc đề xuất với nội dung chính nhƣ sau. Đầu vào là biểu đồ tuần tự UML 2.0 lƣu giữ dƣới dạng tệp xmi. Chƣơng trình kiểm thử biến đổi tệp xmi bằng cách bóc tách các thông điệp, toán tử và các ràng buộc đƣợc đƣa vào trong thiết kế, từ đó vẽ đồ thị dòng điều khiển tƣơng ứng.

Từ đồ thị dòng điều khiển sử dụng thuật toán dò tìm, thuật toán sinh ca kiểm thử cho các toán tử song song có các điểm chia sẻ dữ liệu tìm ra các đƣờng đi từ điểm bắt đầu cho tới điểm kết thúc gọi là các đƣờng kiểm thử. Tập các đƣờng kiểm thử đƣợc chia tƣơng ứng thành 3 cấp độ kiểm thử khác nhau. Các ràng buộc trên mỗi đƣờng đi đƣợc thu thập và giải lấy kết quả dựa trên công cụ SMT solver kết hợp phƣơng pháp sinh ngẫu nhiên. Kết quả thu đƣợc sau khi giải hệ chính là đầu vào cho các ca kiểm thử tƣơng ứng.

Cuối cùng trích xuất ra tệp excel là các ca kiểm thử theo từng độ bao phủ dùng cho kiểm thử thiết kế. Để kiểm nghiệm mức độ khả thi của phƣơng pháp, một công cụ hỗ trợ đã đƣợc cài đặt và thử nghiệm với một số ví dụ đơn giản nhằm minh chứng cho tính đúng đắn và hiệu quả của phƣơng pháp trên. Kết quả thực nghiệm cho thấy hiệu quả của các ca kiểm thử cũng là khả quan để áp dụng cho các công ty phát triển phần mềm. Từ khóa: Kiểm thử dựa trên mô hình, kiểm thử tự động, biểu đồ tuần tự, đồ thị dòng điều khiển, kiểm thử luồng song song, kiểm thử có chia sẻ dữ liệu luồng song song.

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iii ABSTRACT The content of this thesis is research and propose a method to generate a set of test cases from the UML 2. Based on model-based testing in order to automate the testing process, increase effectiveness, reduce cost and time of testing. The method follows the following steps. At first, in order to have the input model for testing, it analyzes and divides the input diagram into fragments.

These fragments can be Sequential or nested based on their relationship. After that, it generates the corresponding control flow graph for the input Sequence diagram. The final control flow graph is analyzed to generate a set of testing paths. Symbolic Execution (SE) technique is used to create reStrictions associated with that set of testing paths.

Finally, the method uses SMT solver to solve the set of reStrictions to find solution and then to generate a set of test cases. A tool is also implemented and tested with some simple examples in order to show the correctness and effectiveness of the method. The experimental results give us the potential application of the tool in automation testing in companies. Keywords: Model base testing, automated testing, Sequence diagram, control flow testing, Parallel threading testing, threading testing with data shared.

LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iv LỜI CAM ĐOAN Tôi xin cam đoan rằng những nghiên cứu về sinh tự động bộ kiểm thử từ biểu đồ tuần tự đƣợc trình bày trong luận văn này dƣới sự hƣớng dẫn của thầy Phạm Ngọc Hùng là của tôi. Những gì tôi viết ra không sao chép từ các tài liệu, không sử dụng các kết quả của ngƣời khác mà không trích dẫn cụ thể. Tôi xin cam đoan công cụ kiểm thử tự động tôi trình bày trong luận văn là do tôi tự phát triển, không sao chép mã nguồn của ngƣời khác. Nếu sai tôi hoàn toàn chịu trách nhiệm theo quy định của Trƣờng Đại học Công Nghệ - Đại học Quốc Gia Hà Nội.

Hà nội, ngày 10 tháng 10 năm 2016 Học viên: Nguyễn Văn Hòa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com v MỤC LỤC LỜI CẢM ƠN.iii LỜI CAM ĐOAN. iv MỤC LỤC. v DANH SÁCH BẢNG BIỂU. vii DANH SÁCH HÌNH VẼ.viii BẢNG THUẬT NGỮ VIẾT TẮT.

x Chƣơng 1: GIỚI THIỆU. 1 Chƣơng 2: CÁC KHÁI NIỆM VÀ TỔNG QUAN KIỂM THỬ DỰA TRÊN MÔ HÌNH .1 Tổng quan kiểm thử dựa trên mô hình. Khái niệm kiểm thử dựa trên mô hình. Quy trình chung của kiểm thử dựa trên mô hình.

Phƣơng pháp đặc tả mô hình bằng máy trạng thái UML. Thuận lợi và khó khăn của kiểm thử tự động dựa trên mô hình .2 Biểu đồ tuần tự và các khối phân đoạn trong UML. Biểu đồ tuần tự. Các phân đoạn sử dụng trong biểu đồ tuần tự .3 Đồ thị dòng điều khiển.

17 Chƣơng 3: PHƢƠNG PHÁP SINH ĐỒ THỊ DÒNG ĐIỀU KHIỂN TỪ BIỂU ĐỒ TUẦN TỰ.1 Điều kiện ràng buộc trong thiết kế .2 Thuật toán biến đổi biểu đồ tuần tự sang đồ thị dòng điều khiển. Thuật toán sinh đồ thị dòng điều khiển. Đồ thị dòng điều khiển tƣơng ứng với các phân đoạn. 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 Kỹ thuật sinh kịch bản kiểm thử.

Kịch bản kiểm thử cho các toán từ thông thƣờng. Kịch bản kiểm thử cho các phân đoạn song song (Par, Seq) .4 Xây dựng hệ ràng buộc .5 Giải hệ sử dụng SMT-Solver .6 Các nghiên cứu liên quan. 46 Chƣơng 4: CÔNG CỤ VÀ THỰC NGHIỆM .1 Giới thiệu công cụ và môi trƣờng thực nghiệm .3 Ý nghĩa thực nghiệm. 57 Chƣơng 5: KẾT LUẬN.

59 TÀI LIỆU THAM KHẢO. 61 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vii DANH SÁCH BẢNG BIỂU ảng 2.1 Ca kiểm thử độ bao phủ yếu .2 Ca kiểm thử độ bao phủ trung bình.3 Ca kiểm thử độ bao phủ mạnh .1 Các khóa cơ bản và ý nghĩa trong tệp xmi .2 Dữ liệu thu thập tƣơng ứng theo các nốt đƣợc nối với nhau .1 Môi trƣờng thử nghiệm công cụ sinh ca kiểm thử từ thiết kế. 49 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com viii DANH SÁCH HÌNH VẼ Hình 2.1 Qui trình kiểm thử dựa trên mô hình.2 Phân đoạn Alt.3 Phân đoạn Opt.4 Phân đoạn Loop vô hạn.5 Phân đoạn Loop với cận trên bằng cận dƣới bằng 10.6 Phân đoạn Loop với cận trên bằng 5, cận dƣới bằng 10.7 Phân đoạn Break.8 Phân đoạn Par.9 Phân đoạn Seq.10 Phân đoạn Strict.11 Phân đoạn Ignore.12 Phân đoạn Consider.13 Phân đoạn Neg.14 Phân đoạn Assert.15 Phân đoạn Critical.16 Đồ thị dòng điều khiển tƣơng ứng của phân đoạn Par.1 Thiết kế tên thông điệp.2 Thiết kế ràng buộc.3 Khai báo biến trong ràng buộc tƣơng ứng cho các lớp.4 Xóa triệt để các đối tƣợng không dùng nữa.5 Đồ thị CFG tƣơng ứng cho phân đoạn Alt.6 Đồ thị CFG tƣơng ứng cho phân đoạn Opt.7 Đồ thị CFG tƣơng ứng cho phân đoạn Loop.8 Đồ thị CFG tƣơng ứng cho phân đoạn Break.9 Đồ thị CFG tƣơng ứng cho phân đoạn Par.10 Đồ thị CFG tƣơng ứng cho phân đoạn Seq. 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ix Hình 3.11 Đồ thị CFG tƣơng ứng cho phân đoạn Ignore.12 Đồ thị CFG tƣơng ứng cho phân đoạn Consider.13 Đồ thị CFG tƣơng ứng cho phân đoạn Neg.14 Đồ thị CFG tƣơng ứng cho phân đoạn Assert.15 Đồ thị CFG tƣơng ứng cho phân đoạn Strict.16 Ví dụ cây đồ thị cần duyệt.17 Đồ thị dòng điều khiển.18 Ví dụ về ràng buộc OCL đƣợc khai báo trong thiết kế.19 Mô tả công cụ SMT Solver .1 Cấu trúc công cụ thực nghiệm.2 Đầu vào công cụ của ví dụ 1.3 Đầu ra - đồ thị CFG của ví dụ 1.4 Đồ thị CFG và ca kiểm thử độ bao phủ yếu cho ví dụ 1.5 Ca kiểm thử độ bao phủ yếu cho ví dụ 1.6 Ca kiểm thử độ bao phủ trung bình cho ví dụ 1.7 Dữ liệu kiểm thử sau khi xuất ra tệp MS Excel .8 Đầu vào của ví dụ 2.9 Đầu ra đồ thị CFG cho ví dụ 2.10 Ca kiểm thử độ bao phủ yếu cho ví dụ 2.11 Ca kiểm thử độ bao phủ trung bình cho ví dụ 2.12 Ca kiểm thử độ bao phủ mạnh cho ví dụ 2.13 Đƣờng đi tƣơng ứng của một ca kiểm thử độ bao phủ mạnh của ví dụ 2.

57 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ