Áp dụng kĩ thuật khai phá dữ liệu cho phân lớp các ca kiểm thử phần mềm

56 47 0
Áp dụng kĩ thuật khai phá dữ liệu cho phân  lớp các ca kiểm thử phần mềm

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - LÊ LÊ NA ÁP DỤNG KĨ THUẬT KHAI PHÁ DỮ LIỆU CHO PHÂN LỚP CÁC CA KIỂM THỬ PHẦN MỀM LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2019 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG - LÊ LÊ NA ÁP DỤNG KĨ THUẬT KHAI PHÁ DỮ LIỆU CHO PHÂN LỚP CÁC CA KIỂM THỬ PHẦN MỀM Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS.TS TRẦN ĐÌNH QUẾ HÀ NỘI - 2019 i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng Các số liệu, kết luận văn trung thực chưa công bố nghiên cứu khác Hà Nội, ngày tháng Tác giả luận văn Lê Lê Na năm ii LỜI CẢM ƠN Để hồn thành luận văn thạc sĩ cách hoàn chỉnh, bên cạnh nỗ lực thân phần quan trọng hướng dẫn hỗ trợ nhiệt tình q Thầy Cơ ủng hộ động viên tinh thần gia đình bạn bè, đồng nghiệp suốt thời gian học tập nghiên cứu thực luận văn thạc sĩ Tơi xin trân trọng bày tỏ lịng biết ơn sâu sắc tới PGS.TS Trần Đình Quế, người hết lịng giúp đỡ tạo điều kiện tốt cho tơi hồn thành luận văn Xin chân thành bày tỏ lịng biết ơn đến tồn thể q Thầy Cơ Khoa Công nghệ thông tin Khoa Sau đại học Học viện Cơng nghệ Bưu Viễn thơng tận tình truyền đạt kiến thức quý báu tạo điều kiện thuận lợi cho suốt trình học tập nghiên cứu thực đề tài luận văn Tôi xin chân thành cảm ơn đồng nghiệp công ty tạo điều kiện để tiến hành nghiên cứu, cung cấp thông tin đầy đủ trung thực cho nghiên cứu này, tạo điều kiện, quan tâm động viên tơi hồn thành luận văn Cuối cùng, tơi xin chân thành cảm ơn đến gia đình, anh chị bạn đồng nghiệp hỗ trợ cho tơi nhiều suốt q trình học tập, nghiên cứu thực đề tài luận văn thạc sĩ cách hoàn chỉnh Hà Nội, ngày tháng Tác giả luận văn Lê Lê Na năm iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC BẢNG v DANH MỤC HÌNH VÀ BIỂU ĐỒ vi MỞ ĐẦU CHƯƠNG 1: KHAI PHÁ DỮ LIỆU VÀ BÀI TOÁN PHÂN LỚP CÁC CA KIỂM THỬ 1.1 Khai phá liệu 1.1.1 Tại lại cần khai phá liệu 1.1.2 Khái niệm 1.1.3 Quá trình khai phá liệu: 1.1.4 Các tốn thơng dụng Khai phá liệu: 1.2 Kỹ thuật kiểm thử phần mềm 1.2.1 Một số phương thức thiết kế kiểm thử 1.2.2 Ví dụ thử nghiệm 1.3 Kết luận CHƯƠNG 2: PHÂN LỚP DỮ LIỆU DỰA TRÊN NAIVE BAYES VÀ CÂY QUYẾT ĐỊNH J48 10 2.1 Kỹ thuật Naive Bayes cho phân lớp liệu 10 2.1.1 Một số khái niệm 10 2.1.2 Kỹ thuật Naïve Bayes 11 2.1.3 Phân lớp liệu với Naïve Bayes 13 2.2 Kỹ thuật định J48 15 2.2.1 Cây định 15 2.2.2 Thuật toán ID3: 17 2.2.4 Phân lớp liệu dựa J48 19 2.3 Kết luận 20 CHƯƠNG 3: PHÂN LOẠI CÁC CA KIỂM THỬ, THỬ NGHIỆM VÀ ĐÁNH GIÁ 21 iv 3.1Phát biểu toán 3.2Xây dựng liệu 3.2.1Giới thiệu file arff: 3.2.2Xây dựng ứng dụng 3.2.3Sinh ca kiểm thử 3.2.4Xây dựng liệu 3.3Thống kê liệu 3.4Thử nghiệm đánh giá 3.4.1Sử dụng Weka để phân l 3.4.2Sử dụng thuật tốn Nạv 3.4.3Sử dụng thuật tốn J48 3.5Đánh giá, so sánh 3.6Kết luận KẾT LUẬN TÀI LIỆU THAM KHẢO v DANH MỤC BẢNG Bảng 1.1: Các ca kiểm thử phủ cấp Bảng 3.1: Tổng quan ứng dụng máy tính bỏ túi 22 Bảng 3.2: Hoạt động hàm ứng dụng 23 Bảng 3.3: Luồng thực thi ứng dụng 24 Bảng 3.4: Hướng dẫn sử dụng randoop 25 Bảng 3.5 : Kết chạy Naïve Bayes với cross-validation 32 Bảng 3.6 : Kết chạy Naïve Bayes với kỹ thuật Percentage Split .34 Bảng 3.7 : Kết J48 với cross validation 36 Bảng 3.7: Kết J48 với Percentage split 38 Bảng 3.8: So sánh Naïve Bayes J48 với cross validation 39 Bảng 3.9: So sánh Naïve Bayes J48 với percentage split 40 vi DANH MỤC HÌNH VÀ BIỂU ĐỒ Hình 1.1 Các bước trình phát triển tri thức cở liệu Hình 1: Naive Bayes toán phân lớp 14 Hình 2: Cây định luồng thực 16 Hình 3: Ví dụ toán phân lớp sử dụng định J48 .20 Hình 3.1: Mẫu file arff chuẩn dựa liệu iris 22 Hình 3.2: Thao tác với randoop bước 25 Hình 3.3: Thao tác với randoop bước 25 Hình 3.4: Kết chạy với randoop 25 Hình 3.5: Kết chạy Coverage với công cụ hỗ trợ Eclemma 26 Hình 3.6: Kết JaCoCo Metrics 27 Hình 3.7: Bộ liệu huấn luyện mẫu 27 Hình 3.9: Tiền xử lý liệu Weka 28 Hình 3.10: Các bước thực Weka 31 Hình 3.11: Kết thử nghiệm Naïve Bayes với n=5 31 Hình 3.12: Kết thử nghiệm Naïve Bayes với n=10 32 Hình 3.14: Kết chạy Nạve Bayes với tỷ lệ phân chia 50% 33 Hình 3.16: Kết chạy Nạve Bayes với tỷ lệ phân chia 75% 34 Hình 3.17: Kết chạy Naïve Bayes với tỷ lệ phân chia 80% 34 Hình 3.18: Kết J48 với n=5 36 Hình 3.19: Kết J48 với n=10 36 Hình 3.21: Kết J48 với tỷ lệ phân chia 50% 37 Hình 3.23: Kết J48 với tỷ lệ phân chia 75% 38 Hình 3.24: Kết J48 với tỷ lệ phân chia 80% 38 vii Biểu đồ 3.1: Lược đồ Naïve Bayes với cross-validation .33 Biểu đồ 3.2: Lược đồ Naïve Bayes với Percentage Split 35 Biểu đồ 3.3: Kết J48 với cross validation 37 Biểu đồ 3.4: Kết J48 với Percentage split 39 Biểu đồ 3.5: So sánh Naïve Bayes J48 kỹ thuật Cross-validation .40 Biểu đồ 3.6: So sánh Naïve Bayes J48 với Percentage Split 41 MỞ ĐẦU Cùng với phát triển mạnh mẽ công nghệ thông tin, sản phẩm phần mềm sử dụng nguồn liệu lớn xuất không ngừng Kĩ thuật phần mềm lĩnh vực nghiên cứu liên quan đến thiết kế, triển khai sửa đổi để xây dựng phần mềm phù hợp trì lâu dài Kiểm thử giai đoạn quy trình phát triển phần mềm, giai đoạn thiếu vòng đời phát triển phần mềm Kiểm thử thường tiến hành quy mơ lớn để tìm lỗi phần mềm để kiểm tra kết thực tế phần mềm với mong muốn thiết kế hay khơng Điều địi hỏi phải xây dựng trường hợp thử nghiệm mà khai thác hết tất trường hợp phần mềm Sẽ rủi ro phức tạp tất trường hợp thử nghiệm thực tay việc tạo mơ hình thử nghiệm tự động đời nơi mà trường hợp thử nghiệm xây dựng cách tự động Nhưng vấn đề với tiếp cận phần mềm xây dựng hàng ngàn dịng mã việc thực tất trường hợp thử nghiệm nhiều thời gian vài ngày để hoàn thành Khai phá liệu nghiên cứu, ứng dụng nhiều lĩnh vực khác nước giới Trong kiểm thử phần mềm, khai phá liệu trở nên vơ phổ biến, giúp phân tích khai thác liệu, chia nhỏ vùng thử nghiệm từ giúp tiết kiệm thời gian tăng độ xác trường hợp thử nghiệm Xác định ca kiểm thử, phân loại giản lược ca kiểm thử vấn đề nhiều quan tâm nghiên cứu ([1],[2],[3],[4],[5] [15]) Với mục đích đưa tiến công nghệ phục vụ cho công việc ngày, luận văn chọn đề tài tìm hiểu "Áp dụng kĩ thuật khai phá liệu cho phân lớp ca kiểm thử phần mềm" Trong phạm vi luận văn trình bày cách xử lý tốn kiểm thử chương trình máy tính bỏ túi sử dụng phép tốn cộng, trừ, nhân, chia đơn giản trường hợp kiểm thử đặt vô phức tạp số lượng testcases nhiều Luận văn tập trung áp dụng thuật toán Naive 33 Naive Bayes với Cross-validation 90.00% 81.02% 80.00% 70.00% 60.00% 50.00% 40.00% 30.00% 20.00% 10.00% 0.00% N=5 Độ xác Biểu đồ 3.1: Lược đồ Naïve Bayes với cross-validation Từ biểu đồ cho thấy kỹ thuật Naïve Bayes với hai giá trị n cho kết giống b Percentage split: - Lần thứ nhất: Tỷ lệ phân chia 50%, ta có kết sau: Hình 3.14: Kết chạy Naïve Bayes với tỷ lệ phân chia 50% - Lần thứ hai: Tỷ lệ phân chia 75%, ta có kết sau: 34 Hình 3.16: Kết chạy Naïve Bayes với tỷ lệ phân chia 75% - Lần thứ ba: Tỷ lệ phân chia 80%, ta có kết sau: Hình 3.17: Kết chạy Nạve Bayes với tỷ lệ phân chia 80% Bảng kết thử nghiệm Naïve Bayes với kỹ thuật chia tỷ lệ phân chia: Naïve Bayes với kỹ thuật chia tỷ lệ phân chia Tỷ lệ 50% Tỷ lệ 75% Tỷ lệ 80% Bảng 3.6 : Kết chạy Naïve Bayes với kỹ thuật Percentage Split 35 Naive Bayes với Percentage Split 90.00% 88.37% 88.00% 86.00% 84.00% 82.00% 80.00% 78.00% Tỷ lệ 50% Tỷ lệ 75% Tỷ lệ 80% Độ xác Biểu đồ 3.2: Lược đồ Naïve Bayes với Percentage Split Từ lược đồ trên, ta nhận thấy độ xác lớn liệu huấn luyện chiếm đến 80% tổng số liệu Sự nhầm lẫn thường rơi vào nhãn dư thừa nhiều nhãn không dư thừa Giá trị độ xác chênh khơng đáng kể, nhìn chung, độ xác >80% 3.4.3 Sử dụng thuật toán J48 a - Cross-validation Lần thứ nhất: n=5, ta kết quả: 36 Hình 3.18: Kết J48 với n=5 - Lần thứ hai: n=10, ta kết quả: Hình 3.19: Kết J48 với n=10 Bảng kết chạy J48 với cross-validation: Bảng 3.7 : Kết J48 với cross validation 37 J48 với cross validation 97.50% 97.00% 96.50% 96.00% 95.50% 95.00% N=5 Độ xác Biểu đồ 3.3: Kết J48 với cross validation Từ lược đồ trên, ta nhận thấy kết chọn n=10 tốt so với kết chọn n=5 thuật toán Độ chênh lệch không đáng kể 1.39% b Percentage Split - Lần thứ nhất: Tỷ lệ phân chia 50%, ta kết quả: Hình 3.21: Kết J48 với tỷ lệ phân chia 50% - Lần thứ hai: Tỷ lệ phân chia 75%, ta kết quả: 38 Hình 3.23: Kết J48 với tỷ lệ phân chia 75% - Lần thứ ba: Tỷ lệ phân chia 80%, ta kết quả: Hình 3.24: Kết J48 với tỷ lệ phân chia 80% Bảng kết thử nghiệm J48 với kỹ thuật Percentage split: J48 với kỹ thuật Percentage Split Tỷ lệ 50% Tỷ lệ 75% Tỷ lệ 80% Bảng 3.7: Kết J48 với Percentage split 39 J48 với Percentage split 100.00% 97.67% 98.00% 96.00% 94.44% 94.00% 92.00% 90.00% 88.00% 86.00% 84.00% 88.89% Tỷ lệ 50% Biểu đồ 3.4: Kết J48 với Percentage split Từ lược đồ trên, nhìn chung tỷ lệ phân chia lớn tức liệu huấn luyện lớn độ tăng lên Có thể thấy chênh lệch lớn xấp xỉ 12% Kết có liệu huấn luyện nhiều thực tốt thực nghiệm với J48 3.5 Đánh giá, so sánh a Cross-validation Bảng kết hai thuật tốn với kỹ thuật Nạve Bayes J48: Bảng 3.8: So sánh Naïve Bayes J48 với cross validation 40 So sánh Naive Bayes J48 Kỹ thuật Cross-validation 100.00% 97.22% 95.83% 95.00% 90.00% 85.00% 81.02% 81.02% 80.00% 75.00% 70.00% K=5 Naïve Bayes J48 Biểu đồ 3.5: So sánh Naïve Bayes J48 kỹ thuật Cross-validation Từ biểu đồ cho thấy, kỹ thuật J48 vượt trội hẳn so với kỹ thuật Nạve Bayes Giá trị độ xác J48 cao khoảng 14% đến 16% so với thuật tốn Nạve Bayes b Percentage Split Bảng kết hai thuật tốn với kỹ thuật Nạve Bayes J48: Thuật tốn Nạve Bayes J48 Bảng 3.9: So sánh Naïve Bayes J48 với percentage split 41 So sánh Naive Bayes J48 với Percentage Split 100.00% 97.67% 95.00% 90.00% 85.00% 81.48% 81.48% 80.00% 75.00% 70.00% Tỷ lệ 50% Biểu đồ 3.6: So sánh Naïve Bayes J48 với Percentage Split Từ biểu đồ trên, lại lần ta thấy kết thuật toán J48 vượt trội hẳn so với thuật tốn Nạve Bayes Tỷ lệ thường chênh lớn tốt phân chia với tỷ lệ 80%, chênh lệch xấp xỉ 10% Từ hai kết trên, tiếp theo, luận văn áp dụng thuật toán J48 với tham số percentage split = 80% huấn luyện (vì có độ xác tốt q trình thử nghiệm với liệu luận văn) vào liệu kiểm tra, kết thu được: 42 Hình: Kết với liệu kiểm tra Kết luận: từ liệu ban đầu gồm 324 test case, với 216 test case đưa làm liệu huấn luyện, 108 test case đưa làm liệu kiểm tra Ta thấy kết thu với liệu kiểm tra bao gồm 108 test case ban đầu, ta giảm xuống cịn 53 test case gần nửa so với số lượng test case ban đầu đưa vào kiểm tra Điều giúp kiểm thử viên giảm nửa cơng việc cần làm ứng dụng 3.6 Kết luận Chương sâu phân tích liệu cụ thể source code Java chuẩn bị dựa hoạt động máy tính bỏ túi với phép toán cộng, trừ, nhân, chia Luận văn sử dụng kỹ thuật phân lớp áp dụng thuật toán Naive Bayes J48 áp dụng vào liệu với phần mềm Weka để đưa kết từ lần thử nghiệm với đầu vào khác nhau, từ đưa lược đồ so sánh kết thuật toán giúp đánh giá lựa chọn thuật toán phù hợp cho liệu Chương cho thấy với liệu đưa vào thuật toán J48 phù hợp hơn, cho kết tốt 43 KẾT LUẬN Từ việc nghiên cứu toàn phân lớp ca kiểm thử trình phát triển phần mềm, luận văn đưa phương pháp sử dụng khai phá liệu nhằm tối giản ca kiểm thử phát triển phần mềm Qua kết thực nghiệm đạt cho thấy mơ hình đưa hồn tồn khả thi áp dụng Các kết luận văn đạt được:  Khảo sát phương pháp tạo ca kiểm thử phần mềm, nêu ý nghĩa q trình kiểm thử vịng đời phát triển phần mềm,sự quan việc đưa ca kiểm thử xác hiệu nhằm rút gọn thời gian thực hiện, tiết kiệm chi phí  Trình bày phương pháp phân lớp liệu áp dụng vào phân lớp ca kiểm thử phần mềm, từ lọc tối giản tối đa ca kiểm thử dư thừa trùng lặp  Xây dựng dự liệu dựa phép tính cộng, trừ, nhân, chia tương tự chương trình máy tính bỏ túi.Chỉ phương pháp khai phá liệu phù hợp với liệu xây dựng số liệu cụ thể khẳng định hiệu phương pháp sử dụng Hướng pháp triển:  Từ liệu xây dựng phát triển lên thành chương trình tính tốn phức tạp hơn, đa dạng sử dụng mang tính thương mại nhiều ví dụ phần mềm tính tốn siêu thị chương trình quản lý hàng Điều đồng nghĩa với việc testcase sinh lớn phức tạp nhiều  Áp dụng kỹ thuật khai phá liệu, thuật toán giới thiệu luận văn vào liệu giúp phân loại, tối giản ca kiểm thử cho hiệu thử nghiệm tăng lên, giúp doanh nghiệp tiết kiệm thời gian chi phí mà đảm bảo chất lượng phần mềm 44 TÀI LIỆU THAM KHẢO Tài liệu tiếng anh: [1] Mahapatra, R P., & Singh, J (2008) Improving the effectiveness of software testing through test case reduction World Academy of Science, Engineering and Technology, 37, 345-350 [2] Ahmad A Saifan, "Test Case Reduction Using Data Mining Classifier Techniques"_2016 [3] Jiawei Han and Micheline Kamber, Data Mining "Concepts and Techniques" (2000) [4] https://wikipedia.org/wiki/Khai_phá_dữ_liệu truy cập ngày 08/04/2018 [5] Ian H.Witten, Eibe Frank, “Data mining : practical machine learning tools and techniques”, Second Edition, Elsevier Inc, 2005 [6] Jason D M Rennie “Improving Multi-class Text Classification with [7] http://www.cs.ucla.edu/~miodrag/cs259- security/sahami98bayesian.pdf, Truy cập ngày 18/11/2018 [8] Johan Hovold “Naive Bayes Spam Filtering Using Word-Position-Based Attributes”, Proceedings of the Second Conference on Email and Anti-Spam, (2004) [9] Bo Pang, Lillian Lee “A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts”, Proc of 42nd ACL, pp 271-278 (2004) [10] Yustinus Eko Soelistio and Martinus Raditia Sigit Surendra, “Simple text mining for sentiment analysis of political figure using Naïve Bayes classifier”, [11] Eclemma, http://www.eclemma.org/index.html [12] Randoop, https://randoop.github.io/randoop/ [13] Weka, https://www.cs.waikato.ac.nz/ml/weka/downloading.html [14] JUnit, https://junit.org/junit4/ 45 [15] JaCoCo Metrix, https://www.jacoco.org/jacoco/trunk/doc/ Các trang web: [1] https://medium.com/@akankshamalhotra24/naive-bayes-theorem- 79832d506a633 truy cập ngày 15/5 [2] Wikipedia, http://en.wikipedia.org/wiki/ [3] Google, https://www.google.com.vn/ ... văn kỹ thuật phân lớp liệu phương pháp kiểm thử chọn phương pháp kiểm thử hộp trắng Cụ thể phương pháp kiểm thử đường thi hành hay gọi kiểm thử luồng điều khiển 10 CHƯƠNG 2: PHÂN LỚP DỮ LIỆU DỰA... cuối triển khai áp dụng thực tế Trong chương đề cập đến số phương pháp để thực kiểm thử phần mềm phân tích đặc điểm, hiệu quả, phạm vi áp dụng phương pháp Kỹ thuật khai phá liệu chọn áp dụng luận... 3: Phân loại ca kiểm thử, thử nghiệm đánh giá Chương sâu phân tích liệu áp dụng liệu thực tế vào Weka, áp dụng thuật tốn với liệu cụ thể Từ phân tích đánh giá kết thu 3 CHƯƠNG 1: KHAI PHÁ DỮ LIỆU

Ngày đăng: 28/10/2020, 22:21

Từ khóa liên quan

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

Tài liệu liên quan