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ẬTXÁCĐỊNHCÁCCAKIỂMTHỬVÀDỮLIỆUKIỂMTHỬNHỜMATRẬNKIỂMTHỬ 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ântrâ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ỂMTHỬ PHẦN MỀM VÀCAKIỂMTHỬ 14 1.1.Tổng quan kiểmthử phần mềm 14 1.1.1.Khái niệm kiểmthử phần mềm 14 1.1.2 Mục đích kiểmthử phần mềm 16 1.1.3.Chiến lược kiểmthử phần mềm 17 1.1.3.1.Khái niệm chiến lược kiểmthử 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ểmthử khác 21 1.1.4 Các phương pháp kỹthuậtkiểmthử 26 1.1.4.1.Một số phương pháp kiểmthử 26 1.1.4.2.Các kỹthuậtkiểmthử 27 1.2 Những nét chung cakiểmthử 31 1.2.1.Khái niệm cakiểmthử 31 1.2.2.Vấn đề thiết kế cakiểmthử 32 CHƯƠNG CÁCKỸTHUẬT THIẾT KẾ CAKIỂMTHỬ 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ểmthử vòng lặp 39 2.1.6 Kỹthuật Điều kiện logic 41 2.1.7 Kỹthuậtmatrậnkiểmthử 48 2.1.8 Matrậnkiểmthử 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Ế CAKIỂMTHỬ 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 cakiểmthử 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ểmthử 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ểmthử phần mềm Software quality assurance (SQA) Bảo đảm chất lượng phần mềm Template Tiêu Test case Cakiểmthử Comparision testing Kiểmthử so sánh Dynamic testing Kiểmthử động Acceptance testing Kiểmthử 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ểmthử DANH MỤC CÁC HÌNH VẼ Hình 1.1.Mơ hình chiến lược kiểmthử tổng thể 20 Hình 2.1 Xácđịnhcakiểmthử đườ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 cakiểmthử 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địnhmatrậnkiểmthử 74 DANH MỤC CÁC BẢNG Bảng 2.1 Bảng kiểmthử kết 43 Bảng 2.2 Bảng kiểmthử 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ểmthử 44 Bảng 2.6 Tập đường nhỏ phủ lệnh 47 Bảng 2.6 Dữliệukiểmthử 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 cakiểmthử 64 Bảng 2.10 Bảng liệu phục vụ cho cakiểmthử 2: 65 Bảng 2.11 Kế hoạch kiểmthử 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 matrậnkiểmthử A = (aij) 76 Bảng 3.4 Tập đường kiểmthử 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ểmthử 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ểmthử 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