MỤC LỤC 1
DANH MỤC CÁC HÌNH 3
LỜI NÓI ĐẦU 4
TÓM TẮT NỘI DUNG 6
CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 7
1.1 Các khái niệm cơ bản về kiểm thử phần mềm 7
1.1.1 Kiểm thử phần mềm là gì? 7
1.1.2 Các phương pháp kiểm thử 8
1.1.2.1 Kiểm thử tĩnh – Static testing 8
1.1.2.2 Kiểm thử động – Dynamic testing 8
1.1.3 Các chiến lược kiểm thử 9
1.1.3.1 Kiểm thử hộp đen – Black box testing 9
1.1.3.2 Kiểm thử hộp trắng – White box testing 10
1.1.3.3 Kiểm thử hộp xám – Gray box testing 11
1.1.4 Các cấp độ kiểm thử phần mềm 11
1.1.4.1 Kiểm thử đơn vị – Unit test 12
1.1.4.2 Kiểm thử tích hợp – Intergration Test 13
1.1.4.3 Kiểm thử hệ thống – System Test 15
1.1.4.4 Kiểm thử chấp nhận sản phẩm – Acceptance Test 17
1.1.4.5 Một số cấp độ kiểm thử khác 18
1.1.5 Các phương pháp kiểm thử con người 19
1.1.5.1 Tổng duyệt – Walkthrough 19
1.1.5.2 Thanh tra mã nguồn – Code Inspection 20
1.2 Nguyên tắc kiểm thử phần mềm 20
CHƯƠNG 2. THIẾT KẾ TEST – CASE 22
2.1 Khái niệm 22
2.2 Vai trò của thiết kế test – case 22
2.3 Quy trình thiết kế test – case 22
2.3.1 Kiểm thử hộp trắng - Kiểm thử bao phủ logic 24
2.3.1.1 Bao phủ câu lệnh – Statement Coverage 25
2.3.1.2 Bao phủ quyết định – Decision coverage 26
2.3.1.3 Bao phủ điều kiện – Condition coverage 27
2.3.1.4 Bao phủ quyết định/điều kiện – Decision/condition coverage 29
2.3.1.5 Bao phủ đa điều kiện – Multiple condition coverage 30
2.3.2 Kiểm thử hộp đen 32
2.3.2.1 Phân lớp tương đương – Equivalence Patitioning 32
2.3.2.2 Phân tích giá trị biên – Boundary Value Analysis 35
2.3.2.3 Đồ thị nguyên nhân – kết quả - Cause & Effect Graphing 36
2.3.2.4 Đoán lỗi – Error Guessing 42
2.3.3 Chiến lược 43
CHƯƠNG 3. ÁP DỤNG 44
3.1 Đặc tả 44
3.2 Thiết kế test – case 46
3.2.1 Vẽ đồ thị nguyên nhân – kết quả 46
3.2.2 Phân lớp tương đương 50
3.2.2.1 Xác định các lớp tương đương 50
3.2.2.2 Xác định các ca kiểm thử 50
3.2.3 Phân tích giá trị biên 51
3.2.3.1 Xét các trạng thái đầu vào 51
3.2.3.2 Xét không gian kết quả 51
3.2.4 Các phương pháp hộp trắng 52
3.2.4.1 Bao phủ câu lệnh 52
3.2.4.2 Bao phủ quyết định 54
3.2.4.3 Bao phủ điều kiện 55
3.2.4.4 Bao phủ quyết định – điều kiện 55
3.2.4.5 Bao phủ đa điều kiện 55
TÀI LIỆU THAM KHẢO 57
KẾT LUẬN 58
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 59
LỜI NÓI ĐẦU
Trong ngành kỹ nghệ phần mềm, năm 1979, có một quy tắc nổi
tiếng là: “Trong một dự án lập trình điển hình, thì xấp xỉ 50% thời gian và hơn
50% tổng chi phí được sử dụng trong kiểm thử các chương trình hay hệ thống đã
được phát triển”. Và cho đến nay, sau gần một phần 3 thế kỷ, quy tắc đó vẫn còn
đúng. Đã có rất nhiều ngôn ngữ, hệ thống phát triển mới với các công cụ tích
hợp cho các lập trình viên sử dụng phát triển ngày càng linh động. Nhưng kiểm
thử vẫn đóng vai trò hết sức quan trọng trong bất kỳ dự án phát triển phần mềm
nào.
Rất nhiều các giáo sư, giảng viên đã từng than phiền rằng: “
Sinh viên của chúng ta tốt nghiệp và đi làm mà không có được những kiến thực
thực tế cần thiết về cách để kiểm thử một chương trình. Hơn nữa, chúng ta hiếm
khi có được những lời khuyên bổ ích để cung cấp trong các khóa học mở đầu về
cách một sinh viên nên làm về kiểm thử và gỡ lỗi các bài tập của họ”.
Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm, Glenford J.
Myers, Tom Badgett, Todd M. Thomas, Corey Sandler đã khẳng định trong cuốn sách
của mình rằng: “ Hầu hết các thành phần quan trọng trong các thủ thuật
của một nhà kiểm thử chương trình là kiến thức về cách để viết các ca kiểm thử
có hiệu quả”. Việc xây dựng các test – case là một nhiệm vụ rất khó khăn. Để có
thể xây dựng được tập các test – case hữu ích cho kiểm thử, chúng ta cần rất
nhiều kiến thức và kinh nghiệm.
Đó là những lý do thúc đẩy em thực hiện đề tài này. Mục
đích của đề tài là tìm hiểu những kiến thức tổng quan nhất về kiểm thử, và cách
thiết kế test – case trong kiểm thử phần mềm. Việc thực hiện đề tài sẽ giúp em
tìm hiểu sâu hơn và lĩnh vực rất hấp dẫn này, vận dụng được các kiến thức đã
học để có thể thiết kế được các test – case một cách có hiệu quả và áp dụng vào
những bài toán thực tế.
Bản
báo cáo được hoàn thành dưới sự chỉ bảo tận tình của thầy giáo, ThS Nguyễn Hồng
Tân, sự giúp đỡ nhiệt tình của các thầy cô trong bộ môn Công nghệ phần mềm, và tất
cả các bạn. Em hi vọng sẽ nhận được sự đóng góp ý kiến của các thầy cô và các
bạn để bản báo cáo được hoàn thiện hơn. Những đóng góp đó sẽ là kinh nghiệm quý
báu cho em. Và từ đó, em có thể tiếp tục phát triển đề tài này cho đợt thực tập
tốt nghiệp và đồ án tốt nghiệp sắp tới, cũng như cho công việc trong tương lai. ==========
Loại file: docClick vào thanh toán để biết cách tải file về
Không có nhận xét nào:
Đăng nhận xét