Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2018, 13:17
Интересующийся
Отправить личное сообщение для staircaseMaker Посмотреть профиль Найти все сообщения от staircaseMaker
 
Регистрация: 25.02.2018
Сообщений: 25

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

Коллеги, неужели никто не знает, как решить такую задачу?
Ответить с цитированием
  #3 (permalink)  
Старый 14.03.2018, 13:41
Интересующийся
Отправить личное сообщение для staircaseMaker Посмотреть профиль Найти все сообщения от staircaseMaker
 
Регистрация: 25.02.2018
Сообщений: 25

Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
Ответить с цитированием
  #4 (permalink)  
Старый 14.03.2018, 18:07
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от staircaseMaker Посмотреть сообщение
Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
Я реально не понимаю чего ты ждешь. Что все достанут хрустальные шары и точно опишут как в твоем случае реализовать систему тестирования?
Ответить с цитированием
  #5 (permalink)  
Старый 15.03.2018, 22:38
Интересующийся
Отправить личное сообщение для staircaseMaker Посмотреть профиль Найти все сообщения от staircaseMaker
 
Регистрация: 25.02.2018
Сообщений: 25

я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами меньше отверстий), второй можно не проводить - в модели косяк
По тому же принципу производится калибровка станков с чпу по датчикам
Ответить с цитированием
  #6 (permalink)  
Старый 15.03.2018, 22:39
Интересующийся
Отправить личное сообщение для staircaseMaker Посмотреть профиль Найти все сообщения от staircaseMaker
 
Регистрация: 25.02.2018
Сообщений: 25

вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему вы считаете меня му*аком

Последний раз редактировалось staircaseMaker, 15.03.2018 в 22:42.
Ответить с цитированием
  #7 (permalink)  
Старый 16.03.2018, 00:21
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Никто тебя обидеть не хотел.
Просто если немного сократить твой вопрос получится - «как проверять правильность модели с производственной точки зрения?»
Какой модели? что ты имеешь ввиду под производственной точкой зрения?
Похожие вопросы обычно игнорируют. На этом форуме любят сформулированные вопросы и конкретные примеры.

Цитата:
я придумал очень простой способ как проверить собираемость модели,...
Это попытка побороться с последствиями ошибок в логике программы. Гораздо лучше бороться с ними на этапе разработки именно для этого и служим механизм assert небольшое видео по теме https://www.youtube.com/watch?v=Z3w6eMq7etw
Ответить с цитированием
  #8 (permalink)  
Старый 16.03.2018, 09:59
Интересующийся
Отправить личное сообщение для staircaseMaker Посмотреть профиль Найти все сообщения от staircaseMaker
 
Регистрация: 25.02.2018
Сообщений: 25

Сообщение от MallSerg Посмотреть сообщение
Никто тебя обидеть не хотел.
Да это так, вспомнился бородатый анекдот https://pikabu.ru/story/anekdotborodach_2207649
На форумах про производство, кстати, точно такая же фигня. Видимо, это действительно особенность менталитета.

Цитата:
Это попытка побороться с последствиями ошибок в логике программы. Гораздо лучше бороться с ними на этапе разработки именно для этого и служим механизм assert небольшое видео по теме
Это попытка найти ошибки в коде после того, как была проверена логика и выявлены все возможные ошибки на этапе модулей. А вообще, в любой большой системе, особенно разрабатываемой в первый раз с нуля, всегда есть ошибки. И финальные тесты как раз и нужны для того, чтобы эти ошибки выловить на этапе тестирования, а не силами пользователей. А то, что гораздо лучше писать код сразу без ошибок, это я с Вами полностью согласен. Только вот я не слышал ни про одного человека, кто умеет так делать. Тут мне вспомнился еще один бородатый анекдот http://www.mrwolf.ru/Humor/Anekdoty/2088
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт корзины для сайта EasyNetShop.ru Ваши сайты и скрипты 0 17.11.2016 14:57
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
Яндекс.Деньги организуют в Петербурге школу для веб-разработчиков LinaKurkova Работа 0 15.05.2014 22:41
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31