К основному контенту

Тестирование в production - 2

В предверии завтрашнего BOF на Heisenbug по тестированию в продакшене, вот вам набор материалов по теме (валите модератора там). Предыдущая статья по теме.

Testing in Production, the safe way (by Cindy Sridharan @copyconstruct)
Topics include:
- why test in prod when you can test in staging
- how to test in prod while minimizing risk
- how to test configuration changes in prod
- why proxies are your best friend
- what to monitor
- and more

Опыт использования Gremlin (Chaos Engineering tool) в Remind (ссылка)
Интересный коммент про вышеуказанную статью: ""instead" would be nice, but that's not how it works in reality. Chaos Engineering is not a substitute for postmortems. We still need to learn from actual incidents because systems will continue to fail (probably less frequently though)"

Diffy tool от Twitter для проверки новой версии путем сравнения результатов ее работы с текущей.

Тесты в проде - это не "ХХ и в прод", это все требует понимания monitoring и observability:
"Monitoring - watching out for 𝐤𝐧𝐨𝐰𝐧 failure modes in the system
Observability - being able to 𝐝𝐞𝐛𝐮𝐠 the system, and gain 𝐢𝐧𝐬𝐢𝐠𝐡𝐭𝐬 into the system’s behaviour 
by @theburningmonk"
Observability
"Don't attempt to "monitor everything". You can't. Engineers often waste so much time doing this that they lose track of the critical path, and their important alerts drown in fluff and cruft" - Observability and Understanding the Operational Ramifications of a System

Tips for High Availability” by Netflix Technology Blog

Engineering Large Systems When You're Not Google Or Facebook (test in prod) (by Charity Majors @mipsytipsy)


Следите за продолжением...

Комментарии

Популярные сообщения из этого блога

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.

Заметки на коленке - 3. Что еще делать, если ваши тесты уже "зеленые"?

"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by  @noahsussman Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? ( кстати, не знаю, что при этом думал Noah ) Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть? Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны. 1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением. 2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то &qu