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

73 439 0
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

Đ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Ệ 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 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 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 nhiều, cho có hội tiếp xúc với tài liệu tham khảo quý giá, góp ý cho lời khuyên chân thành trình nghiên cứu để hoà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 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 hoàn thành luận văn Với luận văn mong nhận ý 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 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 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 đề xuất với nội dung sau Đầu vào biểu đồ UML 2.0 lưu giữ 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 đư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 toán tìm, thuật toán sinh ca kiểm thử cho toá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ử chia tương ứng thành cấp độ kiểm thử khác Các ràng buộc đường 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 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à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 đồ trình bày luận văn hướng dẫn thầy Phạm Ngọc Hùng Những 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 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 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 toá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ử 36 3.3.1 Kịch kiểm thử cho toán từ thông thường 36 3.3.2 Kịch kiểm thử cho phân đoạn song song (Par, Seq) 41 3.4 Xây dựng hệ ràng buộc 43 3.5 Giải hệ sử dụng SMT-Solver 44 3.6 Các nghiên cứu liên quan 45 Chương 4: CÔNG CỤ THỰC NGHIỆM 47 4.1 Giới thiệu công cụ môi trường thực nghiệm 47 4.2 Thực nghiệm 49 4.3 Ý nghĩa thực nghiệm 56 Chương 5: KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 60 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 nối với 38 ảng 4.1 Môi trường thử nghiệm công cụ sinh ca kiểm thử từ thiết kế 48 46 nghiên cứu tìm đường kiểm thử tốt tức đường kiểm thử bao phủ nhiều tình xảy trước kết thúc ca kiểm thử Vì vây, liệu kiểm thử đưa vào ban đầu ngẫu nhiên, sau biến đổi tương ứng (thực chéo thực đột biến) lặp lại tất đường dẫn tin nhắn bao phủ Phương pháp đề xuất cách thực cho thông điệp biểu đồ Chưa đề cập, nghiên cứu thực biến đổi với phân đoạn biểu đồ Sinh liệu kiểm thử tự động từ biểu đồ UML ràng buộc OCL Ashalatha Nayak Debasis Samanta [4] Phương pháp đề xuất cách sinh liệu kiểm thử từ thông tin, ràng buộc đính kèm thiết kế biểu đồ lớp, biểu đồ ràng buộc OCL Cũng với đầu vào biểu đồ sinh đồ thị dòng điều khiển, sinh ca kiểm thử cuối liệu kiểm thử Vì tập trung vào phương pháp sinh liệu kiểm thử nên phương pháp chưa giải triệt để toán biến đổi từ biểu đồ sang đồ thị dòng điều khiển (mới đề xuất phương pháp cho 5/12 phân đoạn biểu đồ tuần tự) Phương pháp sinh liệu kiểm thử hạn chế liệu số đơn giản, khả mở rộng sang loại liệu khác Ngoài ra, tác giả nghiên cứu dừng lại nghiên cứu lý thuyết mà chưa tiến hành thực nghiệm để chứng minh tính khả thi đề xuất Dựa vào vấn đề mà nghiên cứu khác chưa làm được, nghiên cứu đề xuất phương pháp sinh ca kiểm thử liệu kiểm thử tự động từ biểu đồ UML với ưu điểm:  Đề xuất có thực nghiệm phương pháp sinh ca kiểm thử liệu kiểm thử từ biểu đồ Phương pháp có khả áp dụng thực tế cao với 11/12 phân đoạn thiết kế biểu đồ thực  Đề xuất phương pháp sinh ca kiểm thử theo ba mức độ với hiệu kiểm thử cao độ đo kiểm thử bao phủ mạnh Bao gồm việc sinh ca kiểm thử cho toán tử song song có chứa điểm chia sẻ liệuSinh đồ thị dòng điều khiển thực quan giúp dễ dàng kiểm tra thao tác trình kiểm thử 47 Chương 4: CÔNG CỤ THỰC NGHIỆM Để kiểm tra tính đắn, tính khả thi nghiên cứu, khả áp dụng thực tế hiệu lập trình so với thiết kế Chương giới thiệu công cụ sinh kiểm thử dựa mô hình, phần mềm gọi Automation Test Data Synthesis (gọi tắt ATDS) nhằm mục đích kiểm tra lập trình có với thiết kế hay không Công cụ phát triển Eclipse, ngôn ngữ sử dụng java, chạy hệ điều hành Windows 7/8/10 Kiến trúc nguyên lý hoạt động hướng phát triển công cụ trình bày phần từ 4.1 đến 4.4 4.1 Giới thiệu công cụ môi trường thực nghiệm Hình 4.1 biểu diễn cấu trúc công cụ thực nghiệm luận văn iểu đồ thiết kế phần mềm Enterprise Architect phần mềm chuyên dụng dùng phổ biến công ty ngày Phần mềm có hỗ trợ tính xuất tệp xmi sau thiết kế Tệp xmi liệu đầu vào dùng để nghiên cứu suốt trình kiểm thử Qua trình phân tích, liệu từ tệp xmi chuyển đổi để sinh đồ thị dòng điều khiển Từ đồ thị dòng điều khiển áp dụng kỹ thuật quét theo chiều sâu để sinh đường kiểm thử ca kiểm thử tương ứng JRE System Library Jeval Library Jxl Library Swing2swt Linary OUTPUT UML Sequence diagram XMI File Write JAVA source code Execution Enterprise Architect Software Module SMT Solve Z3 ATDS (Automation Test Data Synthesis) Hình 4.1 Cấu trúc công cụ thực nghiệm Test coverage Test case (excel file) 48 Đường kiểm thử đặc tả xác hoạt động đồ thị dòng điều khiển biểu đồ thiết kế UML Chúng ta bóc tách 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 giải để sinh liệu kiểm thử cho ca kiểm thử tương ứng Bộ kiểm thử 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 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 thực thi mã nguồn tạo với thiết kế Trong trường hợp thu kết từ việc giải hệ ràng buộc đường kiểm thử, kết dùng làm liệu đầu vào ca kiểm thử thực thi Kết đầu 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) Intel(R) Core(TM) i3/i7-2120 CPU @ 3.30GHz, 3300 Mhz, Core(s), Logical Processor(s) 4GB Hệ điều hành Microsoft Windows 10 Professional Phiên IDE Eclipse Java EE IDE Version 4.5.1 Phiên Java Platform 1.8 _ Product 1.8.0_56 Công cụ ATDS phát triển tảng Java 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ữ đị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 đề xuất chương Sau vẽ đồ thị dòng điều khiển, 49 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ử 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ử hiển thị trực tiếp đồ thị dòng điều khiển tương ứng với ca kiểm thử 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 toá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ụ 50 Đầ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 51 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ì toán không dùng tới toán tử song song nên ca kiểm thử mức độ mạnh (mức độ trung bình xem mạnh cho ví dụ này)  Các ca kiểm thử xuất file excel dùng cho kiểm thử 52 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ể mô tả 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ố tài khoản Kiểm tra số 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ố tài khoản Luồng 2: 53 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 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 toán duyệt đường đồ thị CFG, điều kiện độ bao phủ yếu 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 54 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ụ 55  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ụ Ngoà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ụ sau: TC1: M2 M5 có chia sẻ liệu Start-DC-M1-M2-M5-M3-M4-M6-DC-M7-DC-M8-JN TC2: M3 M5 có chia sẻ liệu Start-DC-M1-M2-M3-M5-M4-M6-DC-M7-DC-M8-JN TC3: M4 M5 có chia sẻ liệu 56 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 miêu tả Hình 4.13 theo thứ tự nốt 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ử chứng minh vượt trội so với phương pháp khác 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 57 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ử sinh tự động số hạn chế kiểu liệu đầu vào 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 hoàn thành chu trình kiểm thử kín khâu thiết kế 58 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 hoà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ạ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 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ử 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 toà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 xây dựng từ thiết kế kiểm duyệt Việc tính toán kết mong đợi cần có can thiệp chuyên gia để đảm bảo tính khách quan tính toá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 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 59 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 với tất loại liệu đầu vào kí tự, chuỗi kí tự 60 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 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-combined-fragment.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 [3] ... 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... [6] 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 gắn nhãn Emanuela G Cartaxo [9] Sinh ca kiểm thử tự. .. 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ử 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

Ngày đăng: 06/03/2017, 14:18

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan