Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
681,42 KB
Nội dung
i Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn ii ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG NGUYỄN THỊ TÍNH CÁC PHƢƠNG PHÁP ĐÁNH GIÁ CHẤT LƢỢNG PHẦN MỀM LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên- 2016 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn iii LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi, số liệu kết nghiên cứu luận văn trung thực không trùng lặp với đề tài khác Tôi xin cam đoan giúp đỡcho việc thực luận văn đƣợc cảm ơn thơng tin trích dẫn luận văn đƣợc rõ nguồn gốc Học viên Nguyễn Thị Tính Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn iv MỤC LỤC LỜI CAM ĐOAN ii MỤC LỤC .iv MỤC LỤC HÌNH ẢNH vi DANH MỤC BẢNG BIỂU vii ĐẶT VẤN ĐỀ viii I.TÍNH CẤP THIẾT CỦA ĐỀ TÀI viii II.MỤC TIÊU CỦA ĐỀ TÀI LUẬN VĂN ix III.ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU .ix IV.PHƢƠNG PHÁP NGHIÊN CỨU ix V.KẾT QUẢ DỰ KIẾN ĐẠT ĐƢỢC ix VI.CẤU TRÚC LUẬN VĂN .x CHƢƠNG QUI TRÌNH VÀ CHẤT LƢỢNG PHẦN MỀM 1.1 SẢN PHẨM VÀ CHẤT LƢỢNG PHẦN MỀM 1.1.1 Khái niệm sản phẩm phần mềm 1.1.2 Khái niệm lỗi phần mềm 1.1.3 Chi phí sửa lỗi 1.1.4 Khái niệm kiểm thử phần mềm 1.1.5 Những khó khăn kiểm thử phần mềm .7 1.1.6 Kiểm thử quy trình phát triển phần mềm 1.2 CHẤT LƢỢNG VÀ CÁC TIÊU CHÍ ĐÁNH GIÁ PHẦN MỀM .11 1.2.1 Chất lƣợng phần mềm 11 1.2.2 Các tiêu chí đánh giá 12 1.3 QUY TRÌNH KIỂM THỬ PHẦN MỀM 13 1.4 TỰ ĐỘNG HÓA KIỂM THỬ 14 CHƢƠNG CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM 16 2.1.NGUYÊN TẮC CƠ BẢN CỦA KIỂM THỬ PHẦN MỀM 16 2.1.1.Các nguyên tắc kiểm thử phần mềm 16 2.1.2 Luồng thông tin kiểm thử 19 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn v 2.1.3 Thiết kế trƣờng hợp kiểm thử 20 2.2.KIỂM THỬ HỘP ĐEN 20 2.2.1 Phân hoạch tƣơng đƣơng 21 2.2.2 Phân tích giá trị biên 26 2.2.3 Kiểm thử giá trị đặc biệt 28 2.2.4 Kỹ thuật đồ thị nhân 29 2.3.KIỂM THỬ HỘP TRẮNG 33 2.3.1 Kiểm thử dựa đồ thị luồng điều khiển 33 2.3.2.Kiểm thử dựa đồ thị luồng liệu 41 2.3.3.Kiểm thử điều kiện 43 2.4.SO SÁNH KIỂM THỬ HỘP ĐEN VÀ KIỂM THỬ HỘP TRẮNG 44 CHƢƠNG 3MỘT SỐ ỨNG DỤNG CỦA QUY TRÌNH KIỂM THỬ 45 3.1 BÀI TOÁN NAME CORRECTING 46 3.1.1 Giới thiệu toán 46 3.1.2 Phạm vi giải 49 3.1.3 Thiết kế trƣờng hợp kiểm thử 49 3.2 BÀI TOÁN SORT 52 3.2.1 Phát biểu toán 52 3.2.2 Phạm vi giải 52 3.2.3 Thiết kế trƣờng hợp kiểm thử 52 3.2.4 Kết kiểm thử 60 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 61 TÀI LIỆU THAM KHẢO 62 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn vi MỤ Hình 1 - Sản phẩm phần mềm Hình – Các nguyên nhân gây Hình - Chi phí cho việc sửa Hình - Các giai đoạn kiểm t Hình -Quy trình chi tiết Hình - Mơ hình luồng thơng Hình 2 - Ví dụ đồ thị nhân qu Hình – Quy trình tạo ca kiểm Hình – Đồ thị luồng điều kh Hình - Ví dụ tiêu chí bao ph Hình - Đồ thị biểu diễn chƣ Hình - Đồ thị luồng điều kh Hình - Đồ thị luồng điều kh Hình - Giao diện kiểm thử b Hình - Minh họa thuật tốn Hình 3 - Đồ thị lƣu trình cho Hình - Kết đƣợc ghi Hình - Giao diện điều khiển Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn vii DA Bảng 1 - Tỷ lệ công việc Bảng - Bảng liệt kê lớp Bảng – Các lớp tƣơng đƣơ Bảng – Các ca kiểm thử lớ cho chƣơng trình tính hoa hồng Bảng – Kiểm thử lớp tƣơng Bảng – Các lớp tƣơng đƣơng cho chƣơng trình tam giác dựa vào liệu vào Bảng – Các ca kiểm thử ch Bảng – Các ký hiệu đ Bảng - Bảng định tín Bảng - Minh họa testca Bảng - Bảng trƣờng hợ Bảng 3 - Các trƣờng hợp kiể Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn viii ĐẶT VẤN ĐỀ I TÍNH CẤP THIẾT CỦA ĐỀ TÀI Với phát triển ngày mạnh mẽ cơng nghiệp cơng nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng, việc xây dựng phát triển phần mềm thực ngày tỏ hiệu nhờ hỗ trợ nhiều cơng cụ tiện ích tiên tiến Cùng với đà phát triển đó, hoạt động quản lí chất lƣợng phần mềm ngày gánh trách nhiệm thêm nặng nề chuyên nghiệp Tuy nhiên thực tế cho thấy rằng, vấn đề quản lý chất lƣợng phần mềm chƣa thực đáp ứng đƣợc đòi hỏi khắt khe phần mềm chất lƣợng nhƣ tốc độ triển khai ứng dụng Các hoạt động đánh giá chất lƣợng phần mềm không đảm bảo đƣợc sản phẩm phần mềm khơng có lỗi Quản lý chất lƣợng phần mềm lĩnh vực cơng nghệ phần mềm, có nhiệm vụ kiểm tra xác minh tiêu chí phần mềm: tính đúng, tính khoa học, tính tin cậy, tính vững vàng, tính dễ chuyển mang, tính dễ sử dụng, dễ phát triển hồn thiện Đây q trình liên tục, xuyên suốt giai đoạn phát triển phần mềm nhằm đảm bảo phần mềm đáp ứng yêu cầu thiết kế nhu cầu ngƣời dùng Các kỹ thuật đánh giá chất lƣợng phần mềm đƣợc nghiên cứu chiều rộng lẫn chiều sâu, việc đánh giá trở thành quy trình bắt buộc dự án phát triển phần mềm [1] Trong qui trình này, kiểm thử phần mềm giai đoạn quan trọng nhằm đảm bảo chất lƣợng phần mềm, trình chạy thử ứng dụng để phát lỗi xem thỏa mãn yêu cầu đặt giai đoạn phát triển phần mềm [3] Một sản phẩm phần mềm đƣợc phân phối phải có đầy đủ chức yêu cầu tƣơng thích với phần cứng khách hàng [4], [2] Quy trình phát triển phần mềm bao gồm nhiều giai đoạn nhiều hoạt động nhằm tạo sản phẩm phần mềm Trong đó, kiểm thử hoạt động đóng vai trị quan trọng nhằm phát lỗi phần mềm [5] Đánh giá chất lƣợng phần mềm ngày khó khăn hơn, ngơn ngữ lập trình, hệ điều hành phƣơng pháp, cơng cụ phát triển phần mềm nhƣ thiết bị phần cứng Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn ix ngày phong phú đa dạng.Vì vậy, học viên chọn đề tài “Các phương pháp đánh giá chất lượng phần mềm” làm hƣớng nghiên cứu cho luận văn II MỤC TIÊU CỦA ĐỀ TÀI LUẬN VĂN Mục đích luận văn là: Nghiên cứu, tìm hiểu nguyên lý, phƣơng pháp kỹ thuật quản lý đánh giá chất lƣợng phần mềm Thiết kế trƣờng hợp kiểm thử xây dựng vài kịch kiểm thử cụ thể III ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU đây: Luận tập trung tìm hiểu, phân tích khảo sát đổi tượng sau Quy trình chất kỹ thuật đánh giá chất lƣợng phần mềm Tìm hiểu phát triển kĩ thuật kiểm thửhộp đen kiểm thử hộp trắng Thiết kế trƣờng hợp kiểm thử với liệu lớn IV PHƢƠNG PHÁP NGHIÊN CỨU Phƣơng pháp nghiên cứu đƣợc sử dụng luận văn chủ yếu bao gồm: Phƣơng pháp luận: Nghiên cứu, tìm hiểu khái niệm, chiến lƣợc kỹ thuật đánh giá chất lƣợng phần mềm Phƣơng pháp thực nghiệm: thiết kế trƣờng hợp kiểm thử áp dụng cho kịch kiểm thử cụ thể V KẾT QUẢ DỰ KIẾN ĐẠT ĐƢỢC Luận văn tập trung chủ yếu vào kĩ thuật kiểm thử phần mềm khâu quan trọng quản lí chất lƣợng phần mềm Thiết kế trƣờng hợp kiểm thử cho số kịch kiểm thử cụ thể Đặc tả trƣờng hợp kiểm thử kết kiểm thử Xây dựng kịch kiểm thử Các kịch kiểm thử đƣợc chia làm hai loại chính: kiểm thử chức kiểm thử phi chức năng.Hai toán 3.1 3.2 đƣợc đề xuất chƣơng nhằm minh họa cho kĩ thuật đƣợc vận dụng hai loại kiểm thử nói Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 51 Dữ liệu chuẩn, bắt đầu tên chữ Dữ liệu đúng, chữ 10 kèm với chữ số Trong trƣờng hợp test Bảng 3.1, ta thấy test case 7, 9, với liệu đầu vào đạt chuẩn Vậy mà hàm biến đổi đúng, chuẩn thành sai, lệch chuẩn Trên vài trƣờng hợp kiểm thử với liệu đặc trƣng cho toán NC, nhằm đánh giá khả thực thi chƣơng trình Hình - Giao diện kiểm thử toán NC Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 52 3.2 BÀI TOÁNSORT Mục minh họa kịch kiểm thử thuật toán xếp kỹ thuật lai hộp đen hộp trắng 3.2.1 Phát biểu tốn Cho chƣơng trình xếp đƣợc phát biểu nhƣ sau: Gọi S chƣơng trình xếp Bảng đặc tả T cho chƣơng trình S mô tả nhƣ sau: S nhận đầu vào số nguyên N=số phần tử mảng cần xếp K phần tử số N phần tử Chƣơng trình S nhận vào dãy phần tử đƣợc nhận tạo ngẫu nhiên sau thực chƣơng trình cho ta mảng gồm N phần tử đƣợc nhập có thứ tự tăng dần Nghĩa với K (1 K N) Ki2->8->10->12 Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 55 Lộ trình 2: 1->2->3->8->… Lộ trình 3: 1->2->8->9->8->… Lộ trình 4: 1->2->8->10->11->10->… Lộ trình 5: 1->2->3->4->5->7->2->… Lộ trình 6: 1->2->3->4->6->7->2->… Các dấu chấm lửng (…) phía sau đƣờng dẫn có nghĩa đƣờng dẫn qua phần cịn lại cấu trúc chấp nhận đƣợc Chúng ta xác định liệu thử tƣơng ứng thỏa mãn tiêu chí bao phủ lộ trình độc lập: DT1 (ứng với lộ trình 1): 1->2->8->10->12 Dữ liệu cần xếp: Các tham số (left, mid, right): 4 DT2 (ứng với lộ trình 2): 1->2->3->8>… Dữ liệu cần xếp: Các tham số (left, mid, right): Dữ liệu cần xếp: Các tham số (left, mid, right): 4 Dữ liệu cần xếp: Các tham số (left, mid, right): Dữ liệu cần xếp: Các tham số (left, mid, right): Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 56 Bảng - Bảng trƣờng hợp kiểm thử cho module Merge Số hiệu lộ trình Các trƣờng hợp kiểm thử cho chức Split Với chức Split để chia mảng thành hai nửa, mảng có nhiều phần tử Cứ nhƣ gọi đệ quy cho hai nửa Sau nối hai nửa thành mảng xếp Với chức áp dụng phƣơng pháp kiểm thử điều kiện để phát sinh trƣờng hợp kiểm thử Trong chức Split lệnh đƣợc thực ứng với điều kiện có dạng: C = E1>E2 E1 ứng với left E2 ứng với right Điều kiện ràng buộc cho C có dạng (D1, D2) với D1 D2 >, = < Vậy trƣờng hợp kiểm thử cho Split đƣợc phát sinh nhƣ sau: Trƣờng hợp 1: left > right Trƣờng hợp 2: left = right Trƣờng hợp 3: left < right Trong left >=0, right < số phần tử dãy cần tách Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 57 Bảng 3 - Các trƣờng hợp kiểm thử cho module Split Số hiệu Split Split Split Data dãy số cần xếp Các tham số vị trí bắt đầu kết thúc dãy cần tách Các trƣờng hợp kiểm thử cho chức MergeSort Ở phần xây dựng trƣờng hợp kiểm thử cho chức MergeSort Chức gọi thực hàm Split đƣợc kiểm thử cuối cùng, khả xảy lỗi module khó xảy Tuy nhiên, cần thiết Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 58 kế trƣờng hợp kiểm thử cho module để thực việc kiểm thử tích hợp module đƣợc tích hợp thành module MergeSort Với liệu đầu vào đƣợc tổ chức thành lớp tƣơng đƣơng nhƣ sau: Dữ liệu đầu vào ngẫu nhiên Dữ liệu đầu vào có thứ tự Dữ liệu đầu vào xếp theo thứ tự ngƣợc Mảng đƣợc xếp gồm K phần tử (1 ≤ K ≤ N, N = 100000) Do miền liệu đầu vào đƣợc phần hoạch thành lớp tƣơng đƣơng: Lớp tƣơng đƣơng hợp lệ (1): Mảng có từ đến 100000 phần tử Lớp tƣơng đƣơng không hợp lệ (2): Mảng có dƣới phần tử Lớp tƣơng đƣơng khơng hợp lệ (3): Mảng có 100000 phần từ Các giá trị biên lớp tƣơng đƣơng Bao gồm: Lớp tƣơng đƣơng hợp lệ (1) có giá trị biên là: 1, 100000 Lớp tƣơng đƣơng khơng hợp lệ (2) có giá trị biên Lớp tƣơng đƣơng khơng hợp lệ (3) có giá trị biên 100000+1 Dựa vào cách phân vùng tƣơng đƣơng giá trị biên trên, ta có trƣờng hợp kiểm thử cho mảng gồm 100000phần tử sau: Trƣờng hợp mảng có phần tử (giá trị biên) Trƣờng hợp mảng có phần tử (giá trị biên) Trƣờng hợp mảng có 100000 phần tử (giá trị biên) Trƣờng hợp mảng có 100001 phần tử (giá trị biên) Trƣờng hợp mảng có k phần tử (với 1≤ k ≤ 100000) giá trị thuộc lớp tƣơng đƣơng hợp lệ (1) Từ việc phân tích trƣờng hợp hợp lệ khơng hợp lệ trên, tổng kết bảng trƣờng hợp kiểm thử cho MergeSort nhƣ sau: Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 59 Số hiệu Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 60 3.2.4Kết kiểm thử Việc kiểm thử phát lỗi mã code, kết kiểm thử ứng với trƣờng hợp kiểm thử đƣợc ghi lại vào file.log Hình - Kết ghi file log Kiểm thử khả thực (kiểm thử hộp đen) Sau thuật toán đƣợc cài đặt kiểm thử đơn vị, kiểm thử tích hợp thành phần để phát lỗi, bắt đầu thực việc kiểm thử hiệu thuật toán, thời gian thực thi thuật tốn… Hình - Giao diện điều khiển kiểm thử thuật tốn xếp Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 61 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kiểm thử phần mềm hoạt động quan trọng nhằm đảm bảo chất lƣợng phần mềm Việc nghiên cứu, lựa chọn kỹ thuật chiến lƣợc kiểm thử phần mềm phù hợp giúp cho việc kiểm thử có hiệu quả, giảm chi phí thời gian Việc xây dựng tài liệu kiểm thử phần mềm hợp lý giúp cho việc tổ chức, quản lý thực kiểm thử có hiệu Trong luận văn học viên thực đƣợc: Đạt đƣợc kiến thức công việc quản lý chất lƣợng việc phát triển phần mềm thử kỹ thuật Nắm đầy đủ kiến thức kỹ thuật kiểm thử chiến lƣợc kiểm So sánh khác kỹ thuật kiểm thử, đồng thời phân tích rõ Thiết kế kiểm thử cho vài kịch kiểm thử cụ thể Kết nghiên cứu áp dụng thực tế cho đề tài, dự án phát triển phần mềm, làm tài liệu tham khảo cho sở dự án phát triển phần mềm Hiện tại, luận văn chƣa liên kết nhiều với công cụ kiểm thử tự động công cụ kiểm thử tự động phạm vi diện rộng Internet Trong hƣớng nghiên cứu tiếp theo, học viên tiếp tục thực với ứng dụng lớn,nhiều trƣờng hợp khác nhau, phức tạp Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 62 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Thanh Bình, Kiểm thử phần mềm (2013), NXB Giáo dục [2] Thạc Bình Cƣờng (2011), Bài giảng kiểm thử bảo đảm chất lượng phần mềm, Khoa Công nghệ thông tin - Đại học Bách khoa Hà Nội [3] Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng UML, [4] Nguyễn Xn Huy (1996), Giáo trình cơng nghệ phần mềm, Nhà xuất Đại học Tổng hợp Tp HCM [5] Nguyễn Xuân Huy (2013), Giáo trình kiểm định phần mềm, Tài liệu tập huấn Bộ Thông tin Truyền thông [6] Nguyễn Văn Vỵ, Nguyễn Việt Hà (2008), Giáo trình kỹ nghệ phần mềm, Nhà xuất Đại học quốc gia Hà Nội Tiếng Anh [7]Boehm B W, Software Engineering (1976), IEEE Transactions on Computing [8] Cem Kaner, Jack Falk, Hung Q Nguyen (1999), Testing Computer software 2nd Edition, Wiley [9] Avizienis A., Laprie J.-C., and Randell B (2011), Fundamental Concepts of Dependability, Technical report, LAAS-CNRS [10] Hans Buwalda, Dennis Janssen, Iris Pinkster (2002), Integrated Test Design and Automation using the TestFrame Method, Addison-Wesley [11] I Burnstein (2002),Practical Software Testing, Springer [12] Myers G.J (2004), The Art of Software Testing, Wiley [13] Patton R (2005), Software Testing, Sams Publishing [14]ISTQB (2015), International software testing qualification board,http://www.istqb.org/downloads/syllabi/foundation-level-syllabus.html [15] Paul Ammann and Jeff Offutt (2016), Introduction to Software Testing http://www.cs.gmu.edu/~offutt/softwaretest/ Số hóa Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn ... phát triển phần mềm 1.2 CHẤT LƢỢNG VÀ CÁC TIÊU CHÍ ĐÁNH GIÁ PHẦN MỀM .11 1.2.1 Chất lƣợng phần mềm 11 1.2.2 Các tiêu chí đánh giá 12 1.3 QUY TRÌNH KIỂM THỬ PHẦN MỀM ... sửa lỗi 1.2 CHẤT LƢỢNG VÀ CÁC TIÊU CHÍ ĐÁNH GIÁ PHẦN MỀM 1.2.1 Chất lượng phần mềm Chất lƣợng phần mềm máy tính cịn vấn đề nhiều tranh luận Trong số trƣờng hợp, nói tới chất lƣợng phần mềm nói tới... lý chất lƣợng phần mềm chƣa thực đáp ứng đƣợc đòi hỏi khắt khe phần mềm chất lƣợng nhƣ tốc độ triển khai ứng dụng Các hoạt động đánh giá chất lƣợng phần mềm không đảm bảo đƣợc sản phẩm phần mềm