Одна из целей тестирования белого ящика - охватить 100% (или как можно ближе) операторов кода. Я предлагаю найти инструмент покрытия кода C ++, чтобы вы могли видеть, какой код выполняются вашими тестами и какой код вы пропустили. Затем спроектируйте тесты так, чтобы тестировалось как можно больше кода.
Еще одно предложение состоит в том, чтобы посмотреть на граничные условия, в которых указаны состояния, петли, циклы и т. Д., И проверить их на наличие «серых» областей, ложных срабатываний и ложных отрицаний.
Вы также можете разработать тесты для анализа жизненного цикла важных переменных. Проверьте их определение, их использование и их уничтожение, чтобы убедиться, что они используются правильно:)
Есть три идеи, с которых можно начать. Удачи