Подключите нашего Telegram-бота для уведомлений о новых проектах
Спроектировать и настроить систему тестирования прошивок
Разместить заказ

e
Заказчик
Отзывы фрилансеров:
+ 1
- 0
Зарегистрирован на сайте 4 месяца
Бюджет:
10 000 руб
125.62 $ — 110.70 €
# Объект работы
Система тестирования прошивок – весь софт, который нужен, чтоб собирать и выполнять модульные и интеграционные тесты программ контроллеров
Стандартизированные правила оформления тестов и используемый для создания тестов стек
Исходные коды и документация этого софта
# Требования
1. Позволяет подготовить пакет модульных тестов
1. Стандартный набор макросов/функций для проверок
2. Стандартная структура тестов
2. Позволяет Выполнить пакет модульных тестов
1. Выдаёт стандартные (в смысле в одном формате) отчёты (прошли/не прошли тесты, какие именно упали)
2. Возможность выполнить часть тестов
3. Позволяет подготовить пакет интеграционных тестов (в смысле HIL – с тестовой обвязкой)
по аналогии с подготовкой модульных
4. Позволяет выполнить пакет интеграционных тестов
1. Заливает нужные прошивки на целевой и тестирующий контроллеры
2. Перезагружает контроллеры
3. Выдаёт стандартные отчёты
4. Позволяет выполнить часть тестов
5. Позволяет выполнять тесты, где требуется участие оператора
5. Описание системы должно как минимум включать:
– команды для сборки, выполнения
– соглашения по оформлению тестов
6. Интегрировано с системой сборки (все тесты собираются системой сборки)
1. В т.ч. отслеживаются зависимости тестов от проверяемых модулей, прошивок, используемых разделяемых модулей
2. Важно, чтобы выбранные решения (стек/самописное) не усложняли систему сборки
7. Стек и окружение:
– ОСь: debian 12
– интерпретатор bash: 5.2.15
– система сборки: make 4.3
– библиотека периферии: libopencm3
– тулчейн: arm-none-eabi
– прошивка/отладка: openocd
# Ожидаемый результат
1. Архив с исходными кодами, включающий:
1. Модифицированный Makefile системы сборки
2. Пример кода с модульным тестом (в директории какой-нибудь прошивки созданы .h и .c файлы, и они проверяются этим тестом)
3. Пример кода с интеграционным тестом (для какой-нибудь заглушечной прошивки)
2. Документация системы
# Приёмка
На машине с debian 12:
1. Распаковали архив с исходными кодами
2. Из инструкции дали команду на выполнение модульного теста – в терминале получили результат выполнения теста
3. Модифицировали модуль так, что тест не проходит, повторили команду – в терминале получили ошибку
4. Подключили целевой и тестовый контроллеры
5. Из инструкции дали команду на выполнение интеграционного теста – контроллеры прошились без участия оператора, в терминале получили результат выполнения теста
6. Модифицировали код прошивки так, что тест не пройдёт, повторили команду – контроллеры прошились, в терминале получили ошибку
# Пожелания к реализации
Система и/или её части могут как включать фреймворк для тестирования (типа Unity), так и просто состоять из набора сниппетов
Система тестирования прошивок – весь софт, который нужен, чтоб собирать и выполнять модульные и интеграционные тесты программ контроллеров
Стандартизированные правила оформления тестов и используемый для создания тестов стек
Исходные коды и документация этого софта
# Требования
1. Позволяет подготовить пакет модульных тестов
1. Стандартный набор макросов/функций для проверок
2. Стандартная структура тестов
2. Позволяет Выполнить пакет модульных тестов
1. Выдаёт стандартные (в смысле в одном формате) отчёты (прошли/не прошли тесты, какие именно упали)
2. Возможность выполнить часть тестов
3. Позволяет подготовить пакет интеграционных тестов (в смысле HIL – с тестовой обвязкой)
по аналогии с подготовкой модульных
4. Позволяет выполнить пакет интеграционных тестов
1. Заливает нужные прошивки на целевой и тестирующий контроллеры
2. Перезагружает контроллеры
3. Выдаёт стандартные отчёты
4. Позволяет выполнить часть тестов
5. Позволяет выполнять тесты, где требуется участие оператора
5. Описание системы должно как минимум включать:
– команды для сборки, выполнения
– соглашения по оформлению тестов
6. Интегрировано с системой сборки (все тесты собираются системой сборки)
1. В т.ч. отслеживаются зависимости тестов от проверяемых модулей, прошивок, используемых разделяемых модулей
2. Важно, чтобы выбранные решения (стек/самописное) не усложняли систему сборки
7. Стек и окружение:
– ОСь: debian 12
– интерпретатор bash: 5.2.15
– система сборки: make 4.3
– библиотека периферии: libopencm3
– тулчейн: arm-none-eabi
– прошивка/отладка: openocd
# Ожидаемый результат
1. Архив с исходными кодами, включающий:
1. Модифицированный Makefile системы сборки
2. Пример кода с модульным тестом (в директории какой-нибудь прошивки созданы .h и .c файлы, и они проверяются этим тестом)
3. Пример кода с интеграционным тестом (для какой-нибудь заглушечной прошивки)
2. Документация системы
# Приёмка
На машине с debian 12:
1. Распаковали архив с исходными кодами
2. Из инструкции дали команду на выполнение модульного теста – в терминале получили результат выполнения теста
3. Модифицировали модуль так, что тест не проходит, повторили команду – в терминале получили ошибку
4. Подключили целевой и тестовый контроллеры
5. Из инструкции дали команду на выполнение интеграционного теста – контроллеры прошились без участия оператора, в терминале получили результат выполнения теста
6. Модифицировали код прошивки так, что тест не пройдёт, повторили команду – контроллеры прошились, в терминале получили ошибку
# Пожелания к реализации
Система и/или её части могут как включать фреймворк для тестирования (типа Unity), так и просто состоять из набора сниппетов
Разделы:
Опубликован:
02.04.2025 | 10:22 [поднят: 02.04.2025 | 10:22]