Tìm hiểu sự khác biệt giữa verification và validation trong phát triển phần cứng. Khám phá cách lập kế hoạch V&V, mô hình chữ V (V-Model), và những sai lầm phổ biến cần tránh.
Đôi khi, một thiết kế phần cứng có thể trông hoàn toàn đúng trên bàn thử nghiệm: MCU chạy ổn định ở 160 MHz, cảm biến giao tiếp qua I²C, và bộ nguồn giữ được 12 V dưới toàn tải. Nhưng một sản phẩm đáp ứng mọi yêu cầu vẫn có thể không đạt kỳ vọng khi đến tay người dùng.
Verification và validation (V&V) giải quyết khoảng cách giữa việc đáp ứng yêu cầu và việc đáp ứng nhu cầu thực tế. Một số nhóm phần cứng thường nhầm lẫn hai thuật ngữ này. Những nhóm xem V&V là một bước duy nhất, hoặc bỏ qua một trong hai vì nguyên mẫu có vẻ hoạt động tốt, có thể phát hiện vấn đề quá muộn: trong quá trình đánh giá tuân thủ hoặc khi sản phẩm đã được triển khai ngoài thực tế.
Trong bài viết này, chúng tôi giải thích verification và validation có nghĩa là gì trong phát triển phần cứng và chúng khác nhau như thế nào. Chúng tôi cũng đề cập cách V&V liên kết với yêu cầu thông qua V-Model, cách xây dựng kế hoạch V&V và cách tránh những sai lầm phổ biến.
Verification là quá trình kiểm tra xem phần cứng có phù hợp với các yêu cầu và đặc tả kỹ thuật đã xác định hay không. Nó trả lời câu hỏi: chúng ta có đang xây dựng sản phẩm đúng cách không?
Mục đích của verification là thay thế giả định bằng bằng chứng. Thay vì giả định rằng một mạch hoạt động, nhóm phát triển sẽ đối chiếu thiết kế hoặc nguyên mẫu vật lý với các yêu cầu đã xác định và thu thập bằng chứng cho thấy nó có đáp ứng các yêu cầu đó hay không.
Verification có thể bao gồm các hoạt động như:
Biểu hiện trong thực tếTrong phát triển phần cứng, verification bắt đầu từ rất lâu trước khi bạn có sản phẩm hoàn chỉnh. Hãy xem một yêu cầu như: 'Đầu vào 12 V phải duy trì trong phạm vi ±5% dưới toàn tải.' Yêu cầu này được verification theo từng giai đoạn: đầu tiên là kiểm tra định mức linh kiện trên sơ đồ nguyên lý, sau đó chạy mô phỏng nguồn, và cuối cùng là đo trên nguyên mẫu tại bàn thử. Mỗi bước đều bổ sung thêm bằng chứng. |
Validation là quá trình kiểm tra xem phần cứng có thực sự hoạt động đúng với mục đích sử dụng, người dùng và môi trường vận hành dự kiến hay không. Nó trả lời câu hỏi: chúng ta có đang xây dựng đúng sản phẩm không?
Mục đích chính của validation là cung cấp bằng chứng rằng sản phẩm thực sự giải quyết vấn đề mà nó được thiết kế để giải quyết. Một thiết kế có thể đáp ứng mọi yêu cầu kỹ thuật nhưng vẫn không đạt nếu nó không hoạt động như mong đợi trong điều kiện vận hành thực tế. Validation giúp bạn tin tưởng rằng toàn bộ hệ thống phù hợp với công việc mà các bên liên quan thực sự cần nó thực hiện.
Validation có thể bao gồm các hoạt động như:
Biểu hiện trong thực tếGiả sử một drone thương mại vượt qua tất cả các bài kiểm tra trên bàn thử. Để validation nó, drone được vận hành trong môi trường mà nó được thiết kế cho. Nếu bạn phát hiện độ ẩm cao gây trôi cảm biến, hoặc ánh nắng trực tiếp khiến đèn LED trạng thái không thể đọc được, thì sản phẩm có thể đã được verification theo các yêu cầu kỹ thuật nhưng vẫn thất bại về validation đối với mục đích sử dụng dự kiến. |
Verification và validation trong quy trình phát triển phần cứng.
V&V thường sử dụng cùng các công cụ kỹ thuật như thử nghiệm, đo lường, kiểm tra, và phân tích. Điểm khác biệt nằm ở điều bạn đang cố chứng minh bằng kết quả đó.
Ví dụ, một phép thử trong buồng nhiệt có thể verification rằng sản phẩm hoạt động trong dải nhiệt độ quy định từ −20 °C đến 60 °C. Validation sẽ đặt câu hỏi liệu dải đó có phù hợp với nhu cầu thực tế hay không. Nếu sản phẩm được lắp trong một vỏ hộp phơi nắng và nhiệt độ bên trong lên đến 75 °C, nó có thể vượt qua verification nhưng vẫn thất bại khi sử dụng thực tế. Cùng buồng nhiệt đó cũng có thể hỗ trợ validation khi chạy theo biên dạng nhiệt độ mà sản phẩm hoàn chỉnh dự kiến sẽ gặp ngoài hiện trường.
Verification thường cho kết quả đạt/không đạt trực tiếp hơn so với một yêu cầu đã xác định và có thể áp dụng cho từng yêu cầu riêng lẻ, thiết kế hoặc phần tử phần cứng. Validation xem xét rộng hơn ở cấp hệ tích hợp và đánh giá liệu hành vi tổng thể của nó có chấp nhận được cho mục đích sử dụng dự kiến hay không.
Trong một quy trình được dẫn dắt bởi yêu cầu, verification xây dựng bằng chứng rằng các yêu cầu kỹ thuật riêng lẻ đã được đáp ứng. Sau đó, validation kiểm tra xem sản phẩm hoàn chỉnh có đáp ứng nhu cầu của các bên liên quan trong điều kiện vận hành thực tế hay không, đồng thời có thể cho thấy một yêu cầu nào đó là chưa đầy đủ hoặc sai.
Khía cạnh | Verification | Validation |
Câu hỏi | Chúng ta có đang xây dựng sản phẩm đúng cách không? | Chúng ta có đang xây dựng đúng sản phẩm không? |
Đối chiếu với | Yêu cầu, đặc tả và đặc tính thiết kế | Mục đích sử dụng dự kiến và nhu cầu của các bên liên quan |
Trọng tâm | Từng yêu cầu riêng lẻ, file thiết kế và đặc tính kỹ thuật, ở mỗi cấp hệ thống | Sản phẩm hoàn chỉnh trong bối cảnh mục đích sử dụng dự kiến |
Thời điểm | Bắt đầu sớm và tiếp tục trong suốt quá trình phát triển | Bắt đầu từ việc thẩm định yêu cầu và quay lại khi sản phẩm hoàn chỉnh bắt đầu thành hình |
Phương pháp sử dụng | Rà soát, kiểm tra, phân tích, mô phỏng, trình diễn và thử nghiệm theo các yêu cầu đã xác định | Thử nghiệm theo tình huống sử dụng, thử nghiệm môi trường, đánh giá người dùng và thử nghiệm thực địa, có hỗ trợ bởi phân tích |
Kết quả | Bằng chứng cho thấy phần cứng đáp ứng các yêu cầu kỹ thuật đã xác định | Bằng chứng cho thấy sản phẩm hoàn chỉnh đáp ứng nhu cầu của các bên liên quan trong mục đích sử dụng dự kiến |
V-Model cho thấy cách tổ chức V&V trong suốt một dự án phát triển phần cứng.
V-Model mô tả vòng đời hệ thống dưới dạng chữ V. Phía bên trái bắt đầu từ nhu cầu và kỳ vọng của các bên liên quan, chuyển chúng thành các yêu cầu hệ thống và phân hệ, rồi tinh chỉnh thành kiến trúc và thiết kế chi tiết. Đáy chữ V là giai đoạn triển khai. Phía bên phải đi ngược lên thông qua tích hợp, với các hoạt động thử nghiệm ở cấp linh kiện, phân hệ và sản phẩm hoàn chỉnh.
V-Model của quy trình kỹ thuật hệ thống.
Mỗi cấp ở bên trái được ghép với một cấp thử nghiệm ở bên phải, và các cặp ghép đó tạo ra khả năng truy vết. Mỗi yêu cầu liên kết với hoạt động V&V và bằng chứng dùng để kiểm tra nó, và các nhóm sẽ lập kế hoạch cho hoạt động đó ngay khi thiết kế vẫn đang được thực hiện.
Ví dụ, một yêu cầu rằng đầu vào 12 V phải duy trì trong phạm vi ±5% dưới toàn tải có thể được kiểm tra ở nhiều cấp: định mức linh kiện so với sơ đồ nguyên lý, mô phỏng nguồn của bo mạch, và phép đo trên sản phẩm đã lắp ráp.
Trong cấu trúc này, V&V có các vai trò khác nhau:
Đến thời điểm phần cứng bước vào giai đoạn thử nghiệm, nhóm phát triển lẽ ra đã phải biết cần kiểm tra điều gì, điều đó liên quan đến yêu cầu nào, kết quả sẽ được đánh giá như thế nào, và cần thu thập những bằng chứng gì. Kế hoạch V&V tập hợp các quyết định đó vào một tài liệu duy nhất.
Một kế hoạch V&V thường bao gồm sáu quyết định:
Mặc dù lỗi phần mềm thường có thể được khắc phục bằng một bản cập nhật, nhưng vấn đề trong thiết kế phần cứng sẽ dễ sửa nhất trước khi các bo mạch được chế tạo. Nhiều vấn đề trong số này bắt đầu từ cách viết yêu cầu và cách lập kế hoạch V&V.
Bảng dưới đây nêu bật các sai sót V&V thường gặp và những thực hành tốt giúp tránh chúng.
Sai sót thường gặp | Cách tránh |
Xem xác minh và thẩm định là cùng một hoạt động | Lập kế hoạch xác minh (đối chiếu với yêu cầu) và thẩm định (đối chiếu với nhu cầu của các bên liên quan) như hai hoạt động riêng biệt, rõ ràng. |
Viết yêu cầu mơ hồ hoặc không thể kiểm thử | Rà soát yêu cầu về độ rõ ràng và khả năng kiểm thử trước khi bắt đầu thiết kế, đồng thời viết tiêu chí chấp nhận song song với các yêu cầu. |
Trì hoãn việc lập kế hoạch V&V cho đến khi phần cứng đã được thiết kế và chế tạo | Lập kế hoạch V&V ngay khi có yêu cầu và xác định cách chúng sẽ được xác minh trước khi việc triển khai hoàn tất. |
Không thiết lập mức ưu tiên rõ ràng giữa các hoạt động V&V | Ưu tiên các hoạt động V&V dựa trên các yêu cầu an toàn trọng yếu, rủi ro kỹ thuật và điều kiện vận hành. |
Chỉ dựa vào thử nghiệm phần cứng vật lý | Ghép từng yêu cầu với phương pháp phù hợp nhất: rà soát, kiểm tra, phân tích, mô phỏng, trình diễn hoặc thử nghiệm. |
Bỏ qua ý kiến đóng góp của các bên liên quan phù hợp | Thu hút người dùng và các bên liên quan chủ chốt từ giai đoạn yêu cầu ban đầu đến thẩm định cuối cùng, đồng thời có sự tham gia của kỹ sư thiết kế trong quá trình xác minh. |
Không lập tài liệu kết quả và bằng chứng V&V | Lưu giữ hồ sơ và bằng chứng cho từng hoạt động V&V, bảo đảm khả năng truy xuất đầy đủ trở lại yêu cầu liên quan. |
Những thay đổi phần cứng ở giai đoạn muộn của quá trình phát triển thường tốn kém hơn thay đổi phần mềm. Làm lại bo mạch, thay đổi khuôn/dụng cụ, hoặc một đợt chứng nhận không đạt đều tiêu tốn thời gian và ngân sách thực tế, và phần cứng trong một thiết bị đã xuất xưởng rất khó “vá”. Đó là lý do vì sao xác minh và thẩm định có vai trò đặc biệt quan trọng trong phát triển phần cứng. Khi được dùng cùng nhau, chúng mang lại cho nhóm bốn lợi ích chính:
Phát triển phần cứng liên quan đến nhiều yêu cầu và kết quả thử nghiệm, và việc theo dõi chúng thủ công trong suốt một dự án có thể là thách thức. Các nhóm có thể rơi vào tình trạng kết hợp nhiều tệp rời rạc và công cụ không kết nối với nhau, chẳng hạn như:
Đối với các nhóm muốn lập kế hoạch và theo dõi các hoạt động V&V cùng với yêu cầu trong một không gian làm việc dùng chung, Requirements Portal kết nối yêu cầu với kế hoạch xác minh, các lần chạy kiểm thử, bằng chứng và lịch sử thay đổi. Nhờ đó, các nhóm có thể biết nội dung nào đã được xác minh và nội dung nào vẫn cần được chú ý.
Tóm lại, xác minh chứng minh rằng phần cứng của bạn đáp ứng đặc tả, còn thẩm định chứng minh rằng nó thực sự hoạt động hiệu quả cho người dùng. Để làm được điều này, V&V không thể chỉ là một danh sách kiểm cuối cùng. Nó cần được tích hợp vào quy trình phát triển sản phẩm ngay từ ngày đầu tiên.
Nếu bạn muốn hiểu sâu hơn về các khuôn khổ V&V, những tài liệu sau sẽ hữu ích để tiếp tục tìm hiểu:
Nếu bạn đã sẵn sàng chuyển từ lý thuyết sang thực hành, hãy thử Requirements Portal để liên kết ca kiểm thử với yêu cầu và thiết kế điện tử, theo dõi độ bao phủ và thu thập bằng chứng kỹ thuật.
Không. Xác minh kiểm tra phần cứng theo các yêu cầu đã xác định. Thẩm định kiểm tra xem các yêu cầu và sản phẩm có phản ánh nhu cầu của các bên liên quan trong sử dụng thực tế hay không.
Cả hai đều nên được lên kế hoạch sớm, và không bên nào là một giai đoạn đơn lẻ. Xác minh bắt đầu bằng rà soát, phân tích và mô phỏng trong quá trình thiết kế phát triển. Thẩm định bắt đầu bằng việc đối chiếu yêu cầu với nhu cầu của các bên liên quan và trở nên nổi bật hơn khi sản phẩm tích hợp dần hình thành.
Các phương pháp V&V phổ biến bao gồm rà soát, kiểm tra, phân tích, mô phỏng, trình diễn và thử nghiệm. Cùng một phương pháp có thể hỗ trợ cho xác minh hoặc thẩm định, tùy thuộc vào việc nó dùng để kiểm tra một yêu cầu đã xác định hay đánh giá sản phẩm trong bối cảnh mục đích sử dụng dự kiến của nó.