Хорошая идея - иметь отдельные сборки отладки и выпуска, потому что она облегчает разработку.
Но отладочные сборки должны быть только для разработки, а не для тестирования. Вы тестируете только сборки релизов. И вы не используете разработчиков для тестирования этих сборок, вы используете тестеры.
Это простая политика, которая дает лучшее из обоих миров, ИМО.
Редактировать: В ответ на комментарий, я думаю, очевидно, что отладка и выпуск сборки (могут) генерировать другой код. Подумайте «-DDEBUG» против «-DNDEBUG», «#iffined (DEBUG)» и т. Д.
Поэтому жизненно важно, чтобы вы протестировали код, который в итоге отправляете. Если вы do генерируете другой код в сборках отладки и выпуска, это означает, что тестирование проводится дважды - независимо от того, тестируется ли он одним и тем же человеком.
Однако символы отладки не являются большой проблемой. Всегда создавайте с отладочными символами, сохраняйте копию необработанного двоичного файла, но освобождайте извлеченный двоичный файл. До тех пор, пока вы как-то помечаете каждый двоичный файл номером сборки, вы всегда должны иметь возможность определить, какой двоичный файл без разметки соответствует обрезанному двоичному файлу, который вы должны отлаживать ...
Как извлекать двоичные файлы и загружать символы в отладчике из внешнего источника, зависит от платформы.