Size: a a a

QA — Автоматизация

2021 January 04

IT

Ivan Trechyokas in QA — Автоматизация
Alexei Vinogradov
DOM:

<div>
 <button>press me</button>
</div>

 
$("div").$("div button").shouldBe(visible);

v
s.  

$("div").$("div").shouldBe(visible);

Чт
о будет?

$().$() - тоже что в Selenium driver.findElement().findElement().
я запутался
есть div > button

а в коде div > div > button.

а зачем поиск внутри, если можно одним xpath описать это всё?

xpath("//div/button[@text='press me']) ?
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ivan Trechyokas
так а как ты можешь замёржить, если тесты упадут?

так поломали - почини перед деплоем, в чём проблемы. вы так говорите, будто у вас "прод" и "локальный компьютер" только в цепочке.

>  кто будет в последние дни спринта отслеживать и разруливать возможные конфликты?
то есть у вас по объявлению люди набраны, если им пофиг на результат, лишь бы "таску закрыть", а там пусть хоть помойка получится?

если у вас безответственные ребята - то тут процессы тоже не получится, а сама ситуация "под конец спринта" и "деплой по мере готовности" не матчатся, ибо под конец спринта у вас 1 фича остаётся.

тут всё же речь про "монорепозиторий" вроде бы, раз все команды в одно место пушат код, и микросервисами не пахнет, либо все команды пушат во все микросервисы без разбору =)
> так а как ты можешь замёржить, если тесты упадут?

А они падают регулярно и ещё (все вместе) идут когда 2, когда 4 часа

> так поломали - почини перед деплоем, в чём проблемы. вы так говорите, будто у вас "прод" и "локальный компьютер" только в цепочке.

Мы прогнали свои — наши не падают. Они прогнали свои — их не падают. Мы замержили, они замержили, джоба запустилась — их мерж поломал наши (все вместе идут 4 часа, напоминаю).

> то есть у вас по объявлению люди набраны, если им пофиг на результат, лишь бы "таску закрыть", а там пусть хоть помойка получится?

Нет, хорошие люди. Просто попали в такие условия и такой контекст. Если не закрываешь таски, менеджмент атакует моск. А надо ж закрыть до конца спринта (!!!111адынадын) — и вот такие благие намерения менеджера предсказуемо приводят к тому что я сказал.

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

>   "под конец спринта" и "деплой по мере готовности" не матчатся, ибо под конец спринта у вас 1 фича остаётся.

Кааааакая ещё "1 фича"?

> тут всё же речь про "монорепозиторий" вроде бы, раз все команды в одно место пушат код, и микросервисами не пахнет, либо все команды пушат во все микросервисы без разбору =)

Да может быть и не "моно". И что с того?
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ivan Trechyokas
какой-то набор не пришей кобыле хвост.

вроде интересный, но абсолютно бесполезный.

"иторически сложилось, делать с этим мы ничего не будем" - единственное, что их объединяет.
Это набор из реального мира.  :)
А чего с этим делать? Фичи пилить надо. И сиай-сиди.

+ и девопсам не поставлено задачи пилить пайплайны в первую очередь (а энвы фиксить в последнюю)
+ и девопсам не ставят задачи отдельно на их собственный скрам

Чего вы сделаете если задачи раздаёт верхний менеджмент? Ничего не сделаете.
источник

ES

Edward Surov in QA — Автоматизация
Ivan Trechyokas
Пс, посоны и девчонки.
Уверен, что у вас куча опыта по моему запросу.

Есть проект, в котором есть back + web + iOS + Antroid.

Какой релизный цикл лучше всего подойдёт для таких систем?
Известно, что ревью приложений ios/anrdoid занимает время в офф.маркетах, поэтому "секундного деплоя" тут не получится, как для back+web.

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

Кто как сживался и получалось ли менять процесс релизов на что-то более интересное?
Я не совсем понял вопрос. Посекундные релизы невозможны - ок, помесячные не нравятся - ну, сделайте двухнедельные, если не боитесь юзеров выбесить. Вопрос-то в чем?
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ivan Trechyokas
не привык, что люди с теплом берегут разбитую кружку со словами "не хватает времени подумать как это сделать лучше".
Добро пожаловать в реальный мир. Вы пришли на проект которому пять лет. Или десять. Или больше. А там вот так.
Да, разумеется, можно сделать лучше — не гнаться за быстрыми релизами, гори в аду та сволочь что их придумала, а сначала сделать так чтобы энвы  и сборка работали быстро и чётко как японская железная дорога.

Но так не делают. Потому что надо сиай-сиди, вот очень надо, это ж мода, это новый эджайл.

В результате на кривом и хрупком фундаменте (глючащих энвов и прогонов и сборки) сиай-сиди предсказуемо превращается в шалтай-болтай.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Ivan Trechyokas
я запутался
есть div > button

а в коде div > div > button.

а зачем поиск внутри, если можно одним xpath описать это всё?

xpath("//div/button[@text='press me']) ?
ну вот, тут код в две строчки, и уже запутался. Как же автоматизировать нам.
источник

IT

Ivan Trechyokas in QA — Автоматизация
Roman (rpwheeler)
> так а как ты можешь замёржить, если тесты упадут?

А они падают регулярно и ещё (все вместе) идут когда 2, когда 4 часа

> так поломали - почини перед деплоем, в чём проблемы. вы так говорите, будто у вас "прод" и "локальный компьютер" только в цепочке.

Мы прогнали свои — наши не падают. Они прогнали свои — их не падают. Мы замержили, они замержили, джоба запустилась — их мерж поломал наши (все вместе идут 4 часа, напоминаю).

> то есть у вас по объявлению люди набраны, если им пофиг на результат, лишь бы "таску закрыть", а там пусть хоть помойка получится?

Нет, хорошие люди. Просто попали в такие условия и такой контекст. Если не закрываешь таски, менеджмент атакует моск. А надо ж закрыть до конца спринта (!!!111адынадын) — и вот такие благие намерения менеджера предсказуемо приводят к тому что я сказал.

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

>   "под конец спринта" и "деплой по мере готовности" не матчатся, ибо под конец спринта у вас 1 фича остаётся.

Кааааакая ещё "1 фича"?

> тут всё же речь про "монорепозиторий" вроде бы, раз все команды в одно место пушат код, и микросервисами не пахнет, либо все команды пушат во все микросервисы без разбору =)

Да может быть и не "моно". И что с того?
> А они падают регулярно
то есть есть проблема и всем пофиг? ну ок.

> Мы прогнали свои
всегда же есть RC, где прогоняются общий набор тестов с нужными версия всех сервисов. иначе вы ничего не проверяете, то что ваш сервис работает - он и будет работать для вас, даже если вы измените свой интефейс, где тут интеграционные тесты - я не вижу.

> Мы замержили, они замержили
как и всегда, кто последний - тот и не прав =)

> Просто попали в такие условия
началась история, подобно "фашисты были хорошими семьянинами, просто попали в плохие условия".
Если условия их сломили - ну такое, надо работать над собой и процессами, а не "не мы такие, жизнь такая".

> А надо ж закрыть до конца спринта
на лицо неумение работать в agile среде. курсики там пройти, научится планировать и работать с PM/PO.
источник

IT

Ivan Trechyokas in QA — Автоматизация
Alexei Vinogradov
ну вот, тут код в две строчки, и уже запутался. Как же автоматизировать нам.
так ты обращаешься к неописанному div =)

могу перефразировать "твой код не будет работать" ибо
div не содержит другой div.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Ivan Trechyokas
так ты обращаешься к неописанному div =)

могу перефразировать "твой код не будет работать" ибо
div не содержит другой div.
"неописанному div"? это как?
источник

AV

Alexei Vinogradov in QA — Автоматизация
ну кликай на ОБЕ ошибки, и смотри результат.
источник

IT

Ivan Trechyokas in QA — Автоматизация
Alexei Vinogradov
"неописанному div"? это как?
<div>
 <button>press me</button>
</div>

тут есть 1 div

ты нашёл его $("div")

а далее снова ищешь $("div") - Not found +)
источник

AV

Alexei Vinogradov in QA — Автоматизация
Ivan Trechyokas
<div>
 <button>press me</button>
</div>

тут есть 1 div

ты нашёл его $("div")

а далее снова ищешь $("div") - Not found +)
Я даже придумал красивую версию, почему он должен находиться. Первый $() находит элемент целиком, включая сам div, поэтому и "div button" конечно должен находиться.

К сожалению второй пример эту версию разбивает в щепки.
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ivan Trechyokas
> А они падают регулярно
то есть есть проблема и всем пофиг? ну ок.

> Мы прогнали свои
всегда же есть RC, где прогоняются общий набор тестов с нужными версия всех сервисов. иначе вы ничего не проверяете, то что ваш сервис работает - он и будет работать для вас, даже если вы измените свой интефейс, где тут интеграционные тесты - я не вижу.

> Мы замержили, они замержили
как и всегда, кто последний - тот и не прав =)

> Просто попали в такие условия
началась история, подобно "фашисты были хорошими семьянинами, просто попали в плохие условия".
Если условия их сломили - ну такое, надо работать над собой и процессами, а не "не мы такие, жизнь такая".

> А надо ж закрыть до конца спринта
на лицо неумение работать в agile среде. курсики там пройти, научится планировать и работать с PM/PO.
> то есть есть проблема и всем пофиг? ну ок.

Не пофиг. А что делать? "Все требуют новых фич" (а не пофиксить тестирование).

И экономить надо. Попробуем выехать на меньшем количестве энвов (сталкивая вокруг них больше команд).

> всегда же есть RC, где прогоняются общий набор тестов с нужными версия всех сервисов.

Ну вот не всегда. Спринт-то две недели, а релизы нет.

> Если условия их сломили - ну такое, надо работать над собой и процессами, а не "не мы такие, жизнь такая".

Ну может у себя Вы и главный менеджер, который решает над чем надо работать. А я знаю кучу людей которые не главные менеджеры.


> на лицо неумение работать в agile среде. курсики там пройти, научится планировать и работать с PM/PO.

"Налицо" пишется вместе.

Повторяюсь, это реальный мир в который Ваши утопии не вписываются.
источник

VY

Valentin Yuriev in QA — Автоматизация
Valentin Yuriev
кто может подсказать? есть ли сейчас какие то проблемы с установкой homebrew на биг сур МАКОсь? Устанавливаю но пишет что команда не найдена brew doctor, brew --version, brew install
Повторю чтоб не потерялось
источник

IT

Ivan Trechyokas in QA — Автоматизация
Roman (rpwheeler)
Добро пожаловать в реальный мир. Вы пришли на проект которому пять лет. Или десять. Или больше. А там вот так.
Да, разумеется, можно сделать лучше — не гнаться за быстрыми релизами, гори в аду та сволочь что их придумала, а сначала сделать так чтобы энвы  и сборка работали быстро и чётко как японская железная дорога.

Но так не делают. Потому что надо сиай-сиди, вот очень надо, это ж мода, это новый эджайл.

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

я подразумеваю, что мы в контексте "тут все умные люди и имеют представление о созависимости людей".

Если кто-то решил CI/CD без всего настраивать - это их пробелмы.

речь опять же шла про релизные циклы, а не про вашу боль, которую по каким-то причинам разработчики полюбили и свыклись.
источник

AV

Alexei Vinogradov in QA — Автоматизация
Valentin Yuriev
Повторю чтоб не потерялось
ну это наверное в маковские каналы вопрос скорее)
источник

AS

Antony Sunrise in QA — Автоматизация
Ivan Trechyokas
Быстрые релизы очень крутая штука.
Потому что они становятся полностью автоматизированными и не нуждаются в «особом контроле».
Тут проще почитать умных людей на этот счёт, чтобы не спорить на пустом месте.

Без каких-либо внешних ограничений на скорость - лучший путь это релизить фичи по готовности, чтобы потом конфликты не собирать из-за «отлёживается кода в ветках»
Штука крутая, но нужно нанимать крутых людей, которым надо круто платить, а деньги самим нужны...
источник

IT

Ivan Trechyokas in QA — Автоматизация
Valentin Yuriev
кто может подсказать? есть ли сейчас какие то проблемы с установкой homebrew на биг сур МАКОсь? Устанавливаю но пишет что команда не найдена brew doctor, brew --version, brew install
о прикольно, у меня ошибка вылетает

/usr/local/Homebrew/Library/Homebrew/version.rb:368:in `initialize': Version value must be a string; got a NilClass () (TypeError)
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Ivan Trechyokas
это не реальный мир, а шляпа какая-то.

я подразумеваю, что мы в контексте "тут все умные люди и имеют представление о созависимости людей".

Если кто-то решил CI/CD без всего настраивать - это их пробелмы.

речь опять же шла про релизные циклы, а не про вашу боль, которую по каким-то причинам разработчики полюбили и свыклись.
Это не моя боль. Это реальность. Реальных проектов. Реальные запросы реальных менеджеров.

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

IT

Ivan Trechyokas in QA — Автоматизация
Antony Sunrise
Штука крутая, но нужно нанимать крутых людей, которым надо круто платить, а деньги самим нужны...
ага, а некрутые люди, которым не надо платить сделают такое, что потом крутые люди ни за какие деньги не пойдут туда работать.

я уже видел такое.

довольно интересно, но по факту много платить хорошим людям оказывается дешевле в долгосрочной перспективе.
источник