Sau khi trình bày tổng quan về kiểm thử phần mềm, luận văn đi sâu vào quá trình kiểm thử phần mềm hướng đối tượng, đặc biệt cho trường hợp máy trạng thái.. Trên cơ sở các phương pháp kiể
Trang 1Nghiên cứu kiểm thử bao phủ phần mềm và ứng
dụng Ngô Thùy Linh
Trường Đại học Công nghệ Luận văn ThS Chuyên ngành: Công nghệ thông tin; Mã số: 60 48 10
Người hướng dẫn: PGS.TS Nguyễn Văn Vỵ
Năm bảo vệ: 2010
Abstract: Chương 1: Tổng quan về kiểm thử phần mềm Chương 2: Kiểm thử phần mềm hướng
đối tượng Chương 3: Kiểm thử bao phủ phần mềm Chương 4: Máy trạng thái và kiểm thử bao phủ máy trạng thái
Keywords: Kiểm thử phần mềm; Công nghệ phần mềm; Máy trạng thái
Content:
MỞ ĐẦU
1 Lý do chọn đề tài
Với sự phát triển như vũ bão của Công nghệ thông tin (CNTT) nói chung và Công nghệ phần mềm nói riêng, việc phát triển phần mềm ngày càng được hỗ trợ bởi nhiều công cụ phát triển tiên tiến, làm cho việc xây dựng phần mềm đỡ mệt nhọc, nhanh hơn và hiệu quả hơn Tuy nhiên, vì độ phức tạp của phần mềm và những giới hạn về thời gian, các nguồn lực, nên các hoạt động đảm bảo chất lượng phần mềm và kiểm thử phần mềm ngày càng chặt chẽ, song vẫn không đảm bảo rằng các sản phẩm phần mềm được tạo ra không còn lỗi Lỗi vẫn luôn tiềm ẩn trong mọi sản phẩm và có thể gây ra những thiệt hại khôn lường Đặc biệt, do nguồn lực có hạn, việc kiểm thử phần mềm có thể phải ngừng lại khi cạn kiệt nguồn lực hay thời gian cho phép đã hết Vấn đề đặt ra là, có thể dừng qúa trình kiểm thử được không hay bắt buộc phải kiếm thêm nguồn lực để tiếp tục Ngay trong trường hợp còn nguồn lực, khi kiểm thử không phát hiện thấy lỗi, một câu hỏi tương tự đặt ra: có cần thiết phải tiếp tục kiểm thử nữa hay không Để trả lời những câu hỏi trên đây, có một số cách cho phép đánh giá chất lượng đạt được của phần mềm để đưa ra quyết định:
Trang 2− Cách thứ nhất là xây dựng mô hình đo độ tin cậy để đánh giá chương trình Khi chương
trình đạt được một mức độ tin cậy nào đó thì có thể dừng lại
− Cách thử hai là đánh giá độ bao phủ chương trình của mục tiêu kiểm thử đặt ra đã thực
hiện được Khi độ bao phủ đạt được số phần trăm nào đó, đây cũng là một tiêu chí đánh giá cho phép có thể dừng quá trình kiểm thử
Vì những lý do trên, đề tài ”nghiên cứu kiểm thử bao phủ phần mềm và ứng dụng” được
chọn làm đề tài cho luận văn cao học của tôi
Sau khi trình bày tổng quan về kiểm thử phần mềm, luận văn đi sâu vào quá trình kiểm thử phần mềm hướng đối tượng, đặc biệt cho trường hợp máy trạng thái Trên cơ sở các phương pháp kiểm thử hướng đối tượng, nghiên cứu các phương pháp đánh giá độ bao phủ của kiểm thử nói chung, đặc biệt kiểm thử cho phần mềm hướng đối tượng Tiếp đó tiến hành xây dựng một chương trình thử nghiệm về kiểm thử phủ theo các phương pháp đã biết để đánh giá mức độ bao phủ của các ca kiểm thử được tiến hành cho một chương trình được phát triển sử dụng phương pháp máy trạng thái – một trường hợp riêng của phát triển phần mềm hướng đối tượng
2 Đối tượng nghiên cứu
Lý thuyết về kiểm thử phần mềm nói chung và kiểm thử phần mềm hướng đối tượng nói riêng
Khái niệm về kiểm thử phủ và một vài phương pháp được sử dụng
Một vài công cụ dùng để đánh giá độ bao phủ của kiểm thử
Lý thuyết máy trạng thái và thử nghiệm về kiểm thử phủ
3 Mục đích và phương pháp nghiên cứu
Mục đích của nghiên cứu là góp phần hoàn thiện các công cụ đánh giá độ bao phủ của kiểm thử trợ giúp cho trình tiến hành kiểm thử phần mềm có thể thực hiện một cách hiệu quả hơn
4 Ý nghĩa lý luận và thực tiễn của đề tài
Kết quả nghiên cứu góp phần hoàn thiện các phương pháp kiểm thử phủ đã được nghiên cứu từ trước đến nay Kết quả nghiên cứu cũng sẽ trang bị thêm một công cụ cho việc đánh giá kết quả của việc kiểm thử phần mềm Với nội dung như trên, luận văn bao gồm:
Chương I: Tổng quan về kiểm thử phần mềm: Chương này cho một cái nhìn tổng quan về kiểm thử phần mềm: các khái niệm cơ bản về kiểm thử phần mềm, các chiến lược và quy tắc trong kiểm thử, các phương pháp kiểm thử phần mềm tiêu biểu
Trang 3Chương II: Kiểm thử phần mềm hướng đối tượng: Chương này trình bày khái quát về lập trình hướng đối tượng, khái niệm kiểm thử hướng đối tượng và tiến trình kiểm thử hướng đối tượng
Chương III: Kiểm thử bao phủ phần mềm: Trong chương này, đi tìm trình bày về kiểm thử bao phủ phần mềm, các phương pháp bao phủ phần mềm và các công cụ phân tích mức độ bao phủ phần mềm
Chương IV: Máy trạng thái và kiểm thử bao phủ máy trạng thái: Trong chương này trình bày khái lược về máy trạng thái và kiểm thử bao phủ máy trạng thái, xây dựng một chương trình thử nghiệm tiến hành kiểm thử phủ các trạng thái và các chuyển trạng thái cho bài toán cầu thang máy
Cuối cùng là kết luận và tài liệu tham khảo
MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Đối tượng nghiên cứu 2
3 Mục đích và phương pháp nghiên cứu 2
4 Ý nghĩa lý luận và thực tiễn của đề tài 2
CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM ERROR! BOOKMARK NOT DEFINED
1.1 Khái niệm về lỗi phần mềm Error! Bookmark not defined 1.2 Nguyên nhân có lỗi phần mềm Error! Bookmark not defined 1.3 Chi phí cho việc sửa lỗi Error! Bookmark not defined 1.4 Khái niệm về kiểm thử phần mềm Error! Bookmark not defined 1.5 Các mức của kiểm thử phần mềm Error! Bookmark not defined 1.5.1 Kiểm thử mức đơn vị Error! Bookmark not defined 1.5.2 Kiểm thử tích hợp Error! Bookmark not defined 1.5.3 Kiểm thử mức hệ thống Error! Bookmark not defined 1.5.4 Kiểm thử chấp nhận Error! Bookmark not defined 1.5.5 Kiểm thử hồi quy Error! Bookmark not defined 1.6 Các chiến lược kiểm thử Error! Bookmark not defined 1.7 Các phương pháp kiểm thử Error! Bookmark not defined 1.7.1 Kiểm thử hộp trắng Error! Bookmark not defined 1.7.2 Kiểm thử hộp đen Error! Bookmark not defined
Trang 41.7.3 Kiểm thử dựa trên mô hình Error! Bookmark not defined
CHƯƠNG 2: KIỂM THỬ HƯỚNG ĐỐI TƯỢNG ERROR! BOOKMARK NOT DEFINED
2.1 Lập trình hướng đối tượng Error! Bookmark not defined 2.1.1 Khái niệm lập trình hướng đối tượng Error! Bookmark not defined 2.1.2 Các tính chất của lập trình hướng đối tượng Error! Bookmark not defined 2.2 Kiểm thử phần mềm hướng đối tượng Error! Bookmark not defined 2.3 Điểm khác biệt trong kiểm thử phần mềm hướng đối tượng Error! Bookmark not defined 2.4 Những khó khăn kiểm thử phần mềm hướng đối tượng Error! Bookmark not defined 2.5 Tiến trình kiểm thử hướng đối tượng Error! Bookmark not defined 2.5.1 Kiểm thử đơn vị trong mô hình hướng đối tượng Error! Bookmark not defined 2.5.2 Kiểm thử tích hợp hướng đối tượng - OOIT Error! Bookmark not defined 2.5.3 Kiểm thử hệ thống Error! Bookmark not defined
CHƯƠNG 3 KIỂM THỬ BAO PHỦ PHẦN MỀM ERROR! BOOKMARK NOT DEFINED
3.1 Khái niệm về kiểm thử bao phủ Error! Bookmark not defined 3.2 Các độ đo bao phủ truyền thống Error! Bookmark not defined 3.2.1 Bao phủ câu lệnh Error! Bookmark not defined 3.2.2 Bao phủ nhánh Error! Bookmark not defined 3.2.3 Bao phủ đường đi Error! Bookmark not defined 3.2.4 Bao phủ điều kiện Error! Bookmark not defined 3.2.5 Bao phủ nhiều điều kiện Error! Bookmark not defined 3.3 Bao phủ phần mềm hướng đối tượng Error! Bookmark not defined 3.3.1 Một cách mới đo mức độ bao phủ Error! Bookmark not defined 3.3.2 Bao phủ phạm vi kế thừa Error! Bookmark not defined 3.3.3 Kiểm thử phạm vi dựa trên trạng thái Error! Bookmark not defined 3.4 Các công cụ phân tích kiểm thử bao phủ Error! Bookmark not defined
CHƯƠNG 4: MÁY TRẠNG THÁI VÀ THỬ NGHIỆM KIỂM THỬ BAO PHỦ MÁY TRẠNG THÁI ERROR! BOOKMARK NOT DEFINED
4.1 Máy trạng thái hữu hạn Error! Bookmark not defined 4.1.1 Khái niệm về máy trạng thái hữu hạn Error! Bookmark not defined 4.1.2 Mô hình máy trạng thái Error! Bookmark not defined 4.1.3 Lược đồ trạng thái Error! Bookmark not defined 4.1.4 Cách xây dựng biểu đồ chuyển trạng thái Error! Bookmark not defined 4.1.5 Ví dụ về đặc tả bằng máy tráng thái hữu hạn Error! Bookmark not defined 4.2 Vấn đề bao phủ mô hình máy trạng thái Error! Bookmark not defined
Trang 54.2.1 Những đặc trưng của máy trạng thái Error! Bookmark not defined 4.2.2 Kiểm thử bao phủ máy trạng thái Error! Bookmark not defined 4.3 Chương trình thử nghiệm Error! Bookmark not defined 4.3.1 Giới thiệu bài toán Error! Bookmark not defined 4.3.2 Xây dựng các ca kiểm thử cho chương trình Error! Bookmark not defined
4.3.3 Xây dựng chương trình 59
KẾT LUẬN ERROR! BOOKMARK NOT DEFINED TÀI LIỆU THAM KHẢO Error! Bookmark not defined