Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

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

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

  2. #2  
    Новичок
    Регистрация
    25.02.2018
    Сообщений
    17
    Сказал(а) спасибо
    0
    Поблагодарили 3 раз(а) в 2 сообщениях
    Коллеги, неужели никто не знает, как решить такую задачу?
    Где все те, кто в предыдущих моих темах по этой системе писал, что нужно писать тесты?
    Ответить с цитированием  
     

  3. #3  
    Admin
    Регистрация
    09.04.2014
    Сообщений
    1,192
    Сказал(а) спасибо
    752
    Поблагодарили 470 раз(а) в 384 сообщениях
    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    неужели никто не знает

    В вашем случае необходимо сделать ревизию и оценку кода вашего сервиса, далее совместно с Вами понять и согласовать что вы хотите иметь на выходе и потом принять решение как поступить. И это необходимо решать и делать в рамках единой задачи, а если вы будете консультироватся на форумах, а потом нанимать разработчиков то на выходе получите опять то что имеете сейчас, вы "наступаете на те же грабли" второй раз.
    Я вам скидывал свою почту если вас интересует решение проблемы вашего сервиса свяжитесь со мной.
    Ответить с цитированием  
     

  4. Пользователь сказал cпасибо:

    >Quiet Snow< (15.03.2018)

  5. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,691
    Сказал(а) спасибо
    1,736
    Поблагодарили 882 раз(а) в 754 сообщениях
    Записей в блоге
    1
    Посмотрел оба видео.

    Сразу оговорюсь, сам не WEB кодер, а десктопник. Но глядя на код упрощённой модели можно сказать, что каша невероятная.
    Такого быть ТОЧНО не должно, должно быть всё чистенько аккуратненько. Основной модуль 200-300 строк. Всё остальное
    - грамотная декомпозиция. Чётко соблюдать разграничение: обсчёт, отображение, интерфейс, ввод\вывод
    Всё лишнее, всё эти отладочные OpenGL фентиклюшки - это всё сбрить к чертям собачьим, вам нужна работа
    инженерного образца, вы не компьютерную игрушку делаете.

    Вот вы говорите ошибка там-то и там-то, откуда программисту знать это ошибка или нет? Он же не инженер проектировщик,
    там нюансов может быть чёрт знает сколько. Для этого нужна корректная документация, описывающая все нюансы
    строения этих самых лестниц. Потому что если некорректен сам концепт, то вина программиста тут нулевая.
    Пока вижу очевидную ошибку программистов это при выводе в dxf, где вы сказали, что контуры деталей наслаиваются.
    Сверлёж дырки не в том месте - это похоже на ошибку проектировщика, который не учёл ограничения и допустил
    некорректный выбор параметров(ввод данных), это каскадная ошибка тогда, когда результат нужен в любом случае
    и модель нужно скорректировать(это отдельная задача и более сложная) и делать её обязан профи из предметной области.
    Несоответствие размеров - похоже на ошибку программиста.


    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    Сделать систему сравнения результатов текущей версии функции с эталонным результатом.
    Для этого нужен эталон, корректный. Вы уверены что у вас он есть? Т.е. сам принцип автоматизированного создания
    этих самых лестниц.

    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    то есть автоматизированный поиск производственных ошибок в результатах работы системы.
    Лучше не делать ошибок(иметь полностью формализованную корректную систему), чем писать мега навороченный фильтр
    - экспертную систему. Вам это скажет любой человек.

    Конечно понимаю, что дополнительная возьня с кодом, не обнадёживает и это головняк тот ещё, отвлекать
    людей от работы, когда в производстве 100 лестниц, которые нужно править руками.
    Но против здравого смысла не попрёшь. Автоматизация это такая вещь, она делается 1 раз, важно это понимать.
    Последний раз редактировалось >Quiet Snow<; 15.03.2018 в 20:51. Причина: Объединение сообщений
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    Ограниченно модерирую.
    Ответить с цитированием  
     

  6. #5  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,691
    Сказал(а) спасибо
    1,736
    Поблагодарили 882 раз(а) в 754 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от Free Admin Посмотреть сообщение
    И это необходимо решать и делать в рамках единой задачи, а если вы будете консультироватся на форумах, а потом нанимать разработчиков то на выходе получите опять то что имеете сейчас, вы "наступаете на те же грабли" второй раз.
    Полностью согласен. Задача комплексная, нужен более централизованный подход.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    Ограниченно модерирую.
    Ответить с цитированием  
     

  7. #6  
    Новичок
    Регистрация
    25.02.2018
    Сообщений
    17
    Сказал(а) спасибо
    0
    Поблагодарили 3 раз(а) в 2 сообщениях
    я придумал очень простой способ как проверить собираемость модели, вдруг кому-нибудь понадобится решить аналогичную задачу. Основан на поиске пересечения объектов, реализованном стандартной функцией из three.js. В каждое отверстие добавляем цилиндр, символизирующий болт. Поиск пересечений запускаем два раза: в первом случае диаметр цилиндра на 1мм меньше диаметра отверстия, во втором случае на 1мм больше. В первом случае должно быть 0 пересечений, во втором в два раза больше, чем количество болтов. Если первый тест провален (на модели есть пересечения с болтами меньше отверстий), второй можно не проводить - в модели косяк
    По тому же принципу производится калибровка станков с чпу по датчикам
    вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему Вы считаете меня му*аком
    Ответить с цитированием  
     

  8. #7  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,691
    Сказал(а) спасибо
    1,736
    Поблагодарили 882 раз(а) в 754 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему Вы считаете меня му*аком
    Никто вас никем не считает, мы тут о специфике кода говорим непредметно(ибо погружение в незнакомую
    предметную область - это много времени), а чтобы говорить предметно, вам человек из фирмы
    с проф. программистами уже кучу времени назад дал свои контакты, если вы боитесь обратиться
    и решить свою проблему раз и навсегда, то - "as you wish", "как пожелаете" т.е..

    Если люди говорят "нужна ревизия кода", значит она нужна, они вам по видео мало чего скажут.
    Я честно посмотрел видосы и всё что мог рассказал, прислушиваться или нет - дело ваше.

    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    вот что-то подобное я ожидал получить в качестве ответа
    Это похоже на шутку над программистами. Вам сходу никто не даст такого ответа. Это может
    сделать лишь человек, который не понаслышке знаком с вашей областью деятельности.
    Производственные задачи они одни из самых сложных и ответственных, тут решения сходу
    не принимаются.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    Ограниченно модерирую.
    Ответить с цитированием  
     

  9. #8  
    Admin
    Регистрация
    09.04.2014
    Сообщений
    1,192
    Сказал(а) спасибо
    752
    Поблагодарили 470 раз(а) в 384 сообщениях
    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    По тому же принципу производится калибровка станков с чпу по датчикам
    вот что-то подобное я ожидал получить в качестве ответа, а не подробный рассказ, почему Вы считаете меня му*аком
    К сожалению вы меня не поняли, я пытался нарисовать общую картину и алгоритм действий для того что бы исправить Вашу ситуацию и принять правильное решение.
    Просто вы эксперт в своей области знаний, а мы эксперты в своей и не кто вас мудаком не считает и не считал. Вы задаёте вопросы мы пытаемся Вам помочь.

    У вас стандартная и часто встречающаяся ситуация когда нанятые вами неопытные разработчики (или студенты ИТ-вузов) просто хотели заработать и получить опыт практического применения изученных технологий (кстати за ваш счет) не очень вникая в вопросы создания правильной архитектуры и дальнейшего развития Приложения. Мы с таким сталкиваемся очень часто в нашей работе, и всегда стараемся рассказать клиенту всё плюсы и минусы для того что бы он сам принял правильное решение.

    и в качестве информации:
    Есть определённые принципы в разработке программного обеспечения на заказ
    Программист не знает предметную область Заказчика (и не должен знать!), только Заказчик может являться экспертом своей предметной области. Для разработки Приложения (Сервиса) составляется подробное Технической Задание (ТЗ), разработкой ТЗ занимаются Программист и Заказчик совместно, Заказчик описывает функциональную часть своего приложения, а Программист "перекладывает" этот функционал на "язык" применяемых технологий, а также закладывает общую архитектуру будущего Приложения. Это основной и главный принцип дальнейшей успешной разработки ПО!
    Кроме того к ТЗ необходимо разработать Спецификацию Технических Требований (СТТ) где более подробно описаны технологии, методы тестирования функционала и на уровне кода, в СТТ закладываются основные критерии по которым будет приниматься Приложение (Сервис).

    на сим откланиваюсь, так как считаю дальнейшую переписку с вами в рамках Форума не конструктивной и бессмысленной
    потому как вы просите помощи и в тоже время высказываете нам недоверие...
    Удачи вам!
    Ответить с цитированием  
     

  10. Пользователь сказал cпасибо:

    >Quiet Snow< (17.03.2018)

  11. #9  
    Новичок
    Регистрация
    25.02.2018
    Сообщений
    17
    Сказал(а) спасибо
    0
    Поблагодарили 3 раз(а) в 2 сообщениях
    Цитата Сообщение от Free Admin Посмотреть сообщение
    на сим откланиваюсь, так как считаю дальнейшую переписку с вами в рамках Форума не конструктивной и бессмысленной
    потому как вы просите помощи и в тоже время высказываете нам недоверие...
    Видимо, мое письмо на почту не дошло. Отписался Вам в личку.

    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Это похоже на шутку над программистами
    Честно говоря, меня это очень удивляет. А неужели не бывает программистов, которые разбираются в предметной области? А как же все штатные программисты во всех программистских конторах? Вы полагаете, что разработчики, например, яндекса, не понимают, как должен работать поисковый алгоритм?
    Ответить с цитированием  
     

  12. #10  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,691
    Сказал(а) спасибо
    1,736
    Поблагодарили 882 раз(а) в 754 сообщениях
    Записей в блоге
    1
    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    А неужели не бывает программистов, которые разбираются в предметной области?
    Бывают. Это большая редкость. У вас WEB, 99% веба это обычное сайтостроение, а у вас чисто прикладная
    узкоспециализированная задача, достаточно приличная по комплексной сложности. Не так давно всё это
    появилось, т.е. переброска прикладного в WEB.
    Наиболее близок по специализации пользователь с псевдонимом nik_1, насколько знаю он пишет на Delphi и Lazarus.
    Сам немного знаю про чертёжную область, AutoCad, Inventor, т.к. отец профессиональный инженер-автокадчик,
    но это не моя специализация, понимаю многие вещи, про которые вы говорите, тем не менее могу дать лишь общие
    советы, нюансов в каждой области бешеное количество, не зная нюансов что-то конкретное советовать - бесполезно.
    Уже поднимал тему про халатность СПО программистов, так вот сейчас понимаю,
    что пора поднимать тему про халатность КОММЕРЧЕСКИХ программистов, перекочевавших из одного лагеря в другой,
    увы вы обращались к дилетантам и это очень плохо. Вам нужно просто 1 раз поработать с по-настоящему крутыми и
    профессионально обученными программистами, чтобы наглядно увидеть разницу в качестве.
    Приведу понятную аналогию, если вы когда-нибудь лечили зубы в разных местах, например в обычной(бесплатной)
    поликлинике и платной с суперпрофессионалами(обычно один хороший врач с рекомендациями) по ведущим
    европейским методикам, то разницу вы знаете, один зуб держится год и разваливается, второй сделан железно,
    на десятилетия. В программировании, правда, не нужно ждать год, всё видно сразу.

    Цитата Сообщение от staircaseMaker Посмотреть сообщение
    Вы полагаете, что разработчики, например, яндекса, не понимают, как должен работать поисковый алгоритм?
    У разработчиков яндекса, уверен на 1000%, есть подробная техническая документация. Более того они постоянно
    производят повышение юзабилити своих сервисов, набирая оплаченных бета тестеров. Имел дело с их тех поддержкой,
    она работает как часы, идеально.
    Последний раз редактировалось >Quiet Snow<; 17.03.2018 в 03:25.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    Ограниченно модерирую.
    Ответить с цитированием  
     

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. C++ тесты онлайн
    от xezohoti в разделе C/C++
    Ответов: 5
    Последнее сообщение: 06.11.2017, 17:20
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •