Tag Archives: verification and validation

Giải thích đơn giản: verification vs validation

Trong phát triển phần mềm, có hai khái niệm verification (được dịch là kiểm định, kiểm chứng, xác minh) và validation (được dịch là thẩm định) dễ gây nhầm lẫn. Hơn nữa, nhiều nguồn tiếng Việt giải thích sự khác nhau giữa chúng rất rối rắm, nên tôi viết bài này.

Chuyện ta hay gặp được mô tả ở tình huống A trong hình vẽ. Có 2 bước để tạo ra sản phẩm, do đó có 2 khả năng sai sót. Thứ nhất là lúc khách hàng nói cho nhà thầu, thứ hai là lúc nhà thầu tiến hành làm theo những gì mình hiểu (và có lẽ đã viết ra). Ver là để kiểm tra khả năng sai sót 2, Val là dành cho khả năng 1. Thực tế là, nếu yêu cầu của khách hàng là rõ ràng (ví dụ chỉ một thứ gì đã có và bảo “mày làm giống hệt thế này cho anh”) thì Val rất dễ. Còn nếu bản thân khách hàng cũng chưa rõ mình muốn gì, hoặc có nhiều người đại diện cho nhiều nhu cầu, thì Val rất mệt.

Nếu khách hàng tự làm luôn sản phẩm cho mình (DIY) thì ta có Ver và Val là một (tình huống B).

Ở tình huống C, khi người có nhu cầu là Đức Chúa Trời, thì không cần cả Ver lẫn Val vì ngài chỉ cần phán là sản phẩm tự hình thành, cho nên “Đức Chúa Trời thấy điều đó là tốt lành“.