За какое минимальное количество тестов, можно протестировать 10 булевых переменных?

На собеседовании задали вопрос:

За какое минимальное количество тестов, можно протестировать 10 буленовских переменных и почему?

Как вы понимаете ответ 10 и х-1 (если вдруг они связаны) оказался не верным(


Ответы (2 шт):

Автор решения: Эникейщик

Один тест.

Т.к. непонятно, что в данном случае означает "протестировать" и все остальные вводные данные неизвестны, то все необходимое придумал себе сам:

нужно протестировать, что каждая из 10 переменных равна определенному значению.

Минимальное количество тестов для 10 (и любого количества до 64) переменных - один.

Собираем все эти 10 битов в одну переменную по типу 0b 0000 00ab cdef ghij и накладываем маску с контрольными значениями. По результату будет понятно, какие переменные соответствуют требованиям, а какие нет.

→ Ссылка
Автор решения: Никита Кузьмищев

Вообщем кому интересно, ответ был ((10в10степени)*2)-2. Идея была в том, что нет никаких тестовых данных, а есть просто "положение выключателей" и они могут быть в произвольных позициях и могут быть связаны между собой. Короче это было больше про вариативную математику, а не про программирование(

→ Ссылка