Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 92 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
92
Dung lượng
2,23 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG PHẠM THỊ HÙY KỸ THUẬT XÁC ĐỊNH CÁC CA KIỂM THỬ VÀ DỮ LIỆU KIỂM THỬ NHỜ MA TRẬN KIỂM THỬ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 60480104 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ VĂN PHÙNG Hải Phòng, 2017 LỜI CẢM ƠN Trân trọng cảm ơn tất Giáo sư, Phó giáo sư, tiến sĩ, thầy giáo, cô giáo khoa CNTT trường Đại học Dân lập Hải Phòng nhiệt tình giảng dạy, tạo điều kiện thuận lợi cho tác giả q trình học tập, nghiên cứu, hồn thành chương trình học tập khóa học Tác giả xin trân trân trọng cảm ơn thầy TS Lê Văn Phùng - Viện Công nghệ thông tin - Viện Hàn Lâm khoa học công nghệ Việt Nam giành thời gian bảo tận tình giúp em hồn thành luận văn Tác giả xin chân thành cảm ơn Ban giám hiệu trường THCS Thủy Sơn quan tâm giúp đỡ, tạo điều kiện thuận lợi cho tác giả suốt trình học tập, nghiên cứu hồn thiện luận văn Tác giả xin cảm ơn gia đình, bạn bè, đồng nghiệp động viên tiếp thêm nghị lực để tác giả hồn thành khóa học luận văn Mặc dù có nhiều cố gắng, song luận văn khó tránh khỏi thiếu sót Tác giả mong bảo, góp ý nhà khoa học, thầy cô giáo bạn đồng nghiệp Xin trân trọng cảm ơn! Hải Phòng, ngày 12 tháng 11 năm 2017 Tác giả Phạm Thị Hùy LỜI CAM ĐOAN Tôi xin cam đoan rằng, cơng trình nghiên cứu tơi có giúp đỡ lớn thầy TS Lê Văn Phùng Các nội dung nghiên cứu kết đề tài hoàn tồn trung thực Trong luận văn, tơi có tham khảo đến số tài liệu số tác giả liệt kê phần Tài liệu tham khảo cuối luận văn Hải Phòng, ngày 12 tháng 11 năm 2017 Tác giả Phạm Thị Hùy MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG PHẦN MỞ ĐẦU 10 Lý chọn đề tài 10 Mục đích nghiên cứu 11 Nhiệm vụ nghiên cứu 12 Đối tượng phạm vi nghiên cứu 12 Đóng góp luận văn 12 Phương pháp nghiên cứu 13 CHƯƠNG TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ CA KIỂM THỬ 14 1.1.Tổng quan kiểm thử phần mềm 14 1.1.1.Khái niệm kiểm thử phần mềm 14 1.1.2 Mục đích kiểm thử phần mềm 16 1.1.3.Chiến lược kiểm thử phần mềm 17 1.1.3.1.Khái niệm chiến lược kiểm thử 17 1.1.3.2.Mơ hình chiến lược tổng thể 19 1.1.3.3 Một số chiến lược kiểm thử khác 21 1.1.4 Các phương pháp kỹ thuật kiểm thử 26 1.1.4.1.Một số phương pháp kiểm thử 26 1.1.4.2.Các kỹ thuật kiểm thử 27 1.2 Những nét chung ca kiểm thử 31 1.2.1.Khái niệm ca kiểm thử 31 1.2.2.Vấn đề thiết kế ca kiểm thử 32 CHƯƠNG CÁC KỸ THUẬT THIẾT KẾ CA KIỂM THỬ 36 2.1 Kỹ thuật bao phủ câu lệnh (Statement Coverge) 37 2.1.1 Kỹ thuật bao phủ định 37 2.1.2 Kỹ thuật bao phủ điều kiện (Condition Coverage) 38 2.1.3 Kỹ thuật bao phủ định/ điều kiện (Decision/Condition coverage) .38 2.1.4 Kỹ thuật bao phủ đa điều kiện (Multiple Condition Coverage) 39 2.1.5 Kiểm thử vòng lặp 39 2.1.6 Kỹ thuật Điều kiện logic 41 2.1.7 Kỹ thuật ma trận kiểm thử 48 2.1.8 Ma trận kiểm thử có trọng số: 48 2.2 Kỹ thuật phân lớp tương đương (Equivalence Patitioning) 50 2.3 Kỹ thuật phân tích giá trị biên (Boundary Value Analysis) 53 2.4 Kỹ thuật đồ thị nguyên nhân – kết (Cause – Effect Graphing) 55 2.5 Kỹ thuật đoán lỗi (Error Guessing) 60 2.6 Kỹ thuật mơ hình hóa 62 CHƯƠNG PHẦN MỀM THỬ NGHIỆM THIẾT KẾ CA KIỂM THỬ 67 3.1 Phương pháp kỹ thuật áp dụng thử nghiệm 67 3.2 Áp dụng thiết kế tự động ca kiểm thử cho số mô-đun chương trình giảng câu lệnh có cấu trúc Trường THCS Thủy Sơn Hải Phòng 77 3.2.1 Chọn lọc số tập lập trình câu lệnh có cấu trúc trường THCS Thủy Sơn Hải Phòng 77 3.2.2 Đặc tả mơ-đun chương trình theo tốn chọn (input) theo cấp độ dễ, trung bình, khó 78 3.3 Một số giao diện chương trình 88 3.3.1 Form 88 3.3.2 Form chọn dường dẫn tới liệu 88 3.3.3 Hiển thị liệu 88 3.3.4 Tính tốn độ phức tạp 89 3.3.5 Xuất phương án kiểm thử 89 3.4 Đánh giá kết thử nghiệm hướng phát triển 90 3.4.1 Đánh giá 90 KẾT LUẬN 91 TÀI LIỆU THAM KHẢO 92 Tiếng việt 92 Tiếng Anh 92 DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT CNTT Công nghệ thông tin CSDL Cơ sở liệu Software technology Công nghệ phần mềm Software Engineering Kỹ nghệ phần mềm Software testing Kiểm thử phần mềm Software quality assurance (SQA) Bảo đảm chất lượng phần mềm Template Tiêu Test case Ca kiểm thử Comparision testing Kiểm thử so sánh Dynamic testing Kiểm thử động Acceptance testing Kiểm thử chấp thuận Statement Coverge Bao phủ câu lệnh Decision coverage Bao phủ định Decision/ Condition coverage Bao phủ định/ điều kiện Equivalence Patitioning Phân lớp tương đương Branch and Relational Operation Chiến lược kiểm thử DANH MỤC CÁC HÌNH VẼ Hình 1.1.Mơ hình chiến lược kiểm thử tổng thể 20 Hình 2.1 Xác định ca kiểm thử đường điều kiện 45 Hình 2.2 Đồ thị dòng để xác định tập đường nhỏ phủ lệnh 46 Hình 2.4 Xác định điều kiện cho đường 47 Hình 2.5 Phân chia lớp tương đương 53 Hình 2.6 Mơ hình phân hoạch phân tích giá trị biên 55 Hình 2.7 Các bước tiến hành theo kỹ thuật đồ thị nhân- 58 Hình 2.8 Xây dựng đồ thị nhân -quả đồ thị 59 Hình 2.9 Các phương án lựa chọn ca kiểm thử 60 Hình 2.10 Sơ đồ trang thái hệ thống thang máy 63 Hình 3.1 Các cấu trúc đồ thị dòng (sequence,if, while, until, case) 67 Hình 3.2 Sơ đồ điều khiển chương trình 69 Hình 3.3 Sơ đồ luồng điều khiển 70 Hình 3.4 Đồ thị dòng 70 Hình 3.5 Độ phức tạp chu trình xác định từ đồ thị dòng 71 Hình 3.6 Sơ đồ điều khiển chương trình 73 Hình 3.7 Sơ đồ luồng điều khiển gộp 73 Hình 3.8 Đồ thị dòng 74 Hình 3.9 Đồ thị dòng dùng để xác định ma trận kiểm thử 74 DANH MỤC CÁC BẢNG Bảng 2.1 Bảng kiểm thử kết 43 Bảng 2.2 Bảng kiểm thử có ràng buộc 43 Bảng 2.3 Tập giá trị bảo đảm ràng buộc đầu 43 Bảng 2.4 Tập giá trị bảo đảm ràng buộc đầu C 44 Bảng 2.5 Xác định đầu để kiểm thử 44 Bảng 2.6 Tập đường nhỏ phủ lệnh 47 Bảng 2.6 Dữ liệu kiểm thử theo tập đường 47 Bảng 2.7 Danh sách nhân- theo mô-đun 59 Bảng 2.8 Bảng định đồ thị nhân - 60 Bảng 2.9 Bảng liệu phục vụ cho ca kiểm thử 64 Bảng 2.10 Bảng liệu phục vụ cho ca kiểm thử 2: 65 Bảng 2.11 Kế hoạch kiểm thử hai trạng thái tầng (lên, xuống) đồng bộ: 65 Bảng 3.1 Tập đường 72 Bảng 3.2 Bảng tính độ phức tạp đồ thị dòng V(G): 75 Bảng 3.3 Bảng ma trận kiểm thử A = (aij) 76 Bảng 3.4 Tập đường kiểm thử 77 PHẦN MỞ ĐẦU Lý chọn đề tài Khoa học kỹ thuật ngày phát triển với tốc độ cao, hàng loạt sản phẩn phần mềm đưa phục vụ cho người Mỗi ngày nghe tin tức vấn đề an tồn, bảo mật thơng tin, ngân hàng báo cáo số dư tài khản khơng chín xác, đồn tầu bị va chạm, máy bay bị không gian hacker truy cập đến hàng triệu thẻ tín dụng Tại điều xẩy ra? Có thể lập trình viên máy tính khơng tìm cách để làm cho phần mềm đơn giản? Phần mềm ngày trở nên phức tạp hơn, có nhiều tính hơn, thiết kế nối với nhiều có nhiều trục trặc từ chương trình Việc xây dựng phát triển phần mềm ngày nâng cao công cụ hỗ trợ tiên tiến Nhờ vào mà chuyên gia phát triển thực hiệu đem lại nhiều lợi nhuận trước Tuy nhiên với công nghệ ngày cao đòi hỏi mức độ ứng dụng lớn phát sinh phức tạp với chi phí, thời gian tăng lên Do phương pháp để cải thiện điều thực kết hợp xây dựng trình kiểm thử Hầu hết công ty phần mềm lớn cam kết chất lượng phần mềm họ tạo ra, nhiệm vụ khó khăn Có nhiều lí cho việc này: Một sản phẩn phần mềm khơng phải đối tượng hữu hình được, thể cảm thấy lấy mẫu khó khăn để thử nghiệm sản phẩm phần mềm Kiểm thử phần mềm không coi trao đổi thương mại công nhận, việc tìm kiếm người chun nghiệp đủ điều kiện cho công việc thử nghiệm khó khăn Khơng giống q trình sản xuất xác định tiêu chuẩn hóa thiết kế sản phẩn q trình, kiểm sốt chất lượng, quy trình tương tự tiêu chuẩn hóa chưa xác định để thử nghiệm phần mềm 10 gồm: 1-Viết chương trình tính tổng S = 1+2+ +N cách dùng vòng lặp WHILE; 2-Viết chương trình giải phương trình bậc ax+b=0; 3-Viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0, a0 3.2.2 Đặc tả mơ-đun chương trình theo tốn chọn (input) theo cấp độ dễ, trung bình, khó Bài tập (dễ) Viết chương trình tính tổng S = 1+2+ +N cách dùng vòng lặp WHILE: Program TinhTong; Uses crt; Var N,i,S:integer; Begin Clrscr; Write('Nhap vao gia tri cua N :'); Readln(N); S:=0; i:=1; While i