(Luận văn thạc sĩ) kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng

80 1 0
  • Loading ...
    Loading ...
    Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 10/06/2021, 09:12

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG ––––––––––––––––––––––––– NGUYỄN THỊ HỒNG THUỶ KỸ THUẬT MA TRẬN ĐỒ THỊ TRONG PHƯƠNG PHÁP KIỂM THỬ HỘP TRẮNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái nguyên – 2020 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG ––––––––––––––––––––––––– NGUYỄN THỊ HỒNG THUỶ KỸ THUẬT MA TRẬN ĐỒ THỊ TRONG PHƯƠNG PHÁP KIỂM THỬ HỘP TRẮNG Chuyên ngành: Khoa học máy tính Mã số : 848 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS Lê Văn Phùng Thái nguyên – 2020 i LỜI CAM ĐOAN Tơi xin cam đoan tồn nội dung luận văn tự sưu tầm, tra cứu thông tin mạng Internet, số sách tham khảo để xếp, hoàn thiện cho phù hợp với nội dung yêu cầu đề tài Đến nay, nội dung luận văn chưa cơng bố hay xuất hình thức Nếu sai tơi xin chịu hồn tồn trách nhiệm Ngày tháng năm 2020 Tác giả Nguyễn Thị Hồng Thuỷ ii LỜI CẢM ƠN Trong suốt trình học tập thực đề tài, em nhận giúp đỡ tận tình bảo ân cần Thầy cô viện Công nghệ thông tin – Viện khoa học công nghệ Việt nam, Thầy cô trường đại học Công nghệ Thông tin Truyền thông, bạn bè đồng nghiệp Đặc biệt giúp đỡ TS Lê Văn Phùng, người thầy trực tiếp hướng dẫn, định hướng, chỉnh sửa kiến thức chun mơn tận tình giúp đỡ em suốt trình nghiên cứu thực luận văn Qua cho phép em bày tỏ lời cảm ơn tới tất thầy cô giáo Viện Công nghệ thông tin Trường Đại học Công nghệ Thông tin Truyền thông, giảng dạy tạo điều kiện thuận lợi giúp đỡ chúng em trình học tập, nghiên cứu Cuối cùng, tơi xin cảm ơn đến gia đình, bạn bè đồng nghiệp chia sẻ động viên giúp đỡ chuyên môn mặt sống, nguồn động viên khích lệ giúp tơi có nghị lực để hồn thành khố học Học viên Nguyễn Thị Hồng Thuỷ iii MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU/VIẾT TẮT vi DANH MỤC CÁC HÌNH vii DANH MỤC CÁC BẢNG viii PHẦN MỞ ĐẦU 1 Lý chọn đề tài Đối tượng phạm vi nghiên cứu Mục tiêu nhiệm vụ nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học đề tài Bố cục luận văn: CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ HỘP TRẮNG 1.1 Kiểm thử phần mềm 1.1.1 Quan niệm kiểm thử phần mềm 1.1.2 Chiến lược kiểm thử phần mềm 1.1.3 Các mức kiểm thử [9] 1.1.4 Sơ lược phương pháp kiểm thử iv 1.2.1 Ý tưởng kiểm thử hộp trắng 1.2.2 Mô tả số cấu trúc theo lược đồ 1.2.3 Một số hướng kiểm thử hộp trắng CHƯƠNG MỘT SỐ KỸ THUẬT HIỆU QUẢ TRONG PHƯƠNG PHÁP KIỂM THỬ HỘP TRẮNG VÀ CA KIỂM THỬ16 2.1 Một số kỹ thuật phương pháp kiểm thử hộp trắng 16 Có thể tổng hợp số kỹ thuật hiệu phương pháp kiểm thử hộp trắng sau: 16 2.1.1 Kỹ thuật kiểm thử dòng điều khiển 16 2.1.2 Kỹ thuật kiểm thử dòng liệu 18 2.1.3 Kỹ thuật kiểm thử BRO 19 2.1.4 Kỹ thuật kiểm thử đột biến 20 2.2 Ca kiểm thử 22 2.2.1.Một số quan niệm ca kiểm thử 22 2.2.2.Nội dung thiết kế ca kiểm thử 22 2.2.3 Một số phương pháp để thiết kế ca kiểm thử 23 2.3 Kỹ thuật ma trận đồ thị cho thiết kế ca kiểm thử 27 2.3.1 Ý tưởng nội dung kỹ thuật ma trận đồ thị [8] 27 2.3.2 Quy trình kiểm thử phần mềm kỹ thuật ma trận đồ thị 36 CHƯƠNG CHƯƠNG TRÌNH THỬ NGHIỆM KIỂM THỬ PHẦN MỀM BẰNG KỸ THUẬT MA TRẬN ĐỒ THỊ 38 3.1 Chọn mô-đun phần mềm thử nghiệm 38 3.2 Thiết kế ca kiểm thử kiểm thử mô-đun phần mềm 39 v 3.2.1 Quy trình thiết kế 39 3.2.2 Nội dung thiết kế 39 3.3 Một số giao diện chương trình 49 3.3.1 Giao diện thiết kế ca kiểm thử theo kỹ thuật ma trận đồ thị 49 3.3.2 Quá trình test với Mô-đun 54 3.3.3 Q trình test với Mơ-đun 57 3.3.4 Quá trình test với Mô-đun 60 3.3.5 Q trình test với Mơ-đun 62 3.3.6 Kiểm thử vòng lặp While 63 3.4 Đánh giá so sánh kỹ thuật ma trận đồ thị với số kỹ thuật thiết kế ca kiểm thử khác 64 3.5 Đánh giá kết thử nghiệm hướng mở rộng 66 KẾT LUẬN VÀ KIẾN NGHỊ 67 1.Kết luận 67 Kiến nghị 68 TÀI LIỆU THAM KHẢO 69 iv vi DANH MỤC CÁC KÝ HIỆU/VIẾT TẮT BRO: Kiểm thử nhánh tốn tử quan hệ CNTT: Cơng nghệ thơng tin CSDL: Cơ sở liệu E: Số cạnh đồ thị N: Số đỉnh đồ thị P: Số đỉnh điều kiện có đồ thị V(G): Độ phức tạp chu trình v vii DANH MỤC CÁC HÌNH Hình 1.1 Mơ hình chiến lược kiểm thử tổng thể Hình 1.2 Một số cấu trúc lập trình Hình 1.3 Sơ đồ điều khiển chương trình Hình 1.4 Đồ thị chương trình 10 Hình 1.5 Minh hoạ độ phức tạp câu lệnh 10 Hình 1.6 Minh hoạ bước kiểm tra 11 Hình1.7 Lược đồ kiểm thử theo đường dẫn 12 Hình1.8 Lược đồ kiểm thử đường dẫn theo biểu thức điều kiện 13 Hình 1.9.Các kiểu vịng lặp 14 Hình 2.1: Các thành phần đồ thị chương trình 17 Hình 2.2: Các cấu trúc điều khiển phổ biến chương trình 17 Hình 2.3: Mã nguồn hàm foo đồ thị dịng điều khiển 18 Hình 2.4: Sơ đồ điều khiển chương trình 30 Hình 2.5: Sơ đồ luồng điều khiển 30 Hình 2.6 : Đồ thị dịng dùng để xác định ma trận kiểm thử 31 Hình 2.7: Độ phức tạp chu trình xác định từ số miền phẳng đồ thị dòng 32 Hình 2.8 : Đồ thị dòng dùng để xác định ma trận kiểm thử 33 Hình 3.1 Sơ đồ điều khiển chương trình 40 Hình 3.2 Sơ đồ luồng điều khiển 41 Hình 3.3 Đồ thị dòng 42 Hình 3.4 Độ phức tạp chu trình 43 Hình 3.5 Đồ thị dịng 44 Hình 3.6 Giao diện trang chủ 49 Hình 3.7 Giao diện hướng dẫn sử dụng chương trình 50 Hình 3.8 Giao diện chạy chương trình 50 Hình 3.9: Hộp thoại Open để tìm đường dẫn 51 Hình 3.10: Form hiển thị mô-đun cần kiểm thử 51 Hình 3.11 Giao diện xác định tập đường 52 Hình 3.12: Giao diện thông báo lỗi nhập liệu không hợp lệ 53 Hình 3.13: Giao diện test đơn vị chương trình code_1 53 Hình 3.14: Form xử lý với đơn vị chương trình code_2 59 Hình 3.15: Lỗi tìm thấy mơ-đun code_2 60 Hình 3.16: Form kiểm thử ứng với code_3 61 Hình 3.17: Form kiểm thử ứng với code_4 63 viiivi DANH MỤC CÁC BẢNG Bảng 2.1 Ví dụ minh họa đột biến 21 Bảng 2.2 : Những chiến lược kết hợp 23 Bảng 2.3 Tập đường 32 Bảng 2.4 : Ma trận kiểm thử A cách tính độ phức tạp V(G) 34 Bảng 2.5 Bảng ma trận kiểm thử A= (aij) với i,j=1,2,3,4, ,9 xác định sau: 34 Bảng 2.6 : Ví dụ ma trận kiểm thử tích A2= 36 Bảng 3.1-Bảng tính độ phức tạp đồ thị dòng V(G): 45 Bảng 3.2: Bảng ma trận kiểm thử A= (aij) với i,j=1,2,3,4, ,14 45 Bảng 3.3: Các Test path 48 Bảng 3.4: Bảng ca kiểm thử vòng lặp while 49 Bảng 3.5: Bảng TestData1 55 Bảng 3.6: Bảng TestData2 55 Bảng 3.7: Bảng TestData3 55 Bảng 3.8: Bảng TestData4 56 Bảng 3.9: Bảng TestData5 56 Bảng 3.10: Bảng TestData6 56 Bảng 3.11: Bảng TestData7 57 Bảng 3.12: Bảng TestData với code_2 58 Bảng 3.13: Kết bảng TestData với code_2 59 Bảng 3.14: Bảng TestData với code_3 61 Bảng 3.15: Bảng TestData với code_4 62 56 -Với Input TestData4: [1,2,3,4,5,-999] 10, theo thiết kế ca kiểm thử Path test case: Kết quả: Bảng 3.8: Bảng TestData4 Số lần Đầu mong đợi Input lặp Average [1,2,3,4,5,-999] 10 Total Total input valid 5 Đầu thực tế Average 3.0 Total Total input valid 5 Như vậy, trường hợp này, ca kiểm thử thực vòng lặp while lần -Với Input TestData5: [1,2, ,99,-999] 100, theo thiết kế ca kiểm thử Path test case: Kết quả: Bảng 3.9: Bảng TestData5 Số lần Đầu mong đợi Input lặp Average 99 [1,2, ,99,-999] 100 50 Total Total input valid 99 99 Đầu thực tế Average 50.0 Total Total input valid 99 99 Như vậy, trường hợp này, ca kiểm thử thực vòng lặp while 99 lần -Với Input TestData6: [1,2, ,100,-999] 100, theo thiết kế ca kiểm thử Path test case: Kết quả: Bảng 3.10: Bảng TestData6 Số lần Input lặp 100 Đầu mong đợi Average [1,2, ,100,-999] 100 50.5 Total Total input valid 100 100 Đầu thực tế Average Total Total input valid 50.5 100 100 Như vậy, trường hợp này, ca kiểm thử thực vòng lặp while 100 lần 57 -Với Input TestData7: [1,2, ,100,101,-999] 100, theo thiết kế ca kiểm thử Path test case: Kết quả: Bảng 3.11: Bảng TestData7 Số lần Input lặp Đầu mong đợi Average 100 [1,2, ,100,101,-999] 100 50.5 Total Total input valid 100 100 Đầu thực tế Average Total Total input valid 50.5 100 100 Như vậy, trường hợp này, mặc liệu đưa vào 101 số, nhiên ca kiểm thử thực vòng lặp while 100 lần lần Test mà Theo thiết kế kiểm thử, test khác cho kết theo mong đợi Như vậy, kết luận mơ-đun kiểm thử khơng có lỗi 3.3.3 Q trình test với Mơ-đun Mơ-đun (code_2): “Thủ tục tính giá trị trung bình 100 số hay hơn, nằm giá trị cận, tính tổng tổng số phần tử hợp lệ” có nội dung code khác so với code_1: Code_2: PROCEDURE average INTERFACE RETURNS average,total.input,total.valid; INTERFACE ACCEPT value,minimum,maximum; TYPE value[1:100] IS SCALAR ARRAY; TYPE average,total.input,total.valid,minimum,maximum,sum IS SCALAR; TYPE i IS INTERGER; i = 1; total.input = 0; total.valid = 0; sum = 0; DOWHILE value[i]-999 AND total.input0 THEN max = tmp; ELSE max = 0; ENDIF END Tim_max Bảng 3.14: Bảng TestData với code_3 Số lần lặp Input Tổng số phần tử dãy Số lượng phần tử xét Output(Max) [1,3,4,8] 4 Với code_3, chương trình kiểm thử phần mềm thực kiểm thử để tính độ phức tạp, ma trận kiểm thử, tập đường Với input nhập vào mục Đầu vào hợp lệ theo cấu trúc: [, [,[…] từ đưa kết Max (Giá trị lớn phần tử xét dãy) mục Đầu Đường kiểm thử Hình 3.16: Form kiểm thử ứng với code_3 62 3.3.5 Quá trình test với Mơ-đun Mở rộng sang tốn thứ 3: test Mô-đun (Code_4) thực nhiệm vụ: “Thủ tục tính tổng số chẵn 100 số hay hơn, với số lượng phần tử xác định” Với Code_4 có nội dung code sau: PROCEDURE Tinh_tong_cac_so_chan INTERFACE RETURNS sum; INTERFACE ACCEPT array,num; TYPE array[1:100] IS SCALAR ARRAY; TYPE sum,num,tmp IS SCALAR; TYPE i,c IS INTEGER; i = 1; tmp = 0; DOWHILE i
- Xem thêm -

Xem thêm: (Luận văn thạc sĩ) kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng , (Luận văn thạc sĩ) kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng