Size: a a a

2019 August 13

IB

Ilja Bulakh in QA Alliance
Вовка
Привет. У меня вопрос касаемо тестирования отдельных веток, а потом уже и всего ДЕВ сервака. Особенно это касается фронтендовской части.
Кто так делает? То есть сначала проверяет отдельную ветку с фичей\фиксом, а потом еще раз проверяет после ее заливки на ДЕВ сервер?
Мы сначала тестируем отдельно ветку с фиксом/фичей, после этого она заезжает в master. Перед выпуском версии проверяем фикс/фичу смоуком.
источник

DA

Dmitry Archie in QA Alliance
Ну и да, перед тестами залить мастер в свою ветку - хорошая примета
источник

В

Вовка in QA Alliance
Ну у нас вообще сейчас так что в основном после того как фича\фикс\тикет готов, если заливают на ДЕВ сервак и уже после этого мы его тестим.
Но тут у нас начались небольшие проблемы с автотестами на СИ и вот пока один фиксит тесты, я могу смотреть эту ветку отдельно на локальном серваке.
И вот мне было интересно, стоит ли такое делать или все же ждать когда пройдут тесты и работать по старому флоу.
И если делать то можно закрывать тикет еще до того как оно залетело на ДЕВ
источник

DA

Dmitry Archie in QA Alliance
Если в ветку влить мастер и тесты на ней проходят, то очень вероятно, что тесты пройдут и когда ветка вольётся в мастер.
источник

Dq

Dmitry qDims in QA Alliance
Мне кажется в таких вопросах надо вспоминать что не у всех мифическое 100% покрытие авто тестами, и вариант что а код ревью пройден и все зеленое и мы сразу в прод.
По такому флоу работает так называемые 1% наверное
источник

В

Вовка in QA Alliance
Само собой разумеется что мало людей работаю по такому флоу. И мы тоже по таком флоу не работаем.
источник

В

Вовка in QA Alliance
Просто хотелось узнать как лучше. Но все же подожду пока пофиксят тесты а там уже буду проверять на ДЕВ серваке
источник

SK

Sergey Kievskiy in QA Alliance
#QA_question Кто то на руби писал для кукумбера пропуск шага ??
источник

A

Andrey in QA Alliance
Sergey Kievskiy
#QA_question Кто то на руби писал для кукумбера пропуск шага ??
источник

SK

Sergey Kievskiy in QA Alliance
Мне нужен именно пропуск степа
источник

R(

Roman (rpwheeler) in QA Alliance
Sergey Kievskiy
Мне нужен именно пропуск степа
Скорее всего такого нет, оно противоречит концепциям этого подхода в принципе.

Можно писать другой кейз без этого степа, и отключать первый.
источник

SK

Sergey Kievskiy in QA Alliance
Жаль
источник

SK

Sergey Kievskiy in QA Alliance
Эх как жаль
источник

SK

Sergey Kievskiy in QA Alliance
Спасибо за ответ
источник

ДИ

Дмитрий Игоревич... in QA Alliance
Вовка
Привет. У меня вопрос касаемо тестирования отдельных веток, а потом уже и всего ДЕВ сервака. Особенно это касается фронтендовской части.
Кто так делает? То есть сначала проверяет отдельную ветку с фичей\фиксом, а потом еще раз проверяет после ее заливки на ДЕВ сервер?
Привет. Это хорошая тема и важно понимать, что здесь серебряной пули нет. Очень много факторов которые влияют.
Мне больше симпатизирует разработка по гит-флоу... очень мощный инструмент, если которого строго придерживаться, то будет относительно все хорошо..

Мы на прошлой работе как раз таки придерживались такого подхода..
Важно то, что разработчики работают только с девелопом... делают ветку и в эту ветку подливают данные из девелопа.

По сути когда функционал готов и отдается на тест, в ветку подливаются данные из девелопа т.е. актуализируется с текущим состоянием. Тест. Если тест пройден успешно, то ветка мержится в девелоп.
Вот здесь разработчик должен проявить бдительность и здравый смысл. Смотреть каким образом будет происходить слияние веток, дабы не перезатереть уже разработанный кем-то раннее функционал.
После успешного слияния, прогоняется смоук тесты по главному функционалу разрабатываемой фичи, а так же проверяется интеграция в целом... Но тут такой момент, что  тестировщик должен все таки понимать, какой фунционал мог сломаться при интеграции..

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

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

Когда релиз стабилен, он выкатывается на прод и закрывается.. В этот момент, автоматом идет актуализация мастера с релизной веткой. Мастер актуализирован, после чего актуализируется ветка девелоп с мастером..

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

ДИ

Дмитрий Игоревич... in QA Alliance
Вовка
Просто хотелось узнать как лучше. Но все же подожду пока пофиксят тесты а там уже буду проверять на ДЕВ серваке
дев сервак - это ты имеешь ввижу стенд на который заливается ветка девелоп?

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

ДИ

Дмитрий Игоревич... in QA Alliance
у нас юнит тесты шли 20-25 минут.. что впринципе термимо..
источник

ДИ

Дмитрий Игоревич... in QA Alliance
Читаю комменты выше..... типа - тестурем фичу с веткой, затем вливаем в мастер..
ну такое...
мастер должен быть в акутальном состоянии с продом.. ибо если чуть что произойдет.. то всегда можно будет откатиться до нормального стабильного состояния...
источник

ДИ

Дмитрий Игоревич... in QA Alliance
т.е. кратко..
разработка в ветках и работа  с девелопом..
сборка релиза
закрытие релиза. при закрытии релиза по гитфлоую данные автоматически подтягиваются в мастер до актуального состояния с новыми изменениями..
а так же мастер актуализируется с девелопом, ибо после того как открыли релиз, то в девелоп уже могли попасть изменения пока релизная ветка жила до своего закрытия.. стабилизировалась и т.д.
источник

ДИ

Дмитрий Игоревич... in QA Alliance
источник