Форум программистов, компьютерный форум, киберфорум
Разработка и тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 27

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

12.03.2018, 13:28. Показов 790. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте коллеги!
Помогите, пожалуйста, советом или делом в организации автоматизированного тестирования приложения на базе three.js
Мы занимаемся производством лестниц для частных домов по индивидуальному проекту.
Сейчас у нас есть система автоматизированного проектирования (сапр) лестниц, в которой мы проектируем наши лестницы.
Процесс работы выглядит примерно так: https://youtu.be/RaFOvG5-Dps На видео показан коммерческий модуль, там визуализация приблизительная. В производственном модуле, который как раз и надо тестировать, модель сложнее но, принцип построения тот же.
Из-за большого количества ошибок, сделанный системой проект перед запуском в производство необходимо полностью проверять силами инженера-конструктора. Проверка проектов перед запуском в работу происходит так https://youtu.be/upFo-bKF5JE
Система написана в функциональном стиле. Все основные детали лестницы отрисовываются отдельными функциями. Результат работы всех основных функций это js объект. Он создается при помощи конструктора из библиотеки three.js и модифицируется внутри функции. При сохранении заказа, в базу сохраняется не сама модель, а значения инпутов на странице. При загрузке данных заказа из базы, значения инпутов устанавливаются и происходит построение модели и проведение всех расчетов.
Код сейчас написан без учета возможности автоматического тестирования.
Задача-минимум в области тестирования:
Сделать систему сравнения результатов текущей версии функции с эталонным результатом. Соответственно, надо сделать интерфейс, перебор параметров и возможность пересохранения эталона (при исправлении ошибок). Это нужно для того, чтобы в процессе исправления старых ошибок не возникали новые.
Задача-максимум это автоматизация работы инженера при проверке проектов, то есть автоматизированный поиск производственных ошибок в результатах работы системы.
Как реализовать задачу-минимум, мне в целом понятно. А вот как проверять правильность модели с производственной точки зрения пока достойных идей нет.
При этом тесты надо сделать именно для существующей системы. Варианты полной переделки, смены технологии, перехода на solidWorks не рассматриваются.
Буду благодарен за любые идеи. Если Вы можете за деньги решить эту задачу, пишите в личку.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2018, 13:28
Ответы с готовыми решениями:

Тесты для встроенных систем
Здравствуйте. Я начинающий разработчик ПО для встраиваемых систем. Пишу на C. Сейчас есть проект сервопривода с цифровым и аналоговым...

Юнит тесты для MVVM архитектуры
Столкнулся с такой проблемой: есть несколько абстрактных базовых классов вьюмоделей (для простого объекта, коллекции и дерева). У них один...

Как разработать автоматизированные тесты для программы?
В программе есть класс, он имеет несколько методов. Один метод принимает массив данных, другой изменяет его, третий выводит значения на...

8
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 27
14.03.2018, 13:45  [ТС]
Коллеги, неужели никто не знает, как решить такую задачу?
Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
0
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 27
16.03.2018, 16:48  [ТС]
я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами, которые меньше отверстий), второй можно не проводить - в модели косяк
По тому же принципу производится калибровка станков с чпу по датчикам
Коллеги, как вам такой способ проверки, есть ли идеи получше?
0
 Аватар для flashcsgroup
20 / 20 / 5
Регистрация: 18.04.2013
Сообщений: 496
20.03.2018, 10:01
Воот и тесты - https://github.com/mrdoob/three.js/tree/dev/test
0
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 27
23.03.2018, 16:31  [ТС]
Цитата Сообщение от flashcsgroup Посмотреть сообщение
А есть где-нибудь описание и примеры, что это за тесты? И что это вообще такое: библиотека, какая-то система, которая что-то рисует и тестирует себя, или что-то еще?

И как при помощи этой ссылки придумать способ проверки модели лестницы?
0
 Аватар для flashcsgroup
20 / 20 / 5
Регистрация: 18.04.2013
Сообщений: 496
26.03.2018, 09:36
Цитата Сообщение от staircaseMaker Посмотреть сообщение
А есть где-нибудь описание и примеры, что это за тесты? И что это вообще такое: библиотека, какая-то система, которая что-то рисует и тестирует себя, или что-то еще?
И как при помощи этой ссылки придумать способ проверки модели лестницы?
Вы просили тесты - так вот вам тесты. Читайте комментарии. Задавайте там вопросы и ответит вам разработчик. Вопросы создателю , желательно задавать на английском языке.
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
26.03.2018, 16:05
Цитата Сообщение от staircaseMaker Посмотреть сообщение
И как при помощи этой ссылки придумать способ проверки модели лестницы?
Насколько я понял, это тесты для библиотеки three.js, и вряд ли будут Вам полезны.
Юнит-тесты не должны проверять модель лестницы (юнит-тесты не имеют никакого отношения к валидации). Они должны проверять работу отдельных функций ("при таком-то входе получаем такой-то результат").
0
0 / 0 / 0
Регистрация: 25.02.2018
Сообщений: 27
27.03.2018, 10:47  [ТС]
Цитата Сообщение от Shamil1 Посмотреть сообщение
Юнит-тесты не должны проверять модель лестницы (юнит-тесты не имеют никакого отношения к валидации). Они должны проверять работу отдельных функций ("при таком-то входе получаем такой-то результат").
Да, мы используем юнит-тесты при рефакторинге. Параллельно запускаем старую и новую функцию и сравниваем результат. Это позволяет убедиться в том, что новая функция НЕ ХУЖЕ старой. А нам надо добиться того, чтобы новая функция была ЛУЧШЕ старой.
Вот сейчас и встал вопрос как проверять именно правильность модели. При этом из-за огромного количества вариантов вручную сформировать эталонные модели невозможно. Нужен именно аналитический подход. Вот я и спрашиваю, может кто-то сталкивался с задачей валидации сборных технически сложных 3D объектов. Мне кажется, подобные задачи возникают при создании трехмерных игр
0
Модератор
Эксперт функциональных языков программирования
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
27.03.2018, 13:03
Цитата Сообщение от staircaseMaker Посмотреть сообщение
Вот сейчас и встал вопрос как проверять именно правильность модели.
ИМХО следует организовать процесс сборки таким образом, чтобы в принципе исключить неправильность модели.

Например, если сверлить отверстие сразу в двух деталях, то отверстия в них всегда будут совпадать.

ИМХО использование функционального подхода (объекты должны быть неизменяемыми) существенно упростит сложность задачи. Правда, я не знаю, насколько three.js позволяет использовать функциональный подход.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2018, 13:03
Помогаю со студенческими работами здесь

Автоматизированные списки
Помогите пожалуйста сделать 3 задание. Будет хорошо, если с объяснениями.. Заранее благодарен.

Автоматизированные действия на сайте
Здраствуйте, необходимо чтобы программа нажимала кнопку на сайте вместо меня. Возможно но ли сделать такое на Python? Кнопка на которую...

Автоматизированные информационные системы
Распространение новых версий ИС. Анализ предметной области АИС Добавлено через 11 минут Просто нужен ответ на вопрос

Автоматизированные системы учета клиентов санатория
Помогите пожалуйста с поиском материала по теме создание автоматизированной системы учета клиентов санатория. Необходима также программная...

тесты(систем продуктов программ.)тесты?!?!
тесты,плиз кто умеет?!?! токо овтет кратко,например 2-а,и т.д. заранее благодарю и спс......


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru