Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: А как вы тестируете программы на CoDeSyS?

  1. #1

    По умолчанию А как вы тестируете программы на CoDeSyS?

    Чую, в проекте будет под сотню POU. Неплохо бы покрыть это юнит-тестами. Как это тут вообще делают?
    Собрать проект в библиотеку, и написать к каждому POU по тесту?

  2. #2
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Для большого проекта лучше написать программные симуляторы (математическую модель) реального оборудования (датчиков, насосов, приводов и т. д.) и к ним подключить свои POU, в визуализации Кодесис вывести показания датчиков и других сигналов, которые надо тестировать. Некоторые делают это в отдельном ПЛК.

  3. #3
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,268

    По умолчанию

    Как это тут вообще делают?
    Как придецца

  4. #4

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Для большого проекта лучше написать программные симуляторы (математическую модель) реального оборудования (датчиков, насосов, приводов и т. д.) и к ним подключить свои POU, в визуализации Кодесис вывести показания датчиков и других сигналов, которые надо тестировать. Некоторые делают это в отдельном ПЛК.
    Это, в общем-то, и есть юнит-тесты. Жаль, что нет типового решения.
    Визуализация в таком деле не очень хороший подход. Автоматические тесты всегда предпочтительнее -- меньше работы, меньше ошибок, не лень гонять после внесения изменеий. Если на входе -- мат. модель, то и проверять программно без проблем должно быть.

  5. #5
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,268

    По умолчанию

    Жаль, что нет типового решения.
    Для типовых задач ? Дык они ж типовые и уже давно все проверено.
    Автоматические тесты всегда предпочтительнее
    Конечно. Сначала пишем нестандартную программу. После для нее нестандартный автотест. И все легко автоматически тестируем.
    Последний раз редактировалось Валенок; 15.12.2015 в 01:08.

  6. #6

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Для типовых задач ? Дык они ж типовые и уже давно все проверено.
    Да не, тестового фрейворка. Ну типа, чтобы все тесты однотипно гонялись и рапортовали ошибками, и все чтобы оптом прогнать, да ответ вывалить в xml-html-типатого.
    Конечно. Сначала пишем нестандартную программу. После для нее нестандартный автотест. И все легко автоматически тестируем.
    Ну можно и с обратной стороны посмотреть. Test driven development типа.

    Если ты понимаешь, что должен делать твой модуль, ты можешь описать это. Если это изложено, то можно на каждую фичу-фичульку написать тест. Если всё покрыто тестами на 100%, то программа, которая все тесты пройдет, автоматически будет делать то, что тебе нужно ))

  7. #7
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,268

    По умолчанию

    Да не, тестового фрейворка...
    Есть. Емуляция. Она может просто засыпать описанием ошибок))

    Если ты понимаешь, что должен делать твой модуль
    Если я понимаю что должен делать модуль, я пишу что он должен делать. Или Вы пишете нечто, после ломаете мозг на тем как проверить нечто. Может сразу поломать мозг на тем чтобы делало что нужно если "ты понимаешь, что должен делать"

    Если всё покрыто тестами на 100%..
    Но для этого предварительно нужно протестировать эти тесты)

  8. #8

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Есть. Емуляция. Она может просто засыпать описанием ошибок))
    Вы путаете неработающий модель и работающий неправильно.
    Если я понимаю что должен делать модуль, я пишу что он должен делать.
    вы пишете без ошибок? Это бывает, но это редкое качество.
    Но для этого предварительно нужно протестировать эти тесты)
    на самом деле достаточно разбора при падении.

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

    Конечно, тем, кто сразу пишет без ошибок - это всё не надо. Но таких немного, на все проекты не хватает.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,255

    По умолчанию

    Цитата Сообщение от rapucha Посмотреть сообщение
    Конечно, тем, кто сразу пишет без ошибок - это всё не надо. Но таких немного, на все проекты не хватает.
    так а Вы не пишите весь проект целиком, ни кто не запрещает тестить отдельно взятое ПОУ, подавая на него различные генераторы сигналов и записывая лог состояний выходов
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    так а Вы не пишите весь проект целиком, ни кто не запрещает тестить отдельно взятое ПОУ, подавая на него различные генераторы сигналов и записывая лог состояний выходов
    Конечно. Но когда тест гоняется автоматом после каждого изменения и не требует ручной сверки результатов -- это чрезвычайно удобно.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 8
    Последнее сообщение: 30.11.2015, 02:39
  2. Как вы боритесь с наводками?
    от spinogryz57 в разделе Трёп (Курилка)
    Ответов: 5
    Последнее сообщение: 30.11.2013, 14:30
  3. Ответов: 0
    Последнее сообщение: 07.06.2013, 07:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •