Professional Documents
Culture Documents
11-Ch22-Verification Validation-Se8
11-Ch22-Verification Validation-Se8
V&V
The V&V process
• V&V phải được áp dụng ở mọi giai đoạn của
tiến trình làm phần mềm
• Mục tiêu
– Phát hiện lỗi;
– Đánh giá xem hệ thống có hữu ích (thỏa mãn yêu
cầu người dùng) và có khả năng sử dụng trong môi
trường vận hành không.
Static and dynamic verification
• Software inspections (static verification)
– Kiểm tra mã trước khi chạy
• Có thể được hỗ trợ bởi công cụ phân tích mã
• Software testing – kiểm thử phần mềm
(dynamic verification)
– Kiểm tra bằng cách chạy chương trình
• Hệ thống được thực hiện với dữ liệu kiểm thử và hành
vi của hệ thống được quan sát.
Inspections and testing
• Inspections và testing là bổ sung cho nhau
• Cả hai nên được thực hiện trong quy trình
• Inspections có thể kiểm tra tính nhất quán
(conformance) của phần mềm so với đặc tả
– Không phải là nhất quán với yêu cầu của người dùng
• Không thể kiểm tra một số yêu cầu phi chức năng
– Vd, hiệu năng, khả năng sử dụng
Software inspections
• Không yêu cầu thực hiện chương trình
• Có thể được áp dụng cho bất kỳ thể hiện nào của hệ
thống
– Tài liệu yêu cầu, thiết kế,…
Cần chuẩn bị gì cho hoạt động
inspection?
• Tài liệu về phần mềm
• Mã nguồn (nếu phát hiện lỗi trong mã)
• Đội thực hiện phải nắm được chuẩn của tổ
chức
• An error checklist
Program inspections
• Phát hiện các loại lỗi
– Biến chưa được khai báo trước khi dùng
– Biến chưa được khởi tạo trước khi dùng
– Biến được khai báo 2 lần mà không có câu lệnh gán giá trị
xen giữa
– Đoạn mã không tuân theo chuẩn
– Chỉ số của mảng
– Cấp phát bộ nhớ (con trỏ) int f() {
– Điều kiện kết thúc vòng lặp int x;
int y = x * 2;
– Danh sách tham số trong lời gọi hàm return y;
– Giá trị trả về của hàm không được sử dụng }