
Roman
20.02.2018
14:11:58

Oksana
20.02.2018
14:12:20
Всем привет! Есть ли кто то с опытом по espresso? Есть небольшой вопрос по intents

Shoo
20.02.2018
14:12:50

Roman
20.02.2018
14:14:04

Google

Shoo
20.02.2018
14:14:20
Звучит как автотесты. Написал один раз и гоняешь.
Правда все мы тут знаем, что это немного не так.

Jevgeni
20.02.2018
14:15:24
В нашем случае у нас просто стоит три монитора, в которых показаны все графики со статистикой тестирования. Каждый день стэндапимся в этом углу и эти графики перед глазами - если видим какой-то скачок в статке за последний день, то сразу реагируем и выясняем - что случилось

Shoo
20.02.2018
14:17:53
Ну, т.е. сделать метрики ради красивого дашбордика с автотестами - это хорошо и здорово.
Можно ещё прогресс тест-ранов отображать в виде flappy bird или ещё чего-нибудь.
Но серьезно, я вот не очень представляю, о чем должен сигнализировать рост времени выполнения теста на 3.5% по сравнению с N последних прогонов.
Это не говорит о наличии проблемы в продукте, это даже не говорит о проблеме в тестах.
Собирать метрики, отклонения которых могут указывать на наличие проблемы, а могут и не указывать - так себе удовольствие.
Потому что на 10ое false-positive срабатывание на них просто все забьют.


Evgeniy
20.02.2018
14:18:19
если честно, не приходилось собирать никакую стату по тестам. в текущем проекте все тесты - это автотесты. их работа и результаты прогонов - все в CI. Если тест падает, ты не чешешь репу смотря на статистику, ты смотришь на результат прогона.
я не исключаю, что у кого-то чем дальше процесс принятия решений дебага тестов от непосредственно фидбека теста, тем больше смысла от статистики.
Но пока у тебя получается be as small as you can - любая статистика, бдд головного мозга и прочая чепуха, которая охотно продается и покупается - будет вредна.

Екатерина
20.02.2018
14:20:18
были ситуации, когда увеличение времени прогона тестов было вызвано тем, что одна из функций в продукте была криво поправлена и начали тормозить запросы.
Была ситуация, когда баг всплывал только на первый проход: ретрай теста проходил успешно, руками точно также отрабатывало

Roman
20.02.2018
14:24:28
Опять же повторю, если собирать статистику для вас легко, то она может помочь. Не надо молиться на графики и статистику, но в нужный момент достать её и что-то понять это явно плюс, а не минус.

Shoo
20.02.2018
14:29:22

Roman
20.02.2018
14:30:51

Shoo
20.02.2018
14:31:36
Ок, может вы собираете какую-то сложную статистику и работать с ней трудно
Я уже выше привел пример:
Я вот не очень представляю, о чем должен сигнализировать рост времени выполнения теста на 3.5% по сравнению с N последних прогонов.
Это не говорит о наличии проблемы в продукте, это даже не говорит о проблеме в тестах.
И в принципе то же самое относится ко всем метрикам, которые я перечислил в сообщении, с которого эта дискуссия началась.

Roman
20.02.2018
14:32:24

Shoo
20.02.2018
14:33:47
Это говорит о том, что какие-то из тестов стали по каким-то причинам бегать медленее.
Что мне это дало?
Что они стали бегать медленнее я узнаю из CI и так, там есть build history. Там есть build time по фазам. Всё ж хорошо и классно.
Если меня перестанет это устраивать - я не стану искать тот тест, который стал бегать на 3.5% медленее и чинить его, а поставлю себе задачу "Ускорить тесты на N" и буду решать эту проблему.

Google

Shoo
20.02.2018
14:33:53
И в итоге какой смысл метрики-то?
Для профайлинга приложения есть перформанс тесты, там другая логика: не уложился в N -> test failed, soryan bratan.
Есть мониторинг производительности приложения, который говорит про то, как быстро приложение работает, а не про то, как быстро тесты бегут.
Это - полезная метрика, да.

Roman
20.02.2018
14:38:10

Shoo
20.02.2018
14:39:13
Ты открываешь тесты, профилируешь их, оптимизируешь там, где это проще сделать кодом, распараллеливаешь там, где не проще.
Для этого не нужна статистика, тебе интересно только _текущее_ состояние.

Roman
20.02.2018
14:40:10

Shoo
20.02.2018
14:40:38
Ну, если скорость работы сущностей, никак не связанных с тестированием - это статистика тестирования, то окей, я сдаюсь.

Rostislav
20.02.2018
14:41:06

Roman
20.02.2018
14:41:23
если время прохождения билда с тестами не связано с тестированием, то я тоже:)

Shoo
20.02.2018
14:42:20
Долгое время билда можно оптимизировать миллионом способов, лишь полтора из которых касаются тестов в принципе.

Roman
20.02.2018
14:43:16
билда - прохождения тестов

Vage
20.02.2018
14:43:27
имхо, даже если это и считать за метрику - то она все равно бесполезная, т.к. неинформативная. Ну допустим время увеличилось или уменьшилось, сама по себе эта инфа абсолютно бесполезна без полноценного перф. тестирования

Shoo
20.02.2018
14:43:50

Roman
20.02.2018
14:43:51
гугл например не запускает флеки тесты, чтобы сэкономить время запуска тестов на прекомит

Shoo
20.02.2018
14:44:13
Я рад за гугл. Гугл ещё много чего делает, потому что может.

Roman
20.02.2018
14:44:38
ну то есть гуглу можно потому что он "может")?

Shoo
20.02.2018
14:45:36
Ну, т.е. экстраполировать практики Гугла на свои реалии можно только в том случае, если ты располагаешь теми же ресурсами, объемами кода и тестов, а так же требованиями к качеству и скорости билдов, что и Гугл.
Т.е. по сути если ты работаешь в Гугле.

Roman
20.02.2018
14:45:41
думаю это уже скатилось просто в холивар, так что закончу

Google

Shoo
20.02.2018
14:45:52
Аргумент "в гугле так делают, поэтому я тоже буду" это такое себе.

Roman
20.02.2018
14:46:27

Evgenia
20.02.2018
14:46:41
Всем привет! Кто использует new relic? можете дать ссылку/подсказать? где понятно изложено как его установить и использовать?

Shoo
20.02.2018
14:46:57
Ох, это как раз таки отличный аргумент. Не делайте того, что не имеет смысла в ваших реалиях. Ваш кэп.

Roman
20.02.2018
14:51:52

Shoo
20.02.2018
14:53:39

Roman
20.02.2018
14:54:18

Dmitry
20.02.2018
14:54:38
у гугла есть возможность хранить тестовые результату 1.8 млн тестов на долгом времени, от такого факта я прям поражен был =)
и к флаки тестам у них другой подход

Shoo
20.02.2018
14:55:51
Окей. Пример Гугла прекрасен. Только:
а) Это не значит, что это полезно всем.
б) Зачем для этого метрики и статистика?
Ты динамически собираешь тесты в билдплан на основе того, как они бегают?
Нет, ты один раз проходишься профайлером по тестам, смотришь какие из них жрут много времени и приносят мало пользы, и выкидываешь их из первичных билдпланов. Всё
Для этого не нужна статистика, история последнего миллиарда тестов и чего-либо ещё.

Roman
20.02.2018
14:58:00
Как ты пройдешь профайлером по 1.8 млн тестов? можешь до 1000 сократить даже.
а) никто не говорит что полезно всем! может быть полезно
б) чтобы не решать проблему с кучей тестов и профайлером
динамически да, почему нет?

Shoo
20.02.2018
14:59:10
А в чем проблема пройтись профайлером по 1.8 млн. тестов?
AFAIK это делается через запуск тест-рана с лишним флагом в конфиге.
Я тебе по секрету скажу, люди профайлят приложения значительно большего объема. Приходится.

Roman
20.02.2018
15:00:43
в том что на это потратится много ресурсов и это можно заменить на статистику в некоторых случаях

Shoo
20.02.2018
15:01:48
Динамически собирать тесты в билдпланы?
Ну, как минимум потому, что если у тебя от прогона к прогону меняется объем flacky тестов в коде - то это проблема посерьезнее падающих билдпланов.
Во вторых потому, что смысл билдпланов с тестами в том, что они каждый раз проверяют гарантированный набор функциональности, показывающий что приложение работоспособно.
Динамически подбирать тесты в план - это то же самое, что генерить рандомные значения в тестах. Добавляет бессмысленной энтропии в систему валидации и не приносит никакого профита, вообще.


Roman
20.02.2018
15:06:17
существуют разные подходы к построению билдпланов и не всегда в данные момент нужны все тесты. насчет статистики - как скажешь, но такая категоричность это слишком кмк

Shoo
20.02.2018
15:08:23
Но, возможно я туповат.

Google

Evgeniy
20.02.2018
15:09:43
статистика в этом плане помогает, если она выявляет аномальные штуки. например, аномально быстро прошли тесты. Или аномально долго. и при этом все зеленое.
как Шу правильно заметил, метрика сборки тестов ничем не отличается от любой другой сборки, если ты оцениваешь время сборки

Roman
20.02.2018
15:09:54
запустить тесты на ферме пачками, отсортировав по их времени прохождения, чтобы они равномерно проходили

Evgeniy
20.02.2018
15:11:14
и то, выявление таких аномалий, которые спрятались в self positive, например, это вопрос скорее санити чека и борьбы с "замыливанием глаза". По факту у тестов не так уж и много реально полезных метрик, которые здесь и сейчас тебе скажут, что нужно что-то конкретно изменить

Nikita
20.02.2018
15:13:21
метрики на тесты это что-то новое, видимо чувакам совсем нечем заняться

Evgeniy
20.02.2018
15:15:25
вообще было бы очень хорошо. чтобы любой. кто хочет достичь дзена с получением статистики сказал это в ключе
"У нас есть статистика %statistic%, она выявляет проблемы с %entity%, этот метод единственный\самый надежный для выявления проблемы %entity%, а затраты на реализацию этой статистики соизмеримо меньше %other_non_statistical_options%"

Roman
20.02.2018
15:17:20

Richard
20.02.2018
15:17:35

Evgeniy
20.02.2018
15:17:37
если чего-то из этой схемы у вас не будет сходиться, вероятно, вы оверинжинирите.
Что дает статистика? Статистика ищет аномалии, показывает тренд. Грубо говоря это единственное, что вы можете описательно применить в графу составленному из величин. Либо резко все плохо, либо плохо становится постепенно.

Admin
ERROR: S client not available

Nikita
20.02.2018
15:17:55

Roman
20.02.2018
15:18:20

Evgeniy
20.02.2018
15:19:16
аномалии - это хорошо, иногда она подскажет, что что-то было плохо (показанный простейший пример зеленого, но очень быстрого билда, например) - статистика в TeamCity может репортить билд упавшим, если он статистически отклонился от "нормы".

Nikita
20.02.2018
15:19:21

Evgeniy
20.02.2018
15:19:36
Что касается тренда - то тут все сложнее - с трендом вы примерно никогда ничего не поделаете.

Roman
20.02.2018
15:19:53
ну и как бы да - время прохождения тестов, их статус - уже вполне статистика. и какая разница вы ее в Ci собираете или еще как-то. или я не прав?

Evgeniy
20.02.2018
15:19:55
анализ тренда упавших тестов это гадание на кофейной гуще

Richard
20.02.2018
15:20:20

Nikita
20.02.2018
15:21:21
потому что тред ушел в автотестовую статистику

Richard
20.02.2018
15:21:37
Ну а я в общем контексте

Google

Richard
20.02.2018
15:21:51
изначально-то вопрос был "в общем"

Nikita
20.02.2018
15:21:55
про ручное — эстимейты полезны, а еще что?

Richard
20.02.2018
15:22:03
код кваередж
точнее не так
тест кавередж

Nikita
20.02.2018
15:22:14
код кавередж ничего не показывает
и тех кто на него дрочит надо бить
тест каверадж лучше

Roman
20.02.2018
15:22:54
а что такое тест кавередж?

Nikita
20.02.2018
15:23:10
но я не видел тест кавереджей не в хардкорном вотерфолле

Richard
20.02.2018
15:23:32
в скрамбане на это молятся

Nikita
20.02.2018
15:24:28
а как измеряют?)
в скраме тоже много на что молятся, только часто оно не работает :)
интересно, каков подход

Richard
20.02.2018
15:26:06
а как измеряют?)
Ну как обычно. Бюьт требования на блоки. каждый блок на функционал. каждый кусок функционала покрывают тестами.
Согласовывают и утверждают. Считают за сотку.

Yakov
20.02.2018
15:26:19
люди добрые, отпишите плз где кто нашел удаленку( кроме как чата qa-вакансии, джина и хэдхантера)?
желательно найти какую-нибудь проектную работу

Richard
20.02.2018
15:26:30
Да, это не работает, потому что считают только позитивные тесты. Happy path

Nikita
20.02.2018
15:26:42
о, требования :)

Richard
20.02.2018
15:26:43

Yakov
20.02.2018
15:26:48
((