Bài giảng Kiểm chứng, thẩm định và kiểm thử (Verification, Validation, and Testing) - ĐH Cần Thơ
lượt xem 6
download
Mục tiêu của bài giảng này là giúp các bạn sinh viên có thể hiểu được các khái niệm về verification, valdation, vàt testing; nắm được các nguyên lý về kiểm thử; hiểu khái niệm ca kiểm thử (test case); các phương pháp thiết kế test case; phương pháp kiểm thử chương trình và phương pháp kiểm thử hệ thống.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiểm chứng, thẩm định và kiểm thử (Verification, Validation, and Testing) - ĐH Cần Thơ
- Kiểm Chứng, Thẩm Định và Kiểm Thử (Verification, Validation, and Testing)
- Mục đích z Sau buổi học sinh viên phải nắm được: − Hiểu các khái niệm: verification, valdation, và testing − Nắm được các nguyên lý về kiểm thử − Hiểu khái niệm ca kiểm thử (test case) − Các phương pháp thiết kế test case − Làm thế nào để kiểm thử chương trình − Làm thế nào để kiểm thử hệ thống 2
- Nội dung z Giới thiệu − Verification,Validation, và Testing z Các nguyên lý về kiểm thử z Ca kiểm thử (test case) z Các kỹ thuật kiểm thử chương trình − Kiểm thử chức năng − Kiểm thử cấu trúc z Các giai đoạn và chiến lược kiểm thử 3
- Tài liệu z Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) z Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) z Giáo trình kỹ nghệ phần mềm (chương 5) z Các tài liệu điện tử khác 4
- Verification,Validation, và Testing z Kiểm chứng (Verification) − có đúng đặc tả không, có đúng thiết kế không − phát hiện lỗi lập trình z Thẩm định (Validation) − có đáp ứng nhu cầu người dùng không − có hoạt động hiệu quả không − phát hiện lỗi phân tích, lỗi thiết kế (lỗi mức cao) z V&V = Verification and Validation − mục tiêu là phát hiện và sửa lỗi PM, đánh giá tính dùng được của PM z Thứ tự thực hiện: Verification -> Validation 5
- Kiểm chứng/Thẩm định tĩnh và động z Kiểm chứng/Thẩm định tĩnh − không thực hiện chương trình − xét duyệt yêu cầu, thiết kế, mã nguồn − tiến hành ở mọi công đoạn phát triển − khó đánh giá tính hiệu quả của sản phẩm z Kiểm chứng/Thẩm định động (kiểm thử - Testing) − thực hiện chương trình − cần có mã nguồn − phát hiện lỗi lập trình − đánh giá tính hiệu quả phần mềm − là cách duy nhất để kiểm tra yêu cầu phi chức năng 6
- Mô hình phát triển “V” Đặc tả Đặc tả hệ Thiết kế hệ Thiết kế chi yêu cầu thống thống tiết Kế hoạch Kế hoạch Kế hoạch kiểm Mã hóa mô kiểm thử kiểm thử thử tích hợp đun & kiểm chấp nhận tích hợp HT HT con thử mô đun Kiểm thử tích Kiểm thử Kiểm thử tích Dịch vụ hợp các hệ chấp nhận hợp hệ thống thống con 7
- Kiểm thử phần mềm (Testing) z Tập các hoạt động với mục đích khám phá các lỗi và khuyết tật/khiếm khuyết z Mục đích của kiểm thử: − Thiết kế các ca kiểm thử (test cases) với khả năng tìm kiếm các lỗi/khuyết tật − Thực hiện chương trình với mục đích tìm các lỗi/khuyết tật z Mỗi phép kiểm thử (a test) chỉ thành công khi − một lỗi được phát hiện − một kết quả chỉ ra sự thất bại của thủ tục kiểm thử được trả lại 8
- Các loại kiểm thử phần mềm z Kiểm thử tìm khuyết tật − tìm lỗi lập trình − tiến hành dựa trên phân tích đặc tả chức năng, − phân tích mã nguồn z Kiểm thử thống kê − đánh giá tính dùng được của sản phẩm − sử dụng dữ liệu thực (dựa trên thống kê) − số người truy cập − số giao tác − cơ sở dữ liệu lớn 9
- Yêu cầu đối với kiểm thử z Tính lặp lại − kiểm thử phải lặp lại được (kiểm tra xem lỗi đã được sửa hay chưa) − dữ liệu/trạng thái phải mô tả được z Tính hệ thống − đảm bảo kiểm tra hết các trường hợp (coverage) z Được lập tài liệu − kiểm soát tiến trình/kết quả 10
- Các nguyên lý kiểm thử PM z Các phép kiểm thử phải tương ứng với các yêu cầu của HT z Mỗi phép kiểm thử nên được lập kế hoạch từ rất sớm trước khi tiến hành kiểm thử z Qui luật Pareto hay qui luật 80/20 (qui luật thiểu số quan trọng và phân bố nhân tố) − khoảng 80% kết quả là do 20% nguyên nhân gây ra − “80% of all errors uncovered during testing will likely be traceable to 20% of all program modules or classes” 11
- Ca kiểm thử (test case) z Ca kiểm thử: dữ liệu để kiểm tra hoạt động của chương trình z Ca kiểm thử tốt − được thiết kế để phát hiện một lỗi của chương trình z Kiểm thử thành công: phát hiện ra lỗi z Mục đích: − Chứng minh được sự tồn tại của lỗi − Không chứng minh được sự không có lỗi 12
- Nôi dung của test case z Tên mô đun/chức năng muốn kiểm thử dữ liệu vào − dữ liệu thông thường: số, xâu kí tự, file,... − môi trường thử nghiệm: phần cứng, OS,... − thứ tự thao tác (khi kiểm thử giao diện) z Kết quả mong muốn − thông thường: số, xâu kí tự, file,... − màn hình, thời gian phản hồi z Kết quả thực tế 13
- Các kỹ thuật kiểm thử chương trình z Kiểm thử chức năng (functional testing) − dựa trên đặc tả chức năng − phát hiện các sai sót về chức năng − không quan tâm đến cách cài đặt z Kiểm thử cấu trúc (structured testing) − kiểm thử có nghiên cứu mã nguồn − phân tích thứ tự thực hiện các lệnh 14
- Kiểm thử chức năng Functional testing / Black box testing Dựa trên đặc tả chức năng • Test case được thiết kế để kiểm tra chức năng • Phát hiện các khiếm khuyết so với đặc tả • Không quan tâm đến cách cài đặt (mã nguồn) - Phát hiện sai sót, thiếu sót chức năng - Sai sót về giao diện của mô đun - Kiểm tra tính hiệu quả - Phát hiện lỗi khởi tạo, lỗi kết thúc,… 15
- Phân hoạch tương đương Equivalence partitioning • Không thể kiểm thử mọi trường hợp • Chia dữ liệu thành các miền có cùng hành vi • Tạo một test case cho từng miền • Tạo test case cho biên của các miền - nhiều lỗi xuất hiện với giá trị biên 16
- Phân hoạch tương đương - Ví dụ Hàm tính trị tuyệt đối - miền dữ liệu ≥ 0 - miền dữ liệu < 0 Input Expected Output 100 100 -20 20 0 0 17
- Mở rộng các test case Tạo test case cho các trường hợp đặc biệt - biên của số trong máy tính (vd. 32767, -32768) - số không (0) - số âm, số thập phân - dữ liệu sai kiểu - dữ liệu ngẫu nhiên 18
- Kiểm thử cấu trúc Structural testing / White box testing • Xây dựng ca kiểm thử dựa trên phân tích mã nguồn • Xây dựng bộ test case để kiểm tra mọi dòng lệnh • Phân tích các lệnh rẽ nhánh, vòng lặp • Phù hợp với các mô đun nhỏ • Là sự bổ sung cho kiểm thử chức năng 19
- Đường đi trong mô đun • Phân tích mô đun để xác định đường đi • Đường đi là thứ tự thực hiện các lệnh từ điểm bắt đầu đến điểm kết thúc của mô đun • Thiết kế các test case để kiểm thử mọi đường đi 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Biểu đồ kiểm soát
12 p | 201 | 46
-
Bài giảng Nhập môn Công nghệ phần mềm - Trần Đình Quế
185 p | 197 | 38
-
Bài giảng môn học Kỹ nghệ phần mềm: Bài 9 - PGS.TS. Nguyễn Văn Vỵ
64 p | 132 | 19
-
Bài giảng Nhập môn Công nghệ phần mềm: Phần 1
119 p | 57 | 16
-
Bài giảng Kiểm chứng, thẩm định và kiểm thử (verification, validation, and testing)
56 p | 102 | 14
-
Bài giảng Đảm bảo và kiểm soát chất lượng phần mềm: Giới thiệu môn học - Nguyễn Mạnh Tuấn
19 p | 137 | 14
-
Tạo máy chủ Server 2008 SSL VPN bằng ISA 2006 Firewalls (P.3)
13 p | 63 | 11
-
Bài giảng Công nghệ phần mềm: Bài 2 - Học viện Kỹ thuật Quân sự
57 p | 19 | 10
-
Bài giảng Software testing: Chương 5 - ThS. Nguyễn Quốc Huy
28 p | 73 | 10
-
Bài giảng Chương 7: Lý thuyết kiểm định
43 p | 195 | 9
-
Khắc phục các vấn đề trong mạng chia sẻ - Phần 2
11 p | 94 | 9
-
Bài giảng Software testing: Chương 1 - ThS. Nguyễn Quốc Huy
22 p | 58 | 8
-
Bài giảng Công nghệ phần mềm: Tổng quan về kiểm thử và đảm bảo chất lượng phần mềm - PGS. TS. Phạm Ngọc Hùng
32 p | 16 | 8
-
Bài giảng Công nghệ phần mềm: Tiến trình và mô hình tiến trình phần mềm - PGS. TS. Phạm Ngọc Hùng
27 p | 9 | 4
-
Kiểm tra Exchange 2007 bằng System Center Operations Manager 2007 – Part 2
12 p | 61 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn