ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
65892
Evgeny_CD (21.08.2006 16:03, просмотров: 782)
Дальнейшее развитие идей по Embedded TDD (test driven development). Самый экономичный вариант по памяти и процу. ============ Предыдущие посты по теме ============ TDD (Test-driven Development) применительно к embedded системам: похоже, я догнал, как это должно быть устроено. http://www.caxapa. …echo/arm.html?id=63285 http://electronix. …ex.php?showtopic=18859 Развитие идей по упрощенной отладке. http://www.caxapa. …echo/arm.html?id=63474 http://electronix. …s=&showtopic=18859 Мультиплексированный отладочный канал http://www.caxapa. …echo/arm.html?id=65805 ============ COG, пЫтон ============ http://www.nedbatc …code/cog/index_ru.html http://www.onembed …m/articles/cog-n-make/ http://www.onembed …og-n-make/examples.htm "Питон для Си-программистов" http://www.caxapa. …wwwboard.html?id=57403 http://www.caxapa. …wwwboard.html?id=57960 ============ Идея ============ Отдельный файл(ы) - module_under_test() - тестируемый модуль Пишется "протопрограмма": include; декларация переменных // COG код: Variables_List // COG код: Variables_Input // список всех переменных, которые видны "снаружи" в процессе тестирования // COG генерит код, который обращается к внешнему каналу // и по нему получает значения для тех переменных, которые надо задать перед тестовым прогоном module_under_test(); // COG код: Variables_Out // список всех переменных, которые надо выдать "наружу" после тестирования // COG генерит код, который обращается к внешнему каналу // и по нему выдает значения переменных Test suite на пЫтоне, который все это разгребает и принимает решение о прохождении или провале теста. Далее "протопрограмма" компилится COG в сишную программу. Сборка, прошивка, тестировние, запуск - стандартными средствами. Основной кайф состоит в том, что не надо руками выписывать код, который общается с отладочным каналом. Там все однотипно, можно сделать шаблон, и вперед! Но в отличие от универсальных тествых либ все будет работать при ограниченном объеме памяти. http://cunit.sourceforge.net/index.html http://check.sourceforge.net/ Все будет очень экономично по памяти по ресурсам, так что удастся впихнуть в целевой контроллер и целевую задачу, и отладочный код. Т.е. даже для примитивных контроллеров можно устроить полностью автоматическое тестирование без участия человека. РУЛЕЗ!!!