Что касается инструментов, лично в 2012 выступал Архитектором небольшого C++ инструмента для компании Symantec, который считает цикломатическую сложность C++ кода, анализирует граничные условия, добавляя их количество к набору тестовых сетов, рисует таблицу \ граф переходов каждого метода для упрощения анализа данных для скармливания Авто Тестам и генерирует С++ заглушки Unit Test-ов, которые компилируются под 24 С++ платформы, а так же заглушки наборов входных данных. Все тесты естественно падают. Но все что остается разработчику \ тестировщику, проанализировать граф, заполнить все наборы входных данных на базе анализа графа, возможно, добавить несколько строк кода со специфическими pre steps.