Size: a a a

2020 December 17

AE

And Ev in QA juniors
Отдельный сервер тестовый + jenkins - такое можете сделать?
источник

AG

Andrew Gasov in QA juniors
Иисус
Подскажите по-поводу стенда для тестирования отдельного.
На проекте такого нет. Я топлю за то, чтобы сделать сборку проекта по веткам (на каждую задачу отдельная ветка, которая после моего аппрува сливается с основной дев-веткой) с помощью докера.
Мне говорят, что из-за того что проект вебовый - локальный стенд будет не показательный, и в целом вариант такой себе и затратный.
Что бы вы могли посоветовать в этом плане?
Т.е. какие вообще есть варианты и что будет лучше для стенда для тестирования веба?
Лучше что бы что?
источник

И

Иисус in QA juniors
Andrew Gasov
Лучше что бы что?
Ну, какие хорошие варианты именно в плане тестирования веба. Если вот говорят, что разворачивать локально не очень релевантно, т.к. какие-то баги локально могут просто не воспроизводиться, например.
источник

И

Иисус in QA juniors
And Ev
Отдельный сервер тестовый + jenkins - такое можете сделать?
Там я так понимаю какие-то проблемы с выделением отдельного сервера на это дело (нету денег)
источник

AG

Andrew Gasov in QA juniors
Иисус
Ну, какие хорошие варианты именно в плане тестирования веба. Если вот говорят, что разворачивать локально не очень релевантно, т.к. какие-то баги локально могут просто не воспроизводиться, например.
Ну, смотри.
С точки зрения достоверности - лучше всего тестировать прям на проде.
Всмысле прям вот эта же кодовая база, которая отдается пользователям, эти же сервера, та же сеть, и т.д. и т.п.

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

Дальше начинается типичный трейдофф "достоверность" vs "удобство" vs "деньги".

Можно поднять себе ещё одно точно такое же окружение - будет близко к проду (но не отменяет того, что где-то конфигурация будет отличаться и т.д.), но дорого (чем жирнее продакшен, тем дороже).

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

Можно поднять архитектурно близкую версию продакшена.
Типа, вместо кластера мощных тачек - две и слабенькие.
Тут, вроде как, ты сохраняешь общую картину архитектуры, но при этом тратишь меньше денег.
Все ещё стоит денег, требует какого-то количества ресурсов на сопровождение и поддержку, и дополнительной работы в плане "следить, что бы было аналогично продакшену".
Зато достоверность более-менее высокая.
Не сильно удобно, но норм.

Можно поднять весь скоуп сервисов в одном условно-локальном докер-композе\кубере\етк.
Достоверность - ещё ниже, ресурсов требует ещё меньше, удобнее - вот оно всё на одной тачке.

Можно тестить локально.
Ещё более дешево и сердито (пока ты не пытаешься поднять что-то похожее на продакшен)


Дальше всё зависит от целей.
Логичный, на мой взгляд, воркфлоу - начинать с максимально простого и дешевого варианта (т.е. локально).
Если есть понимание, по каким критериям он не устраивает (и какие проблемы не решает) - двигаться на уровень выше и смотреть, как их можно решить.
источник

DN

Dmitrii Novikov in QA juniors
Иисус
Там я так понимаю какие-то проблемы с выделением отдельного сервера на это дело (нету денег)
Если выделенного окружения нет, то на локальном какие-то баги могут, конечно, не воспроизводиться. Но вообще без окружения обычно никакие баги не воспроизводятся. Отталкивайтесь от того, что имеете.
источник

И

Иисус in QA juniors
Andrew Gasov
Ну, смотри.
С точки зрения достоверности - лучше всего тестировать прям на проде.
Всмысле прям вот эта же кодовая база, которая отдается пользователям, эти же сервера, та же сеть, и т.д. и т.п.

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

Дальше начинается типичный трейдофф "достоверность" vs "удобство" vs "деньги".

Можно поднять себе ещё одно точно такое же окружение - будет близко к проду (но не отменяет того, что где-то конфигурация будет отличаться и т.д.), но дорого (чем жирнее продакшен, тем дороже).

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

Можно поднять архитектурно близкую версию продакшена.
Типа, вместо кластера мощных тачек - две и слабенькие.
Тут, вроде как, ты сохраняешь общую картину архитектуры, но при этом тратишь меньше денег.
Все ещё стоит денег, требует какого-то количества ресурсов на сопровождение и поддержку, и дополнительной работы в плане "следить, что бы было аналогично продакшену".
Зато достоверность более-менее высокая.
Не сильно удобно, но норм.

Можно поднять весь скоуп сервисов в одном условно-локальном докер-композе\кубере\етк.
Достоверность - ещё ниже, ресурсов требует ещё меньше, удобнее - вот оно всё на одной тачке.

Можно тестить локально.
Ещё более дешево и сердито (пока ты не пытаешься поднять что-то похожее на продакшен)


Дальше всё зависит от целей.
Логичный, на мой взгляд, воркфлоу - начинать с максимально простого и дешевого варианта (т.е. локально).
Если есть понимание, по каким критериям он не устраивает (и какие проблемы не решает) - двигаться на уровень выше и смотреть, как их можно решить.
По-поводу теста на проде - у нас сейчас есть "дев-стенд", на котором мы тестируют, и в который девы влияют изменения. Проблема в том, что когда они вливают изменения - происходит деплой, и на некоторое время тестирование замораживается (до окончания деплоя), и иногда это происходит раз по 10+ в день.
источник

TA

Tumanov Alexey in QA juniors
Иисус
По-поводу теста на проде - у нас сейчас есть "дев-стенд", на котором мы тестируют, и в который девы влияют изменения. Проблема в том, что когда они вливают изменения - происходит деплой, и на некоторое время тестирование замораживается (до окончания деплоя), и иногда это происходит раз по 10+ в день.
Чет не очень понятно, что тестируется тогда.

У нас все изменения сливаются в релизную ветку, после этого её смотрит тестировщик и делает заключение о возможности релиза.

Но у нас три стенда: дев - тест - прод.
источник

И

Иисус in QA juniors
Tumanov Alexey
Чет не очень понятно, что тестируется тогда.

У нас все изменения сливаются в релизную ветку, после этого её смотрит тестировщик и делает заключение о возможности релиза.

Но у нас три стенда: дев - тест - прод.
Что значит "что тестируется"?
источник

TA

Tumanov Alexey in QA juniors
Иисус
Что значит "что тестируется"?
Ну какая версия? Если она меняется 10 раз на дню
источник

И

Иисус in QA juniors
Tumanov Alexey
Ну какая версия? Если она меняется 10 раз на дню
У нас нет версионирования формального пока что.
источник

И

Иисус in QA juniors
Как и прода как такового.
источник

DN

Dmitrii Novikov in QA juniors
Т.е. вы практически никогда не можете сообщить руководству о том, что такой-то билд (называй его- нет, без разницы) полностью прошёл регрессию и готов/не готов к выкладке на прод? Руководство в курсе рисков?
источник

AG

Andrew Gasov in QA juniors
Иисус
По-поводу теста на проде - у нас сейчас есть "дев-стенд", на котором мы тестируют, и в который девы влияют изменения. Проблема в том, что когда они вливают изменения - происходит деплой, и на некоторое время тестирование замораживается (до окончания деплоя), и иногда это происходит раз по 10+ в день.
Просто отбери у них кнопку деплоя.
источник

И

Иисус in QA juniors
Andrew Gasov
Просто отбери у них кнопку деплоя.
источник

И

Иисус in QA juniors
Как вариант.
источник

И

Иисус in QA juniors
Dmitrii Novikov
Т.е. вы практически никогда не можете сообщить руководству о том, что такой-то билд (называй его- нет, без разницы) полностью прошёл регрессию и готов/не готов к выкладке на прод? Руководство в курсе рисков?
Рисков чего?
источник

AG

Andrew Gasov in QA juniors
Стукнись мне в личку, расскажу как это выглядит у меня, с моими дейли релизами.
источник

DN

Dmitrii Novikov in QA juniors
Иисус
Рисков чего?
Багов на проде, продолбанных дедлайнов, сорванных контрактов, массовых увольнений... Риски чего у вас вообще учитываются? )))
Странный вопрос, кроме шуток. Вот вы делаете регрессию, параллельно разрабы набрасывают фичи/фиксы на стенд, вы тестите, возвращаетесь к регрессии с того момента, где остановились (Вы же не будете все тесты ручные с самого начала прогонять, так же регрессия никогда не кончится, верно?) -- и получается, что результат первой сотни тестов валиден для кодобазы ДО внесённых изменений. Риск?
источник

И

Иисус in QA juniors
Dmitrii Novikov
Багов на проде, продолбанных дедлайнов, сорванных контрактов, массовых увольнений... Риски чего у вас вообще учитываются? )))
Странный вопрос, кроме шуток. Вот вы делаете регрессию, параллельно разрабы набрасывают фичи/фиксы на стенд, вы тестите, возвращаетесь к регрессии с того момента, где остановились (Вы же не будете все тесты ручные с самого начала прогонять, так же регрессия никогда не кончится, верно?) -- и получается, что результат первой сотни тестов валиден для кодобазы ДО внесённых изменений. Риск?
1. Регрес практически полностью на автоматизации.
2. Прода, как я уже выше написал, нет.
источник