Модульное тестирование для малых встраиваемых систем (отладка py-тестов)

Поделиться
HTML-код
  • Опубликовано: 27 окт 2024

Комментарии • 5

  • @chipsoft1
    @chipsoft1 3 месяца назад

    А по моему вы просто забиваете гвозди микроскопом. Возможность работы с Python скриптами у GDB предназначена именно для очень глубокой отладки. В вашем случае непонятно что вы тестируете. Вы проверяете инициализацию периферии просто скопировав эту строку инициализации из исходного файла. В чем смысл этого? Как минимум, чтобы протестировать работу АЦП нужно подать с эталонного источника разные напряжения и замерять их на исходном устройстве с помощью реализованных функций напряжение и сравнить с тем что подавали. Так вы протестируете и инициализацию и измерение при чем одним тестом на любом микроконтроллере. А если вы по какой-то причине поменяете микроконтроллер или канал АЦП то все ваши тесты сразу же рассыпятся, ну или заново нужно будет копировать из исходника а в тест. Только зачем?

    • @ViacheslavMezentsev
      @ViacheslavMezentsev  3 месяца назад

      Я проверяю требование. В частности тот код, который является частью проекта. Вы, видимо, не знакомы с подобными требованиями в некоторых областях, пытаясь рассуждать со своих точек зрения. Ранее я пояснял, что существуют стандарты верификации, в которых нужно проверять весь код проекта, сформированый программистом. Показанная проверка соответствует требованиям, составленным по одному из таких стандартов. Так делают в гражданской авиации.
      Всё правильно, при замене мк всё тестирование будет выполняться заново. Это нормально, так как изменится исходный код, сформированый программистом. Следовательно изменятся требования и тесты. Это очень большая работа, которую проводят для безопасности в авиации.

    • @chipsoft1
      @chipsoft1 3 месяца назад

      @@ViacheslavMezentsev Если речь идет об авиации, или любой другой области с повышенными требованиями к безопасности, то никто не использует для этого gcc, а соответственно и gdb. Для этого есть специальные компиляторы, которые изначально сертифицированы под это (а возможно даже и библиотеки под это). И стоят они немало. Ну и для отладки и тестов никто не будет использовать клон JLink за 5 Евро с Алиэкспресса.
      А так тему вы интересную освещаете, только вот практического ее применения я не вижу.

    • @ViacheslavMezentsev
      @ViacheslavMezentsev  3 месяца назад

      Я сам лично участвовал в верификации блоков приборов для гражданского борта. Как все по России и за пределами мы заказываем проверку "сверху". Периодически приезжает специальная комиссия, которая отслеживает как обстоят текущие дела с бортом в целом и оборудованием в частности. Так вот их мнение по этому вопросу я учитываю. И да, там используется gcc.
      Я вам больше скажу, нам рассказывают, что вообще подобное тестирование кое-где вообще выполняется путём просмотра глазами кода человеками.
      Нет никаких специальных компиляторов, есть стандарт, о котором я упоминал специально в прошлом видео. Там описан процесс верификации ПО и от вас требуется выполнить организационные мероприятия таким образом, чтобы соответствовать этому стандарту. Плюс подтвердить всё это на материальных носителях.
      Я специально указывал ранее в видео, что каждый может повторить то, что я делаю. Специально для этого взял доступные отладчики и на их основе продемонстрировал реальность происходящего.

    • @chipsoft1
      @chipsoft1 3 месяца назад

      @@ViacheslavMezentsev Честно говоря очень удивлен о подобной разработке в авиации. Немного знаком с автомобильной сферой - там никто не использует "бесплатные" gcc. Для этого есть специальные сертифицированные компиляторы. Введите в гугле "safety certified compilers" - их довольного много разных. В автомобильной сфере очень часто бывает что микроконтроллер, который используется в блоках не всегда можно купить в магазине - т.е. он делается специально под заказ под требования автопроизводителя.