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

 
 
> TDD для микроконтроллеров, Как использовать модульное тестирование для железа
Serega Doc
сообщение Feb 16 2011, 10:13
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Доброго всем дня.
Наткнулся на статьи Развитие в направлении разработки встроенных систем и Эффективная разработка встроенного ПО через тестирование про модульное тестирование для встроенных систем.
Хочу уточнить есть unit тесты и mock объекты для компиляторов под AVR/STM8?
Что бы свою программу на с++ можно было покрывать тестами. Вести разработку ПО максимально отделив логику от уровня железа.
И при этом не испытывать проблем или же минимизировать вопросы перехода с одной платформы на другую.
Как например есть программа для контроллера AVR и по каким либо причинам (дефицит, цена, характеристики) решили перейти на STM8.
Переписываем классы взаимодействия с аппаратурой контроллера и в минимальные сроки получаем работоспособную (не проваливающую тесты) программу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Feb 16 2011, 10:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Ну так а что мешает?

Слой, независимый от железа, можно гонять на настольном компе и покрывать любыми тестами. Я использую библиотечку googletest, есть и дофига других.

Рядом с googletest болтается и библиотечка для mock-объектов, я ее правда не использовал.
Go to the top of the page
 
+Quote Post
Serega Doc
сообщение Feb 16 2011, 11:13
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Цитата(Непомнящий Евгений @ Feb 16 2011, 13:29) *
Ну так а что мешает?

Слой, независимый от железа, можно гонять на настольном компе и покрывать любыми тестами. Я использую библиотечку googletest, есть и дофига других.

Рядом с googletest болтается и библиотечка для mock-объектов, я ее правда не использовал.

А вы под какую платформу используете googletest? И как вы интегрировали эти тесты с компилятором для железа?
Что бы запускать их непосредственно из среды в которой пишем программу.

Если можно то по подробнее пожалуйста.
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Feb 16 2011, 11:34
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Serega Doc @ Feb 16 2011, 14:13) *
А вы под какую платформу используете googletest?

С и С++ - кроссплатформенные языки. Части программы, написанные без использования платформо-зависимых вещей можно запускать где угодно. В своем коде я выделил такие части и тестирую их на персоналке. Тесты гоняю под MinGW и Visual C++, сейчас думаю прикрутить еще один компилер.

Цитата
И как вы интегрировали эти тесты с компилятором для железа?

Никак. Большинство либ для тестов используют стандарную библиотеку с++ и под МК не скомпиляются. В принципе можно написать собственную библиотечку тестирования под МК, но смысла я особого не вижу. На компе тесты выполняются практически мгновенно, их удобно отлаживать и т.д.

Цитата
Что бы запускать их непосредственно из среды в которой пишем программу.

Я работаю в eclipse, для МК компиляю IAR-ом, вызывая его из scons-файла. Также в scons завернуты тесты, только там вызываются настольные компилеры. Результат падает в консоль.

Это что касалось unit-тестов.

Я также тестирую всю железку в целом, но для этого использую специальную прогу-тестер, которая эмулирует собой пользователя железки, управляя по протоколу. Прога получает набор тестов и прогоняет их. Протокол управления был несколько расширен, чтобы по нему можно было передавать "нажатия" кнопок, а также содержимое экрана железки.

Однако такие тесты сложнее прогнать - прогон занимает много времени, надо подключать реальное оборудование...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Serega Doc   TDD для микроконтроллеров   Feb 16 2011, 10:13
- - MrYuran   Тесты обязательно должны проводиться непосредствен...   Feb 16 2011, 10:57
|- - Непомнящий Евгений   Цитата(MrYuran @ Feb 16 2011, 13:57) Тест...   Feb 16 2011, 11:10
|- - _Pasha   Цитата(MrYuran @ Feb 16 2011, 14:57) Эта ...   Feb 16 2011, 11:56
- - Serega Doc   Цитатао направлении проектирования (сверху вниз, в...   Feb 22 2011, 15:47
|- - Непомнящий Евгений   Цитата(Serega Doc @ Feb 22 2011, 18:47) Т...   Feb 24 2011, 06:29
|- - MrYuran   Цитата(Непомнящий Евгений @ Feb 24 2011, 09...   Feb 24 2011, 07:04
- - Непомнящий Евгений   >> происходит в течение всего жизненного цик...   Feb 24 2011, 07:14
- - MrYuran   Освежу немного темку. Буквально в пятницу наткнулс...   Mar 7 2011, 15:44
- - _Pasha   Какая-то телепатия... Не далее, как позавчера, зав...   Mar 7 2011, 20:44
- - MrYuran   Цитата(_Pasha @ Mar 7 2011, 23:44) Какая-...   Mar 8 2011, 08:52


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

 


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


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