Trường Đại Học Bách Khoa Tp. Hồ Chí Minh
Khoa Công Nghệ Thông Tin
Chương 10
CHIẾN THUẬT KIỂM
NGHIỆM PHẦN MỀM
✦
✦✦
✦ Verification & Validation
✦
✦✦
✦ Unit test & Integration test
✦
✦✦
✦ Kiểm nghiệm hướng đối tượng
✦
✦✦
✦ Nghệ thuật gỡ rối
-Trang256-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm
NỘI DUNG
10.1. Một số khái niệm
10.1.1. Verification và validation
10.1.2. Một chiến thuật kiểm nghiệm phổ biến
10.2. Kiểm nghiệm từng module
10.3. Kiểm nghiệm tích hợp
10.3.1. Tích hợp từ trên xuống (top-down)
10.3.2. Tích hợp từ dưới lên (bottom-up)
10.3.3. Kiểm nghiệm hồi quy (regression)
10.4. Kiểm nghiệm tính năng (validation)
-Trang257-
hiện thực đúng theo một chức năng cụ thể nào đó
“Are we
building the product right ?”
Validation: các hành động để đảm bảo cho phần mềm được xây
dựng theo đúng yêu cầu của khách hàng
“Are we building the
right product ?”
-Trang260-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm
MỘT CHIẾN THUẬT KIỂM NGHIỆM PHỔ BIẾN
-Trang261-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm
Phân tích toàn bộ hệ thống
Kiểm nghiệm toàn bộ hệ thống
Phân tích yêu cầu
Thiết kế
Mã hoá
Kiểm nghiệm đơn vò
Kiểm nghiệm tích hợp
Kiểm nghiệm tính năng
MỘT CHIẾN THUẬT KIỂM NGHIỆM PHỔ BIẾN (t.t)
-Trang262-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm
Bắt đầu tại từng module rồi tích hợp lớn dần đến toàn bộ hệ
thống.
cases
driver
stub
stub
Mỗi module mã nguồn không phải là một chương trình hoàn chỉnh
và đôi khi phải gọi các module chưa được kiểm nghiệm khác
có
thể phải thiết lập driver và/hoặc stub: phí tổn khá lớn (70%)
Driver là một chương trình chính có nhiệm vụ nhận dữ liệu kiểm
nghiệm, chuyển dữ liệu đó xuống cho module để kiểm tra và in ra
các kết quả kiểm tra tương ứng.
Stub thay thế các module được gọi bởi module đang kiểm tra.
-Trang265-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm
KIỂM NGHIỆM TỪNG MODULE (t.t)
KIỂM NGHIỆM TÍCH HP
Từng module mã nguồn đã hoạt động đúng. Liệu khi kết hợp
chúng lại thành một nhóm lớn chúng có hoạt động đúng không ?
Phải tiến hành kiểm nghiệm tích hợp để phát hiện lỗi liên quan
đến giao tiếp giữa các module.
Tránh tích hợp kiểu big-bang: tất cả các module được kết hợp lại,
và toàn bộ chương trình sẽ được kiểm nghiệm một lúc
Nên tích hợp tăng dần: từ trên xuống hoặc từ dưới lên
-Trang266-
Khoa Công Nghệ Thông Tin - Môn Công Nghệ Phần Mềm - Chương 10: Chiến thuật kiểm nghiệm phần
mềm