Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
845,13 KB
Nội dung
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT, KÝ HIỆU DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU Chương TỔNG QUAN 1.1 Mục tiêu phạm vi 1.2 Những đề xuất đề tài 1.3 Tổng quan đề tài 1.4 Đóng góp đề tài 10 Chương KHÁI NIỆM CƠ BẢN 11 2.1 Phân tích biểu diễn luồng điều khiển .11 2.2 Phân tích phụ thuộc 11 2.3 Sự thực thi biểu trưng 13 2.4 Các thủ tục định 14 Chương CÁC KỸ THUẬT ĐỐI SÁNH 15 3.1 Các kỹ thuật liên quan 15 3.1.1 Kỹ thuật tìm kiếm khác dựa mục đích chung chương trình 16 3.1.2 Kỹ thuật tìm kiếm khác dựa vào mục đích cụ thể chương trình 19 3.2 Thuật tốn tìm kiếm khác 20 3.2.1 Tổng quan thuật toán 21 3.2.2 Mức lớp giao diện 22 3.2.3 Mức phương thức 23 3.2.4 Mức đỉnh ( node level) 23 3.2.5 Độ phức tạp thuật toán 33 3.3 Cơng cụ tìm kiếm khác Jdiff 33 Chương PHÂN TÍCH ẢNH HƯỞNG ĐỘNG 35 4.1 Các nghiên cứu liên quan 35 4.2 Kỹ thuật ảnh hưởng bao phủ - Coverage Impact 39 4.3.1 Mối quan hệ thực thi sau .40 4.3.2 Thuật toán thực thi sau 41 4.3.3 Các thực thi đa luồng 44 4.4 Các cơng cụ phân tích ảnh hưởng động 45 4.4.1 Công cụ CoverageTool 45 4.4.2 Công cụ thực thi sau 45 4.5 Nghiên cứu thực nghiệm thuật tốn phân tích ảnh hưởng động 47 4.5.1 Cài đặt thực nghiệm .47 4.5.2 Đánh giá chi phí 47 Chương XÁC ĐỊNH YÊU CẦU KIỂM THỬ 50 5.1 Các kỹ thuật liên quan 50 5.1.1 Ví dụ minh họa 52 5.1.2 Tổng quan phương pháp tiếp cận 53 5.2 Tính tốn kiểm tra u cầu kiểm thử 54 5.2.1 Tiêu chuẩn thay đổi .55 5.2.2 Thuật toán 57 5.2.3 Kiểm tra yêu cầu kiểm thử 63 5.2.4 Đa thay đổi 64 5.2.5 Tích hợp với phân tích ảnh hưởng động 67 5.3 Ma trận - công cụ thử nghiệm để xác định yêu cầu kiểm thử 68 5.4 Nghiên cứu việc “xác định yêu cầu kiểm thử” .69 5.4.1 Cài đặt công cụ ma trận .69 5.4.2 Các ảnh hưởng đến tính hợp lệ 70 5.4.3 Nghiên cứu 1: Tiêu chuẩn tồn 70 Chương KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TƯƠNG LAI 72 6.1 Đánh giá kết nghiên cứu 72 6.2 Hướng nghiên cứu tương lai 73 TÀI LIỆU THAM KHẢO .74 DANH MỤC CÁC TỪ VIẾT TẮT, KÝ HIỆU Từ viết tắt BAMT Tên tiếng Anh Ý nghĩa Binary Matching Tool Công cụ đối sánh nhị phân CFG Control Flow Graph Đồ thị luồng điều khiển EAT Execute After Tool Công cụ kiểm thử thực thi sau ECFG Enhanced Control Flow Graph Đồ thị luồng điều khiển tăng cường FDD Forward Direct Dependence JABA Java Architech for Byte Code Kiến trúc Java cho việc phân Analysis tích byte code Phụ thuộc trực tiếp tiến JIG Java Interclass Graph Đồ thị lớp nội Java JVM Java Virtual Machine Máy ảo Java LOC Line of Code Số dòng lệnh SDG System Dependence Graph Đồ thị phụ thuộc hệ thống PSE Partial Symbolic Execute Thực thi biểu trưng phận Empty set Tập rỗng DANH MỤC CÁC BẢNG Bảng 1: Bao phủ vector bit cho vết thực thi Hình 10 39 Bảng 2: Giá trị F, L, C trình thực ví dụ 43 Bảng 3: Các chương trình hướng đối tượng 47 Bảng 4: Thời gian thực thi .48 Bảng 5: Các đường điều kiện trạng thái biểu trưng từ s4 s1 P P’ 62 Bảng 6: Đường điều kiện trạng thái biểu trưng từ s2 đến s5 phiên gốc phiên chỉnh sửa 65 Bảng 7: Tỷ lệ phần trăm kiểm thử đưa hành vi khác 50 kiểm thử đầu vào đáp ứng tiêu chí phù hợp lệnh cho Tcas Schedule 70 Bảng 8: Tỷ lệ phần trăm kiểm thử đưa hành vi khác 50 kiểm thử đáp ứng tất khoảng cách sử dụng đầy đủ tiêu chí-i (0,1, 2) cho Tcas Schedule 71 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1: Quá trình tạo yêu cầu kiểm thử 10 Hình 2: Một phần mã lệnh lớp Library Đồ thị luồng điều khiển phương thức getCheckOutBooks 12 Hình 3: Một phần mã lệnh chương trình gốc (P) chương trình chỉnh sửa (P’) 16 Hình 4: Thuật tốn đối sánh - Func_Differencing 22 Hình 5: Hai đồ thị ECFG cho thủ tục unavaiableBookFinder.main P P’ 26 Hình 6: ECFG cho UnavaiableBookFinder.main (a) đồ thị khoảng cách trung gian cho thủ tục hình (b, c, d) .30 Hình 7: Thuật tốn đối sánh Func_DistanceThreshold 33 Hình 8: Một phần mã nguồn chương trình gốc P 37 Hình 9: Đồ thị gọi chương trình P 37 Hình 10: Các vết P Ký hiệu Exec4 có nghĩa chuỗi lặp lại nhiều lần 37 Hình 11: Đồ thị tồn bộ- phận DAG cho vết Hình 10 38 Hình 12: Thuật tốn thu thập thực thi sau .42 Hình 13: So sánh độ xác kết Thể số phần trăm phương thức tập ảnh hưởng 49 Hình 14: Một phần mã nguồn chương trình gốc P với thay đổi lệnh thực thi s4 52 Hình 15: Một phần chương trình để minh họa cho việc xác định câu lệnh khoảng cách từ câu lệnh rẽ nhánh 56 Hình 16:Thuật tốn tính toán yêu cầu kiểm thử 58 Hình 17: Cây thực thi biểu trưng từ s4 đến s1 P 60 Hình 18: Một phần chương trình minh họa việc xách định lệnh khoảng cách biểu diễn đa thay đổi 64 Hình 19: Cơng cụ ma trận kiểm thử 67 Hình 20: Ma trận nhận dạng 68 MỞ ĐẦU Trong suốt vòng đời mình, phần mềm ln phải thay đổi nhiều lý khác nhau, việc sửa chữa lỗi, nâng cao hiệu suất, cấu trúc lại mã lệnh Kiểm thử phần mềm sửa đổi hoạt động thực nhằm mục đích đảm bảo thay đổi nằm dự định kiểm sốt khơng ảnh hưởng đến phần lại phần mềm Vấn đề việc kiểm thử phần mềm trường hợp phải định xem kiểm thử đầy đủ thay đổi, trường hợp kiểm thử tốt tạo đầu vào phù hợp để đạt mục đích kiểm thử phần bị thay đổi Hiện kỹ thuật chủ yếu thực việc đánh giá đầy đủ kiểm thử dựa luồng điều khiển luồng liệu Chúng không xem xét ảnh hưởng thay đổi trạng thái tồn chương trình, dẫn đến hạn chế việc đảm bảo phần thay đổi kiểm thử Luận văn nghiên cứu kỹ thuật nhận dạng yêu cầu cần kiểm thử phần mềm thay đổi So sánh ưu nhược điểm kỹ thuật có, đồng thời đề xuất hướng cải tiến thuật toán để đảm bảo xác định yêu cầu kiểm thử cách xác, nhanh chóng, đầy đủ Sử dụng kỹ thuật kiểm thử viên chủ động tạo kiểm thử phù hợp, tối ưu, đảm bảo tin cậy chất lượng phiên phần mềm thay đổi Nghiên cứu đưa thực nghiệm với công cụ dựa thuật toán tối ưu để minh họa kỹ thuật trên, nhằm xác định kiểm thử cần thiết để đảm bảo trường hợp kiểm thử thích hợp trạng thái chương trình khác phần chọn lựa trước phần mềm Các kỹ thuật bao gồm: kỹ thuật tính tốn tương ứng, khác phiên phần mềm hai kỹ thuật phân tích ảnh hưởng động để xác định phận phần mềm bị ảnh hưởng thay đổi với xác tập kiểm thử thực Chương TỔNG QUAN Phần mềm luôn đối tượng chịu sức ép việc thay đổi Trong suốt vịng đời phần mềm phải trải qua biến đổi liên tiếp Bởi thay đổi thường xuyên liên tục nên vấn đề đặt việc phải thực kiểm thử phiên phần mềm sửa đổi, việc xác dịnh kiểm thử cần thiết hiệu quan trọng Kiểm thử hồi quy (Regression Testing) hoạt động kiểm thử phiên thay đổi phần mềm nhằm làm tăng tin cậy, để đảm bảo thay đổi không gây ảnh hưởng bất lợi cho phần lại phần mềm Do việc kiểm thử khơng cần kiểm tra chức thay đổi mà phải kiểm tra chức lại phần mềm bị ảnh hưởng thay đổi nên hoạt động kiểm thử ln ln gặp phải thách thức lớn Đa số nghiên cứu kiểm thử hồi quy tập trung vào hoạt động chính: - Chọn lọc kiểm thử hồi quy [6] - Đánh giá kiểm thử theo độ ưu tiên - Giảm số lượng kiểm thử [14] Những hoạt động nhằm mục đích làm tăng tính hiệu việc kiểm thử hồi quy cách giảm số lượng trường hợp kiểm thử cần thiết để chạy lại, trì xếp lại thứ tự trường hợp kiểm thử dựa số tiêu chuẩn, ví dụ mức độ bao phủ Tuy nhiên có số nghiên cứu khác tập trung vào việc ước lượng, đánh giá cải thiện chất lượng kiểm thử hồi quy Đa số nghiên cứu đánh giá cao xác kiểm thử tồn việc thi hành phần mềm với chi tiết cụ thể thay đổi Hơn nữa, nghiên cứu thường khơng cung cấp hướng dẫn thích hợp cho kiểm thử viên tạo đầu vào để thu kết rõ ràng mà kiểm thử tồn không đánh giá xác thay đổi 1.1 Mục tiêu phạm vi Mục tiêu nghiên cứu nghiên cứu so sánh kỹ thuật kiểm thử hồi quy có, đưa cải tiến dựa kỹ thuật để xác định yêu cẩu kiểm thử phần mềm bị thay đổi Để đạt mục tiêu này, nghiên cứu tập trung vào vấn đề định nghĩa tiêu chí cụ thể việc kiểm thử xác định kiểm thử cần thiết cho việc kiểm thử thay đổi (Các kiểm thử phải đảm bảo tính xác, đầy đủ Số lượng kiểm thử phải giảm tối đa để giảm thời gian kiểm thử hồi quy) Đồng thời với việc thực thi kiểm thử việc đưa hướng dẫn để tạo đầu vào kiểm thử để kiểm thử thay đổi cách hiệu 1.2 Những đề xuất đề tài Nội dung nghiên cứu đề tài kỹ thuật phân tích tĩnh chương trình có hiệu để tìm điểm tương ứng, điểm khác toàn hai phiên phần mềm Đồng thời kết hợp với kỹ thuật phân tích động tăng cường thơng tin tính tốn để xác định yêu cầu cần thiết nhất, hiệu liên quan đến việc kiểm thử phần mềm 1.3 Tổng quan đề tài Quá trình tạo yêu cầu đối kiểm thử phần mềm thay đổi mơ tả hình 1, bao gồm hoạt động là: đối sánh tìm kiếm khác nhau, phân tích ảnh hưởng động, xác định yêu cầu kiểm thử Đầu vào hai phiên chương trình: phiên gốc P phiên thay đổi, chỉnh sửa P’ Chi tiết hoạt động giới thiệu chương Chương hai mô tả khái niệm tảng Đó khái niệm phân tích chương trình: đồ thị luồng phụ thuộc điều khiển đồ thị luồng phụ thuộc liệu, thực thi mơ hình Chương ba trình bày kỹ thuật nhằm xác định yêu cầu kiểm thử kỹ thuật hỗ trợ việc phân loại luồng xử lý, hình Cụ thể, chương giới thiệu kỹ thuật tìm khác biệt, giúp đưa báo cáo thông tin thay đổi, bao gồm thông tin khác tương ứng toàn hai phiên P P’ mức lệnh Chương bốn giới thiệu hai kỹ thuật phân tích ảnh hưởng động, sử dụng thông tin thay đổi kiểm thử (hoặc tập thực thi T), để tìm phần phiên P’ bị ảnh hưởng thay đổi (các thông tin ảnh hưởng) thực thi Bên cạnh chương bốn phân tích, so sánh ưu nhược điểm hai kỹ thuật Chương năm đưa công nghệ sử dụng thông tin thay đổi ảnh hưởng để xác định yêu cầu việc kiểm thử Các yêu cầu giúp ước lượng, đánh giá cách hiệu chất lượng kiểm thử , giúp nâng cao độ tin cậy việc kiểm thử thay đổi đưa hướng dẫn cho việc tạo đầu vào kiểm thử để kiểm thử chương trình Mỗi phần ba chương thảo luận kỹ thuật liên quan so sánh ưu nhược điểm chúng Chúng mô tả chi tiết giới thiệu công cụ để thực kỹ thuật Chương sáu tổng kết, đánh giá kết đề tài hướng nghiên cứu tương lai 10 Hình 1: Quá trình tạo yêu cầu kiểm thử 1.4 Đóng góp đề tài Nghiên cứu có số đóng góp lĩnh vực kiểm thử phần mềm - Thuật tốn tính tốn khác tương ứng phiên chương trình phần mềm - Kỹ thuật nhằm xác định phận, thành phần phần mềm bị ảnh hưởng thay đổi tập thực thi chi tiết - Kỹ thuật nhằm xác định yêu cầu kiểm thử phiên phần mềm sửa đổi, đảm bảo trường hợp kiểm thử thích hợp, đầy đủ đưa kết luồng điều khiển khác trạng thái chương trình khác điểm chọn - Nghiên cứu công cụ thực kỹ thuật - Các so sánh, đánh giá kết dựa thực nghiệm