Alexander
)) можно, но менеджеры на такое время не выделяют
Slava
плохие менеджеры
Alexander
вы вебом занимаетесь ?
Ivan
зачем морочиться с тестированием UI, если оно хорошо покрывается QA?
Anton
автотесты экономят время человеческих ресурсов
Alexander
то есть вы все используете capybara, selenium, codeseption и пр. ? Для тестирования внешнего вида ?
Alexander
Anton
клиент - это не всегда только внешний вид
Alexander
равное и даже большое написанию кода который тестируешь
Anton
изначально они расходуют время
только изначально, потом немного на поддержке
Alexander
не всегда, особенно если речь про UI
Alexander
когда клиент хочет его переделывать раз в полгода
Ivan
автотесты экономят время человеческих ресурсов
они экономят время дешевого ручного QA, но требуют время дорого инженера, который всю эту инфру будет поддерживать, борться с flakiness и т.д. Так себе экономия.
Anton
если написать и отдать, то да, возможно тесты не нужны, но тогда вопрос изначально неправильно поставлен
Ivan
юнит тесты относительно дешевы. Всяки интеграционные, e2e уже требуют инфраструктуры для запуска, сложных моков и т.д. и т.п.
Ivan
что в мелких, что в больших проектах: QA - это дешево, инженер - это дорого :-)
Ivan
плюс QA все равно нужен, ибо UI тестами все не покроешь и новые фичи не протестишь
Alexander
у меня в задачах имеет ссмысл API покрывать тестами - это оправдывает затраты
Ivan
не применимо к гигантской кодовой базе с CD
ты сам-то с гигантской кодовой базой без QA работал на одних только автотестах?))
Anton
нет, но примеров вебе куча
Ivan
нет, но примеров вебе куча
от таких же, кто не работал 😂
Ivan
а кто говнеца с тестированием UI вкусил, тот уже не настолько категоричен, что "тесты хорошо, тесты полезны, только QA - это плохо"
Anton
я не говорю, что надо только тестами тестировать, никакого QA
Anton
я говорю, что странно, что человек то программирования не знает что такое мок
Alexander
я знаю
Alexander
только не пому для чего он в вебе и в тестах
Anton
я знаю
"я только начал изучать go и честно горя не представляю для каких целей такое может понадобиться"
Slava
Какая разница для чего код?
Slava
Для веба или кофеварки
Slava
Вычленяешь юнит и тестируешь
Ivan
я говорю, что странно, что человек то программирования не знает что такое мок
счастливый человек, что не знает. А то меня всегда дрожь пробирает, когда надо большие иерархии мокать. Или разбираться что там намокано в упавшем тесте. Или когда фиксишь за 10 минут и еще полдня пишешь тест, пытаясь все помокать.
Alexander
ну саму сють мок я понял, что есть несколько окружений и у одного и того же объекта/функции в разных окружениях разная начинка
Slava
Селениум это уже функциональные тесты
Ivan
Вычленяешь юнит и тестируешь
юнит тестами UI не потестируешь)
Slava
Протестируешь
Alexander
Селениум это уже функциональные тесты
а движки для браузеров там для чего тогда ?
Slava
Почему нет то?
Slava
Генерит мой реакт дерево, мне же его рендерить не надо, чтобы проверить
Ivan
Протестируешь
как ты поехавшие стили протестируешь?
Slava
как ты поехавшие стили протестируешь?
Визуальное представление это другое, здесь нужно рендер конкретный тестировать. Но это не отменяет тестов логики генерации
Sergei
как ты поехавшие стили протестируешь?
тестирование через скриншоты, дифы
Ivan
тестирование через скриншоты, дифы
в жизни этим занимался когда-нибудь?))
Alexander
http://joxi.ru/a2XOa3df1L9D5m.jpg - вот это разве не иструмент для тестирования ? и разве это функциональное тестирование ?
Sergei
в жизни этим занимался когда-нибудь?))
не было необходимости) прост знаю как это делают гиганты (ну в основном)
Anonymous
как ты поехавшие стили протестируешь?
Как вариант - phantom.js и сравнение скриншотов попиксельно, скриншоты он делает из коробки двумя строчками кода
Slava
Фантом уже всё
Anonymous
Уже что - всё?)
Alexander
Как вариант - phantom.js и сравнение скриншотов попиксельно, скриншоты он делает из коробки двумя строчками кода
я видел кстати какой-то инструмент на его базе для тестирования, но не видел что бы им кто-то пользовался
Slava
Почил в бозе
Anonymous
я видел кстати какой-то инструмент на его базе для тестирования, но не видел что бы им кто-то пользовался
Я даже больше скажу - есть много платных инструментов для тестирования, в том числе и на базе фантома, но это никто не афиширует
Ivan
Визуальное представление это другое, здесь нужно рендер конкретный тестировать. Но это не отменяет тестов логики генерации
в общем да, разговор ни о чем. Надо предметно обсуждать конкретный UI, что он делает и что конкретно в нем мы хотим тестировать. 😊
Alexander
Уже что - всё?)
теперь вместо него безголовый хром
Anonymous
А есть и кроссплатформенные, с тестированием под любой браузерный движок, если бюджет позволяет - может серьезно подвинуть QA
Ivan
Как вариант - phantom.js и сравнение скриншотов попиксельно, скриншоты он делает из коробки двумя строчками кода
ты запаришься стабилизировать тесты и каждый раз разгребать руками упавшие :-)
Slava
в общем да, разговор ни о чем. Надо предметно обсуждать конкретный UI, что он делает и что конкретно в нем мы хотим тестировать. 😊
А что дискутировать то, нет тестов - значит кодовая база пахнет плохо. Я бы такое не пропустил в прод
Anonymous
ты запаришься стабилизировать тесты и каждый раз разгребать руками упавшие :-)
Тесты - это не панацея. Полностью избавиться от ручного тестирования - не получится, я думаю все здесь это понимают.
Anton
здесь не было утверждения, что тесты это позволяют, здесь было утверждение, что в гуе автотесты не нужны
Ivan
Тесты - это не панацея. Полностью избавиться от ручного тестирования - не получится, я думаю все здесь это понимают.
просто забавно, что все, кто затирает про то, что тестировать UI - это хорошо, тестировать UI - это нужно, в жизни скорее всего никогда этим не занимались. Еще раз, я не говорю про юнит тесты, которые легко пишут и легко поддерживаются. Я говорю про end2end тесты, где надо поднимать все окружение, создавать акки, предзаполнять их данными, потом запускать тесты, которые будут как-то кликать, скролить, менять UI, потом надо как-то проверифицировать, что тест успешно выполнился, словить кучу проблем с нестабильностью тестов, потом нужно подчищать данные и гасить окружение. В конце концов надо сделать, что это работало быстро (иначе никто запускать не будет). И да, все это дело надо постоянно поддерживать, тесты будут постоянно падать и их надо будет регулярно фиксить. И это не могут делать QA, это работой будет заниматься команда инженеров с соответствующей зарплатой.
Anton
просто забавно, что все, кто затирает про то, что тестировать UI - это хорошо, тестировать UI - это нужно, в жизни скорее всего никогда этим не занимались. Еще раз, я не говорю про юнит тесты, которые легко пишут и легко поддерживаются. Я говорю про end2end тесты, где надо поднимать все окружение, создавать акки, предзаполнять их данными, потом запускать тесты, которые будут как-то кликать, скролить, менять UI, потом надо как-то проверифицировать, что тест успешно выполнился, словить кучу проблем с нестабильностью тестов, потом нужно подчищать данные и гасить окружение. В конце концов надо сделать, что это работало быстро (иначе никто запускать не будет). И да, все это дело надо постоянно поддерживать, тесты будут постоянно падать и их надо будет регулярно фиксить. И это не могут делать QA, это работой будет заниматься команда инженеров с соответствующей зарплатой.
ну мы тут в основном про юнит, тема то с моков началась
Slava
Если вернуться к теме про моки рантайма го, то кмк, нужда в этом - это показатель непродуманного дизайна
Anonymous
Чуваки, а кто-нибудь юзал пакет jmoiron/sqlx? Выглядит так, что он решает мою проблему с сопоставлением данных из БД и полей в страктах, но мне пока не ясно какой ценой это достигается, надо читать код пакета
Anton
просто на само деле, с моками в языках, которые компилируются в машинный код сразу, не все так просто с моками, потому что во время исполнения не очень-то просто менять код
Ivan
ну мы тут в основном про юнит, тема то с моков началась
поэтому не люблю онлайн споры. Каждый говорит о чем своем. В оффлайне бы давно уже пришли к одному знаменателю о чем спор и уже договорились 😊
Ivan
всем спасибо за оппонирование, было приятно пообщаться!
Ivan
ну так спор то иначался с сылки на либу моков, я о моках и говорил всю дорогу
а я за тестирование UI зацепился. В общем разобрались)
Slava
https://habrahabr.ru/company/badoo/blog/328722/
engelbart
Я прочитал это на хабре, но не особо понял, оно правда прямо надо?
engelbart
Ну окей аллокация там на выводе в лог. В любом случае сам вывод в терминал перетормозит это