1. Trang chủ
  2. » Thể loại khác

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

74 19 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 1,8 MB

Nội dung

ĐẠ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 47 nghiên cứu tìm đƣờng kiểm thử tốt tức đƣờng kiểm thử bao phủ đƣợc nhiều tình xảy trƣớc kết thúc ca kiểm thử Vì vây, liệu kiểm thử đƣợc đƣ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 đƣợc 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 nhƣ 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 đƣợ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ơng có 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 tốn tử song song có chứa điểm chia sẻ liệu  Sinh đồ 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ử 48 Chƣơng 4: CÔNG CỤ VÀ 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 tơi giới thiệu công cụ sinh kiểm thử dựa mô hình, phần mềm đƣợc 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ụ đƣợ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ụ đƣợ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 đồ đƣợc thiết kế phần mềm Enterprise Architect phần mềm chuyên dụng đƣợc 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 q trình kiểm thử Qua q trình phân tích, liệu từ tệp xmi đƣợc 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) 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ử khơng 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) 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 đƣợ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 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ụ 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 tố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ả q 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ụ 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ụ nhƣ 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 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 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ƣớ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 tốn kết mong muốn ca kiểm thử cần có can thiệp chun 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 Hồ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]

Ngày đăng: 23/09/2020, 23:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiế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 bản ĐH Quốc Gia HN Sách, tạp chí
Tiêu đề: Giáo trình kiểm thử phần mềm
Tác giả: Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng
Nhà XB: Nhà xuất bản ĐH Quốc Gia HN
Năm: 2014
[2]. Nguyễn Đức Anh (2015), “Phương pháp và công cụ hỗ trợ kiểm thử tự động các đơ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 Sách, tạp chí
Tiêu đề: Phương pháp và công cụ hỗ trợ kiểm thử tự động các đơn vị chương trình C
Tác giả: Nguyễn Đức Anh
Năm: 2015
[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 Sách, tạp chí
Tiêu đề: Automatic Test Data Synthesis using UML Sequence Diagrams
Tác giả: Ashalatha Nayak, Debasis Samanta
Năm: 2010
[5]. http://www.uml-diagrams.org/sequence-diagrams-combined-fragment.html [6]. A.V.K. Shanthi and G. Mohan Kumar (2012), “Automated Test CasesGeneration from UML Sequence Diagram”, IPCSIT vol. 41 © (2012) IACSIT Press, Singapore Sách, tạp chí
Tiêu đề: Automated Test Cases Generation from UML Sequence Diagram
Tác giả: http://www.uml-diagrams.org/sequence-diagrams-combined-fragment.html [6]. A.V.K. Shanthi and G. Mohan Kumar
Năm: 2012
[7]. Mark Utting and runo Legeard, “Practical Model-Based Testing: A Tools Approach” Morgan Kaufmann, 2006, pp 6-10 Sách, tạp chí
Tiêu đề: Practical Model-Based Testing: A Tools Approach
[8]. El-Far I. K. and Whittaker J.A (2002), “Model-based software testing”, Encyclopedia of Software Engineering, pp. 825-837 Sách, tạp chí
Tiêu đề: Model-based software testing”, "Encyclopedia of Software Engineering
Tác giả: El-Far I. K. and Whittaker J.A
Năm: 2002
[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 Sách, tạp chí
Tiêu đề: Test Case Generation by means of UML Sequence Diagrams and Labeled Transition Systems
[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 Sách, tạp chí
Tiêu đề: Test Case automate Generation from UML Sequence diagram and OCL Expression”, "International Conference on Computational Intelligence and Security 2007
[3]. Vũ Thị Đào, Phạm Ngọc Hùng, Vũ Việt Hà, Automated Test Data Generation From Sequence_OCL Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w