Bạn có một số lượng vô lý các bộ đầu vào có thể có trong không gian đầu vào của bạn. Bạn không thể kiểm tra tất cả chúng, thời gian. Bạn phải kiểm tra một tập hợp con của các bộ đầu vào và sử dụng một số heuristic đáng giá để chọn các bộ bạn thực hiện kiểm tra.
Đây là những gì thử nghiệm của bạn phải làm (điều này được lấy từ các đề xuất thử nghiệm DO-254 mà công ty tôi sử dụng):
- Mỗi đầu ra phải thay đổi ít nhất một lần
- Mỗi đầu vào phải thay đổi ít nhất một lần
Đó là mức tối thiểu, không phải mức tối đa. Trong những trường hợp như thế này, chúng tôi thực hiện phân tích Bảo hiểm Quyết định Điều kiện Tối thiểu (MCDC) để xem những bộ đầu vào nào khác mà chúng tôi cần kiểm tra. Tôi đã luôn giải thích nó như thế này:
Giả sử hộp đen của bạn là một cổng AND với 200 đầu vào. Bạn không thể kiểm tra từng bộ đầu vào, vì vậy bạn kiểm tra một tập hợp con của toàn bộ không gian đầu vào. Đầu tiên, bạn làm theo các quy tắc tôi đã đưa ra ở trên - bạn cần kiểm tra ít nhất hai trường hợp: một trường hợp khiến đầu ra là 0 / Sai và một trường hợp khác khiến đầu ra là 1 / Đúng. Đối với cổng AND, điều này thật dễ dàng: tất cả 0 / Sai và tất cả 1 / Đúng. Điều đó chứng tỏ đầu ra của bạn có thể thay đổi. Điều tiếp theo bạn làm là chọn các bộ đầu vào sao cho có một bộ đầu vào mà mỗi đầu vào là yếu tố quyết định trong đầu ra. Đối với 200 cổng đầu vào VÀ, cổng này cung cấp cho bạn 200 bộ đầu vào khác nhau: bộ đầu tiên có tất cả đầu vào True ngoại trừ đầu vào số 1, cổng thứ hai có tất cả các đầu vào True ngoại trừ # 2, v.v. Sử dụng phương pháp này, bạn xác minh rằng mỗi đầu vào có ảnh hưởng độc lập đến đầu ra. Nếu bất kỳ đầu vào là Sai không '
Bạn nói logic của bạn là tất cả kết hợp. Điều này là tốt hơn cho toàn bộ rất nhiều chốt / flip flop nhưng vẫn không hoàn hảo. Bạn phải làm việc ngược từ đầu ra để xác định các bộ đầu vào mà mỗi đầu vào riêng lẻ có ảnh hưởng quyết định đến đầu ra. Nếu logic của bạn phức tạp thì bạn sẽ có rất nhiều công việc trước mắt, nhưng đây là cách nhanh nhất và toàn diện nhất để kiểm tra hộp đen logic của bạn.
Theo như các khía cạnh thực tế, bạn đang ở một mình. Công ty tôi làm việc sử dụng phần cứng tùy chỉnh để thực hiện kiểm tra hộp đen cấp pin trong hệ thống (và về mặt lý thuyết là ASIC nếu bạn có thể cung cấp cho chúng tôi một phần để đặt lên bo mạch) ở tốc độ hoạt động. Nó toàn diện và tự động nhưng mỗi thiết bị thử nghiệm là tùy chỉnh cho dự án nhất định, vì vậy sử dụng phương pháp này đòi hỏi phải có hợp đồng và không chỉ mua các mặt hàng trên kệ và tự kết hợp chúng.
Một trong những vấn đề bạn sẽ giải quyết được bằng cách tiếp cận của chúng tôi chỉ đơn giản là kết nối tất cả các dây. Tôi đoán hầu hết mọi người sẽ đề xuất một bộ phân tích logic lớn khó hiểu nhưng bạn đã có hàng ngàn chân nên bạn phải kiểm tra các tập hợp con của các chân tại một thời điểm. Một trong những khía cạnh tích cực của phương pháp chúng tôi sử dụng là nó luôn giám sát tất cả các chân để nó cho phép bạn thấy rằng các đầu ra mà bạn mong muốn thay đổi sẽ thay đổi, nhưng cũng là các đầu ra không nên thay đổi. Bạn không thể có được điều đó nếu bạn sử dụng một bộ phân tích logic có ít chân hơn số lượng đầu vào / đầu ra bạn có.