ĐẠ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 ĐẠ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 TS PHẠM NGỌC HÙNG HÀ NỘI – 2016 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 Prof., PHAM NGOC HUNG, PhD HÀ NỘI – 2016 i LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành 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 đỡ động viên tơi nhiều, cho tơi có hội đƣợc tiếp xúc với tài liệu tham khảo quý giá, góp ý cho tơi lời khun chân thành q trình nghiên cứu để hồn thành đề tài Tiếp theo xin gửi lời cảm ơn đến thầy cô giảng viên Trƣờng Đại học Công Nghệ - Đại học Quốc Gia Hà Nội – ngƣời tận tâm truyền đạt kiến thức quý báu làm tảng cho suốt năm học Cuối cùng, xin gửi lời biết ơn sâu sắc tới gia đình ln bên cạnh tơi, mang lại cho nguồn động viên tinh thần to lớn tạo điều kiện thuận lợi cho trình học tập hồn thành luận văn Với luận văn mong nhận đƣợc ý kiến đóng góp từ Thầy, Cơ giáo bạn quan tâm để hoàn thiện phát triển nhiều phƣơng pháp 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 ii TĨM TẮT Luận văn trình bày phƣơng pháp nghiên cứu tự động hóa q trình kiểm thử dự án phần mềm từ biểu đồ UML 2.0 Hƣớng nghiên cứu dựa lý thuyết kiểm thử dựa mô hình Mục tiêu đề tự động hóa q trình kiểm thử, nâng cao hiệu kiểm thử, tiết kiệm chi phí thời gian phát triển dự án Phƣơng pháp đƣợc đề xuất với nội dung nhƣ sau Đầu vào biểu đồ 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 cách bóc tách thơng điệp, toán tử ràng buộc đƣợc đƣa vào 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 tốn dị tìm, thuật tốn sinh ca kiểm thử cho tốn tử song song có điểm chia sẻ liệu tìm đƣờng từ điểm bắt đầu điểm kết thúc gọi đƣờng kiểm thử Tập đƣờng kiểm thử đƣợc chia tƣơng ứng thành cấp độ kiểm thử khác Các ràng buộc đƣờng đƣợc thu thập giải lấy kết dựa công cụ SMT solver kết hợp phƣơng pháp sinh ngẫu nhiên Kết thu đƣợc sau giải hệ đầu vào cho ca kiểm thử tƣơng ứng Cuối trích xuất tệp excel ca kiểm thử theo độ bao phủ dùng cho kiểm thử thiết kế Để kiểm nghiệm mức độ khả thi phƣơng pháp, công cụ hỗ trợ đƣợc cài đặt thử nghiệm với số ví dụ đơn giản nhằm minh chứng cho tính đắn hiệu phƣơng pháp Kết thực nghiệm cho thấy hiệu ca kiểm thử khả quan để áp dụng cho công ty phát triển phần mềm Từ khóa: Kiểm thử dựa 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ẻ liệu luồng song song iii ABSTRACT The content of this thesis is research and propose a method to generate a set of test cases from the UML 2.0 Sequence diagrams 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 iv LỜI CAM ĐOAN Tôi xin cam đoan nghiên cứu sinh tự động kiểm thử từ biểu đồ đƣợc trình bày luận văn dƣới hƣớng dẫn thầy Phạm Ngọc Hùng Những tơi viết khơng chép từ tài liệu, không sử dụng kết 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 luận văn tự phát triển, không chép mã nguồn ngƣời khác Nếu sai hoàn toàn chịu trách nhiệm theo quy định 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 v MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii ABSTRACT 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 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 mơ hình 2.1.1 Khái niệm kiểm thử dựa mơ hình 2.1.2 Quy trình chung kiểm thử dựa mơ hình 2.1.3 Phƣơng pháp đặc tả mơ hình máy trạng thái UML 2.1.4 Thuận lợi khó khăn kiểm thử tự động dựa mơ hình 2.2 Biểu đồ khối phân đoạn UML 2.2.1 Biểu đồ 2.2.2 Các phân đoạn sử dụng biểu đồ 2.3 Đồ thị dòng điều khiển 16 2.4 Các độ đo kiểm thử 17 Chƣơng 3: PHƢƠNG PHÁP SINH ĐỒ THỊ DÒNG ĐIỀU KHIỂN TỪ BIỂU ĐỒ TUẦN TỰ 20 3.1 Điều kiện ràng buộc thiết kế 20 3.2 Thuật toán biến đổi biểu đồ sang đồ thị dòng điều khiển 24 3.2.1 Thuật tốn sinh đồ thị dịng điều khiển 24 3.2.2 Đồ thị dòng điều khiển tƣơng ứng với phân đoạn 29 vi 3.3 Kỹ thuật sinh kịch kiểm thử 37 3.3.1 Kịch kiểm thử cho tốn từ thơng thƣờng 37 3.3.2 Kịch kiểm thử cho phân đoạn song song (Par, Seq) 42 3.4 Xây dựng hệ ràng buộc 44 3.5 Giải hệ sử dụng SMT-Solver 45 3.6 Các nghiên cứu liên quan 46 Chƣơng 4: CÔNG CỤ VÀ THỰC NGHIỆM 48 4.1 Giới thiệu công cụ môi trƣờng thực nghiệm 48 4.2 Thực nghiệm 50 4.3 Ý nghĩa thực nghiệm 57 Chƣơng 5: KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 61 vii DANH SÁCH BẢNG BIỂU ảng 2.1 Ca kiểm thử độ bao phủ yếu 18 ảng 2.2 Ca kiểm thử độ bao phủ trung bình 18 ảng 2.3 Ca kiểm thử độ bao phủ mạnh 19 ảng 3.1 Các khóa ý nghĩa tệp xmi 24 ảng 3.2 Dữ liệu thu thập tƣơng ứng theo nốt đƣợc nối với 39 ảng 4.1 Môi trƣờng thử nghiệm công cụ sinh ca kiểm thử từ thiết kế 49 Hình 4.1 Cấu trúc cơng cụ thực nghiệm 49 Đƣờng kiểm thử đặc tả xác hoạt động đồ thị dịng điều khiển nhƣ biểu đồ đƣợc thiết kế UML Chúng ta bóc tách đƣợc liệu từ tệp xmi biến đổi sinh hệ ràng buộc đầu vào công cụ SMT-Solver Hệ ràng buộc đƣợc giải để sinh liệu kiểm thử cho ca kiểm thử tƣơng ứng Bộ kiểm thử đƣợc dùng để kiểm tra xem việc lập trình có với thiết kế hay khơng đồng thời kiểm tra tính đắn thiết kế Nếu hệ ràng buộc đƣợc giải cho kết vơ nghiệm đặc tả hay thiết kế sai, ràng buộc có mâu thuẫn dẫn tới ca kiểm thử tồn Điều nói lên chƣơng trình (ca sử dụng) không đƣợc thực thi nhƣ mã nguồn đƣợc tạo với thiết kế Trong trƣờng hợp thu đƣợc kết từ việc giải hệ ràng buộc đƣờng kiểm thử, kết đƣợc dùng làm liệu đầu vào ca kiểm thử thực thi Kết đầu đƣợc so sánh với kết mong đợi Nếu kết đầu khác với kết mong đợi cho thấy thiết kế sai có lỗi Nếu kết đầu với kết mong đợi cho thấy thiết kế đảm bảo tính đắn so với đặc tả hệ thống Dƣới công đoạn hoạt động cơng cụ: Sinh đồ thị dịng điều khiển chuyển đổi tƣơng ứng biểu đồ Sinh kịch kiểm thử từ đồ thị dòng điều khiển Sinh liệu kiểm thử tƣơng ứng cho ca kiểm thử Lƣu giữ kịch tệp excel phục vụ cho trình kiểm thử ảng 4.1 Mơi trƣờng thử nghiệm cơng cụ sinh ca kiểm thử từ thiết kế Vi xử lý ộ nhớ vật lý (RAM) Hệ điều hành Phiên IDE Phiên Java Công cụ ATDS đƣợc phát triển tảng Java đƣợc thiết kế để hoạt động môi trƣờng window Công cụ sử dụng đầu vào biểu đồ lƣu trữ dƣới định dạng xmi Với giao diện trực quan, công cụ cho phép vẽ đồ thị dòng điều khiển hiển thị hình Đồ thị dịng điều khiển dẫn xuất biến đổi tƣơng ứng từ biểu đồ theo qui luật biến đổi đƣợc đề xuất chƣơng Sau vẽ đồ thị dòng điều khiển, 50 cơng cụ tìm kiếm thực thi tất đƣờng kiểm thử qua để sinh ca kiểm thử liệu kiểm thử tƣơng ứng cho ca kiểm thử Các ca kiểm thử đƣợc sinh theo cấp độ kiểm thử trình bày chƣơng phần 2.4 Ngƣời dùng chọn vào ca kiểm thử để kiểm tra đƣờng Đƣờng ca kiểm thử đƣợc hiển thị trực tiếp đồ thị dòng điều khiển tƣơng ứng với ca kiểm thử đƣợc chọn Cuối cùng, sau hoàn thành tất khâu, ngƣời dùng thực xuất tệp excel để phục vụ cho mục đích kiểm thử Bảng 4.1 trình bày thông số môi trƣờng thực nghiệm công cụ 4.2 Thực nghiệm Ví dụ 1: Bài tốn: Phân loại học sinh theo thang điểm ƣớc 1: Truy cập điểm học sinh ƣớc 2: Kiểm tra điểm học sinh phân loại (Yếu, Trung Bình, Tốt) ƣớc 3: Trả phân hạng học sinh Hình 4.2 Đầu vào cơng cụ ví dụ 51 Đầu ra: Đồ thị dịng điều khiển - Hình 4.3: nốt DN nốt biến đổi tƣơng ứng phân đoạn alt (bắt đầu phân đoạn) Nốt JN nốt kết thúc phân đoạn alt Các nốt lại (BN) biến đổi tƣơng ứng thông điệp thơng thƣờng Hình 4.3 Đầu - đồ thị CFG ví dụ Ca kiểm thử độ bao phủ yếu – Hình 4.4: bao gồm ca kiểm thử đồ thị dịng điều khiển chứa nốt định Sau duyệt đƣờng thứ thỏa mãn điều kiện qua tất nốt định rẽ nhánh đồ thị thuật toán dừng lại cho kết ca kiểm thử độ bao phủ yếu 52 Hình 4.4 Đồ thị CFG ca kiểm thử độ bao phủ yếu cho ví dụ Hình 4.5 Ca kiểm thử độ bao phủ yếu cho ví dụ Ca kiểm thử mức độ bao phủ trung bình – Hình 4.6: gồm ba ca kiểm thử tƣơng ứng với ba nhánh nốt định cần phải qua Hình 4.6 Ca kiểm thử độ bao phủ trung bình cho ví dụ Ghi chú: Vì tốn khơng dùng tới tốn tử song song nên khơng có ca kiểm thử mức độ mạnh (mức độ trung bình đƣợc xem mạnh cho ví dụ này) Các ca kiểm thử đƣợc xuất file excel dùng cho kiểm thử 53 Hình 4.7 Dữ liệu kiểm thử sau xuất tệp MS Excel Ví dụ 2: Bài toán chuyển khoản - quản lý tài khoản ngân hàng Đầu vào cơng cụ - Hình 4.8: miêu tả trình quản lý tài khoản ngân hàng, thực nhiều thao tác khác tới tài khoản cho phép thực đồng thời việc gửi tiền, rút tiền, kiểm tra tài khoản, chuyển tiền từ tài khoản sang tài khoản tiết kiệm ngƣợc lại Các bƣớc công việc cụ thể đƣợc mô tả nhƣ sau: Khởi tạo hai luồng song song truy cập vào tài khoản Luồng 1: - Truy nhập tài khoản luồng Chuyển tiền từ tài khoản sang tài khoản tiết kiệm Kiểm tra số dƣ tài khoản Kiểm tra số dƣ tài khoản tiết kiệm - Truy nhập tài khoản luồng Tất toán tiền từ tài khoản tiết kiệm sang tài khoản Chuyển tiền sang tài khoản tiết kiệm (lặp) Kiểm tra số dƣ tài khoản Luồng 2: 54 Hình 4.8 Đầu vào ví dụ Đầu ra: Đồ thị CFG - Hình 4.9: Ứng với phân đoạn Par biểu đồ nốt FN chia hai nhánh hoạt động song song Vòng lặp phân đoạn Loop biểu đồ tƣơng ứng với nốt DN đồ thị CFG Thoát khỏi phân đoạn Par kết thúc chu trình hoạt động tƣơng ứng với nốt JN đồ thị Hình 4.9 Ca kiểm thử tƣơng ứng theo độ đo kiểm thử (Hình 4.10, 4.11 4.12) Trong Hình 4.10 hiển thị tất ca kiểm thử độ đo kiểm thử yếu Tất nốt định, nốt rẽ nhánh đồ thị dòng điều khiển đƣợc qua lần Các ca kiểm thử độ bao phủ yếu (2 ca kiểm thử): TC1: Start-DC-M1-M2-M3-M4-JN TC2: Start-DC-M5-M6-DC-M7-DC-M8-JN Vì thuật tốn duyệt lần lƣợt đƣờng đồ thị CFG, điều kiện độ bao phủ yếu đƣợc thỏa mãn sau lần duyệt Các ca kiểm thử độ bao phủ trung bình (3 ca kiểm thử): TC1: Start-DC-M1-M2-M3-M4-JN TC2: Start-DC-M5-M6-DC-M7-DC-M8-JN TC3: Start-DC-M5-M6-DC-M8-JN 55 Hình 4.9 Đầu đồ thị CFG cho ví dụ Ca kiểm thử độ bao phủ yếu – Hình 4.10: Hình 4.10 Ca kiểm thử độ bao phủ yếu cho ví dụ 56 Ca kiểm thử độ bao phủ trung bình – Hình 4.11: Hình 4.11 Ca kiểm thử độ bao phủ trung bình cho ví dụ Ca kiểm thử độ bao phủ mạnh – Hình 4.12: Hình 4.12 Ca kiểm thử độ bao phủ mạnh cho ví dụ Ngồi ca kiểm thử độ bao phủ yếu ca kiểm thử độ bao phủ trung bình, ca kiểm thử độ bao phủ mạnh dành riêng cho trƣờng hợp đồ thị có chứa nốt có điểm chia sẻ liệu Cụ thể ca kiểm thử độ bao phủ mạnh ví dụ nhƣ sau: TC1: M2 M5 có chia sẻ liệu Start-DC-M1-M2M5-M3-M4-M6-DC-M7-DC-M8-JN TC2: M3 M5 có chia sẻ liệu Start-DC-M1-M2-M3-M5-M4-M6DC-M7-DC-M8-JN TC3: M4 M5 có chia sẻ liệu 57 Start-DC-M1-M2-M3-M4-M5-M6-DC-M7-DC-M8-JN Hình 4.13 Đƣờng tƣơng ứng ca kiểm thử độ bao phủ mạnh ví dụ Hình 4.13 biểu diễn đƣờng tƣơng ứng ca kiểm thử mạnh Ca kiểm thử không tuân theo qui luật đƣờng đồ thị CFG mà có chuyển đổi nốt có trao đổi liệu nhánh khác Theo đó, đƣờng đƣợc miêu tả Hình 4.13 theo thứ tự nốt nhƣ sau: Start – FN – M1 – M2 – M3 – M5 – M4 – M6 – DN – M7 – DN – M8 – JN – End 4.3 Ý nghĩa thực nghiệm Thực thi thành công công cụ kiểm thử tự động từ biểu đồ thiết kế chứng chứng minh tính khả dụng khả áp dụng thực tế cho phƣơng pháp kiểm thử dựa mơ hình Hiện kiểm thử dựa mơ hình xu hƣớng nghiên cứu cải tiến thúc đẩy qui trình kiểm thử phần mềm nói chung kiểm thử tự động nói riêng Bằng phƣơng pháp này, cơng ty phần mềm tiến hành kiểm thử từ khâu thiết kế, sinh ca kiểm thử tự động với độ bao phủ theo tùy ý theo mức độ mong muốn Hiệu kiểm thử đƣợc chứng minh vƣợt trội so với phƣơng pháp khác nhƣ kiểm thử ngẫu nhiên Giúp tiết kiệm thời gian phát triển dự án phần mềm, tiết kiệm nhân lực 58 So với nghiên cứu khác, chƣơng trình thực nghiệm sử dụng đầu vào biểu đồ thiết kế thực tế mà công ty phần mềm phải thực Từ tiến hành bƣớc kiểm thử với ba độ đo kiểm thử khác tùy thuộc thời gian phát triển dự án Ở độ đo kiểm thử độ bao phủ mạnh, công cụ mang lại hiệu cao xét tới trƣờng hợp luồn song song có chứa điểm chia sẻ liệu Việc biểu diễn trực quan đồ thị dòng điều khiển với đƣờng kiểm thử giúp kiểm thử viên quan sát trực tiếp kịch mà phần mềm thực thi Dữ liệu kiểm thử đƣợc sinh tự động Dù số hạn chế kiểu liệu đầu vào nhƣng nghiên cứu tiền đề để mở rộng, áp dụng phƣơng pháp giải khác cho kiểu liệu mảng, chuẫn kí tự, v.v hồn thành chu trình kiểm thử kín khâu thiết kế 59 Chƣơng 5: KẾT LUẬN Kiểm thử công đoạn quan trọng trình phát triển phần mềm phƣơng pháp kiểm thử yếu tố định đến hiệu việc kiểm thử Rút ngắn thời gian hoàn thành dự án, tăng hiệu khả phát lỗi yêu cầu hàng đầu kiểm thử Hƣớng tới mơ hình phát triển phần mềm mơi trƣờng công nghiệp với đầy đủ khâu thiết kế phát triển phần mềm cách bản, nghiên cứu đƣa phƣơng án hồn thiện kiểm thử dựa mơ hình Sử dụng đầu vào sẵn có biểu đồ lƣu trữ dƣới dạng tệp xmi Bài nghiên cứu đề xuất phƣơng pháp sinh ca kiểm thử tự động với hiệu kiểm thử tƣơng đƣơng với kiểm thử hộp trắng dựa biểu đồ CFG Tuy nhiên, lỗi đƣợc phát giai đoạn sớm nên mang lại hiệu cao xét kinh tế thời gian phát triển dự án Một lần nữa, nội dung nghiên cứu trình bày nét kiểm thử dựa mơ hình Vận dụng đề xuất phƣơng pháp sinh ca kiểm thử tự động từ biểu đồ ràng buộc OCL Đầu toán đồ thị trực quan CFG ca kiểm thử đƣợc chia làm mức độ Trong mức độ kiểm thử tối ƣu cho phép phát lỗi với thiết kế có nhiều luồng chạy song song có điểm chia sẻ liệu Đây ƣu điểm lớn lỗi thƣờng phát sinh trƣờng hợp sử lí song song (khi có nhiều tác tử tƣơng tác tới đối tƣợng hay biến chƣơng trình) Cơng cụ thực nghiệm cho thấy tính khả thi khả áp dụng thực tế phƣơng pháp Hƣớng phát triển Phần trình bày phƣơng pháp dừng lại việc sinh ca kiểm thử tự động Tối ƣu hiệu ca kiểm thử Việc tính toán kết mong muốn ca kiểm thử cần có can thiệp chuyên gia Để tự động hóa tồn qui trình cần có kết hợp nhiều giai đoạn kiểm thử để so sánh đối chiếu kết sau ca kiểm thử Ví dụ, với ca kiểm thử dựa mã nguồn, mã nguồn đƣợc xây dựng từ thiết kế đƣợc kiểm duyệt Việc tính tốn kết mong đợi cần có can thiệp chuyên gia để đảm bảo tính khách quan tính tốn Dựa yếu tố này, xây dựng qui trình kiểm thử kết hợp kiểm thử mơ hình kiểm thử mã nguồn để so sánh đối chiếu kết với liệu đầu vào Cả hai trình đƣợc thực tự động tách biệt nên đảm bảo tính khách quan mà kết mang lại Chỉ ca kiểm thử cho kết khác cần kiểm tra lại tìm kết đắn Hƣớng nghiên cứu kết hợp phƣơng pháp với giai đoạn kiểm thử khác để tối ƣu hóa hiệu kiểm thử Đề xuất kết hợp với giai đoạn kiểm 60 thử sau có mã nguồn để so sánh kết kiểm thử Tự động hóa qui trình sinh kết mong muốn từ kết hợp hai phƣơng pháp Phát triển thay công cụ giải hệ để giải đƣợc với tất loại liệu đầu vào nhƣ kí tự, chuỗi kí tự 61 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Phạm Ngọc Hùng, Trƣơng Anh Hoàng, Đặng Văn Hƣng (2014), “Giáo trình kiểm thử phần mềm”, Nhà xuất ĐH Quốc Gia HN [2] Nguyễn Đức Anh (2015), “Phƣơng pháp công cụ hỗ trợ kiểm thử tự động đơn vị chƣơng trình C”, Khóa luận tốt nghiệp Đại học, Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội Tiếng Anh [3] Vũ Thị Đào, Phạm Ngọc Hùng, Vũ Việt Hà, Automated Test Data Generation From Sequence_OCL [4] Ashalatha Nayak, Debasis Samanta (2010), “Automatic Test Data Synthesis using UML Sequence Diagrams”, in Journal of Object Technology , vol 09, no 2, March 2010, pp 75-104 [5] http://www.uml-diagrams.org/sequence-diagrams-combinedfragment.html [6] A.V.K Shanthi and G Mohan Kumar (2012), “Automated Test Cases Generation from UML Sequence Diagram”, IPCSIT vol 41 © (2012) IACSIT Press, Singapore [7] Mark Utting and runo Legeard, “Practical Model-Based Testing: A Tools Approach” Morgan Kaufmann, 2006, pp 6-10 [8] El-Far I K and Whittaker J.A (2002), “Model-based software testing”, Encyclopedia of Software Engineering, pp 825-837 [9] Emanuela G Cartaxo, Francisco G O Neto and Patr´ıcia D L Machado, "Test Case Generation by means of UML Sequence Diagrams and Labeled Transition Systems", IEEE 2007 [10] Li Bao-Lin, Li Zhi-shu, Li Qing, Chen Yan Hong , “Test Case automate Generation from UML Sequence diagram and OCL Expression”, International Conference on Computational Intelligence and Security 2007, pp 1048-1052 ... 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... Sinh liệu kiểm thử tự động từ biểu đồ UML ràng buộc OCL Ashalatha Nayak Debasis Samanta [4] Sinh ca kiểm thử từ biểu đồ hệ thống chuyển đổi đƣợc gắn nhãn Emanuela G Cartaxo [9] Sinh ca kiểm thử. .. mềm Giai đoạn kiểm thử thiết kế (kiểm thử dựa mơ hình) chủ yếu tập trung vào ca kiểm thử đƣợc sinh từ đƣờng kiểm thử dựa đồ thị hoạt động sinh liệu kiểm thử từ liệu đầu vào thiết kế từ đặc tả chƣơng