Чую, в проекте будет под сотню POU. Неплохо бы покрыть это юнит-тестами. Как это тут вообще делают?
Собрать проект в библиотеку, и написать к каждому POU по тесту?
Чую, в проекте будет под сотню POU. Неплохо бы покрыть это юнит-тестами. Как это тут вообще делают?
Собрать проект в библиотеку, и написать к каждому POU по тесту?
Для большого проекта лучше написать программные симуляторы (математическую модель) реального оборудования (датчиков, насосов, приводов и т. д.) и к ним подключить свои POU, в визуализации Кодесис вывести показания датчиков и других сигналов, которые надо тестировать. Некоторые делают это в отдельном ПЛК.
Как придеццаКак это тут вообще делают?
Это, в общем-то, и есть юнит-тесты. Жаль, что нет типового решения.
Визуализация в таком деле не очень хороший подход. Автоматические тесты всегда предпочтительнее -- меньше работы, меньше ошибок, не лень гонять после внесения изменеий. Если на входе -- мат. модель, то и проверять программно без проблем должно быть.
Для типовых задач ? Дык они ж типовые и уже давно все проверено.Жаль, что нет типового решения.
Конечно. Сначала пишем нестандартную программу. После для нее нестандартный автотест. И все легко автоматически тестируем.Автоматические тесты всегда предпочтительнее
Последний раз редактировалось Валенок; 15.12.2015 в 01:08.
Да не, тестового фрейворка. Ну типа, чтобы все тесты однотипно гонялись и рапортовали ошибками, и все чтобы оптом прогнать, да ответ вывалить в xml-html-типатого.
Ну можно и с обратной стороны посмотреть. Test driven development типа.Конечно. Сначала пишем нестандартную программу. После для нее нестандартный автотест. И все легко автоматически тестируем.
Если ты понимаешь, что должен делать твой модуль, ты можешь описать это. Если это изложено, то можно на каждую фичу-фичульку написать тест. Если всё покрыто тестами на 100%, то программа, которая все тесты пройдет, автоматически будет делать то, что тебе нужно ))
Есть. Емуляция. Она может просто засыпать описанием ошибок))Да не, тестового фрейворка...
Если я понимаю что должен делать модуль, я пишу что он должен делать. Или Вы пишете нечто, после ломаете мозг на тем как проверить нечто. Может сразу поломать мозг на тем чтобы делало что нужно если "ты понимаешь, что должен делать"Если ты понимаешь, что должен делать твой модуль
Но для этого предварительно нужно протестировать эти тесты)Если всё покрыто тестами на 100%..
Вы путаете неработающий модель и работающий неправильно.
вы пишете без ошибок? Это бывает, но это редкое качество.Если я понимаю что должен делать модуль, я пишу что он должен делать.
на самом деле достаточно разбора при падении.Но для этого предварительно нужно протестировать эти тесты)
Я тоже не очень верю в хардкорный подход, тесты вперед кода требуют слишком хорошего ТЗ. Но когда ближе к концу начинается "тут подпилить, там перекрасить" -- на этом этапе тесты облегчают. Потому что если случайно поломал -- это быстро всплывет.
Конечно, тем, кто сразу пишет без ошибок - это всё не надо. Но таких немного, на все проекты не хватает.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран