Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2018, 13:29   #1
staircaseMaker
Пользователь
 
Регистрация: 25.02.2018
Сообщений: 18
По умолчанию Автоматизированные тесты для three.js

Здравствуйте коллеги!
Помогите, пожалуйста, советом или делом в организации автоматизированного тестирования приложения на базе three.js
Мы занимаемся производством лестниц для частных домов по индивидуальному проекту.
Сейчас у нас есть система автоматизированного проектирования (сапр) лестниц, в которой мы проектируем наши лестницы.
Процесс работы выглядит примерно так: https://youtu.be/RaFOvG5-Dps На видео показан коммерческий модуль, там визуализация приблизительная. В производственном модуле, который как раз и надо тестировать, модель сложнее но, принцип построения тот же.
Из-за большого количества ошибок, сделанный системой проект перед запуском в производство необходимо полностью проверять силами инженера-конструктора. Проверка проектов перед запуском в работу происходит так https://youtu.be/upFo-bKF5JE
Система написана в функциональном стиле. Все основные детали лестницы отрисовываются отдельными функциями. Результат работы всех основных функций это js объект. Он создается при помощи конструктора из библиотеки three.js и модифицируется внутри функции. При сохранении заказа, в базу сохраняется не сама модель, а значения инпутов на странице. При загрузке данных заказа из базы, значения инпутов устанавливаются и происходит построение модели и проведение всех расчетов.
Код сейчас написан без учета возможности автоматического тестирования.
Задача-минимум в области тестирования:
Сделать систему сравнения результатов текущей версии функции с эталонным результатом. Соответственно, надо сделать интерфейс, перебор параметров и возможность пересохранения эталона (при исправлении ошибок). Это нужно для того, чтобы в процессе исправления старых ошибок не возникали новые.
Задача-максимум это автоматизация работы инженера при проверке проектов, то есть автоматизированный поиск производственных ошибок в результатах работы системы.
Как реализовать задачу-минимум, мне в целом понятно. А вот как проверять правильность модели с производственной точки зрения пока достойных идей нет.
При этом тесты надо сделать именно для существующей системы. Варианты полной переделки, смены технологии, перехода на solidWorks не рассматриваются.
Буду благодарен за любые идеи. Если Вы можете за деньги решить эту задачу, пишите в личку.
staircaseMaker вне форума Ответить с цитированием
Старый 12.03.2018, 14:32   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от staircaseMaker Посмотреть сообщение
Сделать систему сравнения результатов текущей версии функции с эталонным результатом.
Не смотрел видео, но не очень понятно в чем сложность с этим. Assert(expected, actual) же есть в любой библиотеке для тестов.

ЗЫ
Цитата:
Сообщение от staircaseMaker Посмотреть сообщение
Система написана в функциональном стиле. Все основные детали лестницы отрисовываются отдельными функциями.
Скорее всего вы имеете в виду процедурный, а не то, что обычно принято называть функциональным программированием.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 12.03.2018, 15:35   #3
staircaseMaker
Пользователь
 
Регистрация: 25.02.2018
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Не смотрел видео, но не очень понятно в чем сложность с этим. Assert(expected, actual) же есть в любой библиотеке для тестов.
Сложность с тем, как проверять модель. Посмотрите, пожалуйста, видео про проверку - там показано, что инженер проверяет. То есть вопрос в том, как машине понять, правильная модель с технической точки зрения или нет.
staircaseMaker вне форума Ответить с цитированием
Старый 13.03.2018, 11:32   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Не претендуя на истину - я 3D проектированием не занимался - но мне кажется, что формализация требований к корректности модели и затем их программная реализация - довольно сложная задача, и решение ее обошлось бы вам в достаточно крупную сумму, если кто и возьмется. Подъемно для фирмы с оборотом в миллионы $. С другой стороны, как на вашем видео, грамотный инженер, повертев модель, визуально найдет в ней "грабли" достаточно быстро. Так опытный нормоконтролер находил ошибки в нашей документации во времена СССР (ненавижу базарное слово совка). Правда, тогда компьютеров в КБ не было.













..

Последний раз редактировалось digitalis; 13.03.2018 в 11:36.
digitalis вне форума Ответить с цитированием
Старый 14.03.2018, 13:45   #5
staircaseMaker
Пользователь
 
Регистрация: 25.02.2018
Сообщений: 18
По умолчанию

Коллеги, неужели никто не знает, как решить такую задачу?
Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
staircaseMaker вне форума Ответить с цитированием
Старый 14.03.2018, 18:48   #6
СтудПом
Форумчанин
 
Регистрация: 08.11.2017
Сообщений: 347
По умолчанию

Цитата:
Сообщение от staircaseMaker Посмотреть сообщение
Коллеги, неужели никто не знает, как решить такую задачу?
Да знают они всё! Просто, люди видать опытные и догадываются, что их ответ вам не понравится...
СтудПом вне форума Ответить с цитированием
Старый 15.03.2018, 22:43   #7
staircaseMaker
Пользователь
 
Регистрация: 25.02.2018
Сообщений: 18
По умолчанию

Цитата:
Сообщение от СтудПом Посмотреть сообщение
Просто, люди видать опытные и догадываются, что их ответ вам не понравится...
я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами меньше отверстий), второй можно не проводить - в модели косяк
По тому же принципу производится калибровка станков с чпу по датчикам
вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему Вы считаете меня му*аком
staircaseMaker вне форума Ответить с цитированием
Старый 15.03.2018, 22:52   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от staircaseMaker Посмотреть сообщение
вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему Вы считаете меня му*аком
Надо было вспомнить анекдот про американский, еврейский и русский форум

Вообще наверно просто никто не сталкивался с таким и всем было лень разбираться и думать, вот и решили хоть что-то написать чтоб поддержать интересную тему )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тесты для студентов bezotveta Фриланс 6 27.09.2010 16:52
как сделать интерактивные тесты для сайта? Александр_95 Помощь студентам 0 20.11.2009 08:10
Тесты по программированию для новичков и не только cocojambo Помощь студентам 0 08.04.2009 11:29
автоматизированные обучающие системы искра Помощь студентам 4 01.11.2007 23:39
автоматизированные обучающие системы искра Общие вопросы C/C++ 4 01.11.2007 22:06