Народ подскажите как можно попроще промоделировать какую либо функцию. Что происходит при разных передаваемых ей значениях. Что-то типа эмулятора, если возможно с графиками как наполняются счетчики и все такое. Есть такой софт? Нужно понять странное поведение программы, которая работает нормально, но при редких условиях странности начинаются...
Комментарии: 12
Kaktys
Mathlab? Wolfram Alfa?
Vitaliy
Да что-то попроще хотелось бы или примеры чтобы быстро въехать в тему
Kaktys
Ну вот во второе забей функции
Nikolay
гуглить модульное тестирование, юнит-тесты
Nikolay
А в некоторых условиях (провал стека, переход по нулевому адресу, нарушение целостности данных) поможет только самостоятельный анализ.
Aleksey
это называется юнит-тестирование. В вашем случае лучше самостоятельно написать простые тесты и не использовать фреймворки (типа google test). Тест пишется так: скармливаете своей функции заранее подготовленные данные (не рэндом) и проверяете ожидаемый результат. Если функция сработала не так, как вы думали - отлично, у вас есть воспроизводимый пример с ошибкой, можно отлаживать. например, вот тесты для функции sin: assert(sin(0) == 0.0); assert(sin(M_PI) == 0.0); assert(sin(M_PI/2) == 1.0);
Linxuil
Это разве юнит тестирование? Вроде это просто код выполняющий остановку кода и выводящий ошибки, одну на каждую ошибку, а не все сразу. Мне кажется, что этот подход довольно сильно раздражает при своем выполнении своими остановками выполнения и не дает целостной картины при нескольких ошибках в своем составе. Пока ты не исправишь первую ошибку, о второй не узнаешь - такое себе удовольствие, особенно, если проект собирается не 1 минуту, а на много больше - такой подход прямо скажем убивает время. Я возможно не прав, но чем подход с assert лучше, чем просто логические выражения и подведение итога об ошибках в конце файла? Такие тесты с логикой можно собирать в довольно сложные тесты и тестировать весь проект целиком одной сборкой, без обязательной пересборки каждый раз при обнаружении ошибки методом assert(), так как следующая за ним строчка уже не выполнится и программа будет остановлена. Как пользоваться таким юнит тестированием?
Vitaliy
Ну вот именно это мне и нужно только описать это алгоритмически чтобы данные входные генерились в нужном диапазоне разная ширина импульса была как бы на входе этого устройства которое с определить интервалом опрашивают вход а на выходе результат из функции которая как бы является устройством результат поведения функции хорошо если с графиками вход данных и вых данных так же и возможность менять СК важность на входе и частоту опроса входа. А писать отдельно для этого программу не хочется. Хочу готовый пакет для моделирования. Чтобы выбор писать свою прогу для этого теста или выбрать готовый универсальный пакет по скорости реализации тестирования был не в пользу своей программы
Nikolay
И на входе модель железа и на выходе графики данных и все сразу и все само. Я, конечно, извиняюсь, но данная задача похожа на хотелку шоб была одна кнопка при нажатии на которую все было зашибись.
Vitaliy
Нет не так. Это нужно чтобы несведущим продемонстрировать модель поведения того или иного алгоритма, наглядно. Чтобы появилось полное понимание процесса. Считайте как для детей.
Danil
Матлаб для таких вещей как раз предназначен, нет?
Ecl
Там код надо писать, а хотелось бы без этого всего