реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Дальнейшее развитие идей по Embedded TDD (test driven development), Самый экономичный вариант по памяти и процу.
Evgeny_CD
сообщение Aug 21 2006, 12:12
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



============ Предыдущие посты по теме ============

TDD (Test-driven Development) применительно к embedded системам: похоже, я догнал, как это должно быть устроено.
http://www.caxapa.ru/echo/arm.html?id=63285
http://electronix.ru/forum/index.php?showtopic=18859

Развитие идей по упрощенной отладке.
http://www.caxapa.ru/echo/arm.html?id=63474
http://electronix.ru/forum/index.php?s=&showtopic=18859

Мультиплексированный отладочный канал
http://www.caxapa.ru/echo/arm.html?id=65805

============ COG, пЫтон ============
http://www.nedbatchelder.com/code/cog/index_ru.html
http://www.onembedding.com/articles/cog-n-make/
http://www.onembedding.com/articles/cog-n-make/examples.htm

"Питон для Си-программистов"
http://www.caxapa.ru/mcu/wwwboard.html?id=57403
http://www.caxapa.ru/mcu/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/

Все будет очень экономично по памяти по ресурсам, так что удастся впихнуть в целевой контроллер и целевую задачу, и отладочный код.

Т.е. даже для примитивных контроллеров можно устроить полностью автоматическое тестирование без участия человека.

РУЛЕЗ!!!
Go to the top of the page
 
+Quote Post
klen
сообщение Aug 21 2006, 12:22
Сообщение #2


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Evgeny_CD @ Aug 21 2006, 16:12) *
Все будет очень экономично по памяти по ресурсам, так что удастся впихнуть в целевой контроллер и целевую задачу, и отладочный код.
Т.е. даже для примитивных контроллеров можно устроить полностью автоматическое тестирование без участия человека.

Во все не влезет наверно, у меня в мегу48 целевой код впихивается пинком асма. smile.gif
Инетесно, в живую бы посмотреть на эту технологию. А почему именно питон?

Сообщение отредактировал klen - Aug 21 2006, 12:23
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 21 2006, 12:26
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(klen @ Aug 21 2006, 16:22) *
Во все не влезет наверно, у меня в мегу48 целевой код впихивается пинком асма. smile.gif
Ну значит придется для тестирования одну ATmega88 пожертвовать biggrin.gif
Цитата(klen @ Aug 21 2006, 16:22) *
Инетесно, в живую бы посмотреть на эту технологию. А почему именно питон?
Вот додумаю - начну делать. пЫтон - правильный он. Очень.
Go to the top of the page
 
+Quote Post
klen
сообщение Aug 21 2006, 12:34
Сообщение #4


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Цитата(Evgeny_CD @ Aug 21 2006, 16:26) *
Пытон - правильный он. Очень.

А чем он правельней Ticl/Tk, я за него голосовать буду, этот друг уж точно везде портирован.
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Aug 21 2006, 12:39
Сообщение #5


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(klen @ Aug 21 2006, 16:34) *
А чем он правельней Ticl/Tk, я за него голосовать буду, этот друг уж точно везде портирован.
пЫтон тоже на все портирован - все оси, смартфоны, и пр.

Насчет сравненеия с Tcl - не готов квалифицированно ответить. Пока я чувствую, что пЫтон правильнее, и все тут.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016