За последние 24 часа нас посетили 21792 программиста и 1013 роботов. Сейчас ищут 684 программиста ...

Автоматизированные тесты для three.js

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем staircaseMaker, 12 мар 2018.

  1. staircaseMaker

    staircaseMaker Новичок

    С нами с:
    25 фев 2018
    Сообщения:
    17
    Симпатии:
    1
    Здравствуйте коллеги!
    Помогите, пожалуйста, советом или делом в организации автоматизированного тестирования приложения на базе three.js
    Мы занимаемся производством лестниц для частных домов по индивидуальному проекту.
    Сейчас у нас есть система автоматизированного проектирования (сапр) лестниц, в которой мы проектируем наши лестницы.
    Процесс работы выглядит примерно так: На видео показан коммерческий модуль, там визуализация приблизительная. В производственном модуле, который как раз и надо тестировать, модель сложнее но, принцип построения тот же.
    Из-за большого количества ошибок, сделанный системой проект перед запуском в производство необходимо полностью проверять силами инженера-конструктора. Проверка проектов перед запуском в работу происходит так
    Система написана в функциональном стиле. Все основные детали лестницы отрисовываются отдельными функциями. Результат работы всех основных функций это js объект. Он создается при помощи конструктора из библиотеки three.js и модифицируется внутри функции. При сохранении заказа, в базу сохраняется не сама модель, а значения инпутов на странице. При загрузке данных заказа из базы, значения инпутов устанавливаются и происходит построение модели и проведение всех расчетов.
    Код сейчас написан без учета возможности автоматического тестирования.
    Задача-минимум в области тестирования:
    Сделать систему сравнения результатов текущей версии функции с эталонным результатом. Соответственно, надо сделать интерфейс, перебор параметров и возможность пересохранения эталона (при исправлении ошибок). Это нужно для того, чтобы в процессе исправления старых ошибок не возникали новые.
    Задача-максимум это автоматизация работы инженера при проверке проектов, то есть автоматизированный поиск производственных ошибок в результатах работы системы.
    Как реализовать задачу-минимум, мне в целом понятно. А вот как проверять правильность модели с производственной точки зрения пока достойных идей нет.
    При этом тесты надо сделать именно для существующей системы. Варианты полной переделки, смены технологии, перехода на solidWorks не рассматриваются.
    Буду благодарен за любые идеи. Если Вы можете за деньги решить эту задачу, пишите в личку.
     
  2. staircaseMaker

    staircaseMaker Новичок

    С нами с:
    25 фев 2018
    Сообщения:
    17
    Симпатии:
    1
    Коллеги, неужели никто не знает, как решить такую задачу?
    Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Не понятно, что конкретно нужно. Есть же библиотеки для тестирования. Можно их использовать.
     
  4. staircaseMaker

    staircaseMaker Новичок

    С нами с:
    25 фев 2018
    Сообщения:
    17
    Симпатии:
    1
    нужны идеи что тестировать
    например, я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами, которые меньше отверстий), второй можно не проводить - в модели косяк
    По тому же принципу производится калибровка станков с чпу по датчикам
    Коллеги, как вам такой способ проверки, есть ли идеи получше?
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Не обязательно 100% функционала покрывать тестами, выбери что-то по важнее.

    @staircaseMaker задача очень узкая, вряд ли тут кто-то ответит. Посмотри как тестируют в других программах или теорию почитай на эту тему.