Я думаю, что в случае бред-фука тестирование должно быть выполнено с помощью скриптов брейк-фука. Я бы проверил следующее:
1: все ячейки инициализированы в 0
2: Что происходит, когда вы уменьшаете указатель данных, когда он в данный момент указывает на первую ячейку? Это обернуть? Это указывает на неверную память?
3: Что происходит, когда вы увеличиваете указатель данных, когда он указывает на последнюю ячейку? Это обернуть? Указывает ли это на недопустимую память
4: правильно ли работает выход
5: правильно ли работает вход
6: правильно ли работает [] материал
7: что происходит, когда вы увеличиваете байт более чем в 255 раз, правильно ли он переносится в 0 или неправильно обрабатывается как целое число или другое значение.
Возможны и другие тесты, но, возможно, именно здесь я и начну. Я написал компилятор BF несколько лет назад, и у него было несколько дополнительных тестов. В частности, я тщательно тестировал материал [], имея много кода внутри блока, так как в ранней версии моего генератора кода были проблемы (на x86 с использованием jxx у меня были проблемы, когда блок генерировал более 128 байтов или около того код, в результате чего неверный x86 asm).