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

https://github.com/mrdoob/three.js/tree/master/test/unit
staircaseMaker
Цитата (Oyeme @ 12.03.2018 - 15:31)
Примеры как тестируют treejs

https://github.com/mrdoob/three.js/tree/master/test/unit

Спасибо за ссылку, но я не понял, какое это имеет отношение к нашей задаче. У меня вопрос в том, как заменить человека машиной на этапе проверке проектов. В видео про проверку проектов показано, что делает инженер. Вопрос в том, как сделать это автоматически? То есть вопрос в том, как машине понять, правильная модель с технической точки зрения или нет.
Oyeme
Цитата (staircaseMaker @ 12.03.2018 - 12:43)
Цитата (Oyeme @ 12.03.2018 - 15:31)
Примеры как тестируют treejs

https://github.com/mrdoob/three.js/tree/master/test/unit

Спасибо за ссылку, но я не понял, какое это имеет отношение к нашей задаче. У меня вопрос в том, как заменить человека машиной на этапе проверке проектов. В видео про проверку проектов показано, что делает инженер. Вопрос в том, как сделать это автоматически? То есть вопрос в том, как машине понять, правильная модель с технической точки зрения или нет.


Попробуйте использовать https://www.seleniumhq.org/

wink.gif

Цитата
Selenium IDE is a Firefox plugin which records and plays back user interactions with the browser. Use this to either create simple scripts or assist in exploratory testing. It can also export Remote Control or WebDriver scripts, though they tend to be somewhat brittle and should be overhauled into some sort of Page Object-y structure for any kind of resiliency.
staircaseMaker
Цитата
Попробуйте использовать https://www.seleniumhq.org/

Вопрос не в том, какой инструмент использовать для написания тестов, а каким должен быть сам принцип теста. То есть что именно тестировать
staircaseMaker
Коллеги, неужели никто не знает, как решить такую задачу?
Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
staircaseMaker
я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами, которые меньше отверстий), второй можно не проводить - в модели косяк
По тому же принципу производится калибровка станков с чпу по датчикам
Коллеги, как вам такой способ проверки, есть ли идеи получше?
Фомин
На мой взгляд, автоматизация тестирования приложения и автоматизация работы с внешними ресурсами лучше через селениум.

Здесь хорошо описано про это + можно найти ответы на все возникающие вопросы:
https://habr.com/ru/post/502292/
https://www.azoft.ru/blog/selenium/
https://comaqa.gitbo...river-lectures/
https://tproger.ru/a...ava-i-selenium/

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.