# Понедельник 64 твита
Всем привет, на этой неделе в этой виртуальной студии с вами Максим Шульга (@maxbeard12). Сейчас работаю в компании… twitter.com/i/web/status/1…
10:45Я долго был разработчиком, потом менеджером, потом снова разработчиком->менеджером, сейчас должность "в одно слово… twitter.com/i/web/status/1…
10:45На фоне октябрьской "техножести" в @backendsecret моя неделя будет сильно лайтовее и не совсем про кодописание. Пер… twitter.com/i/web/status/1…
10:45Вот большей частью именно про вторую часть мы с вами и будем общаться: как обеспечить качество вашего продукта, как… twitter.com/i/web/status/1…
10:46Я веду свой блог maxshulga.ru, поэтому заранее прошу прощения за то, что буду пытаться экономить буквы в… twitter.com/i/web/status/1…
10:49Disclaimer: все описанное далее - это мое личное мнение и опыт, и не является официальной позицией моей текущей ком… twitter.com/i/web/status/1…
10:49Какой у нас план, чуть подробнее:
10:51такой у нас план и мы не будем ему следовать.
Надеюсь на вашу активность в обсуждениях и вопросах :)
@backendsecret Что у вас за трэш с HR-ами творится? Несколько лет назад отправляла резюме, в ответ тишина. Нашла сп… twitter.com/i/web/status/1…
первый вопрос, и сразу не в бровь, а в глаз...
хмм, мне сложно говорить о том, что было несколько лет назад (я тут… twitter.com/i/web/status/1…
SEMrush - веб-сервис all-in-one платформа для профессионалов в сфере digital-маркетинга. У нас больше 30 команд раз… twitter.com/i/web/status/1…
11:15Каждая команда отвечает за один или несколько своих продуктов-инструментов, которые встроены в общую платформу.
11:15Изначально каждая команда сама определяла стек технологий, который использует. Поэтому на backend-е можно найти Jav… twitter.com/i/web/status/1…
11:19Та же картина и с базами данных: у нас есть PostrgreSQL, Clickhouse, MySQL, MongoDB и даже несколько оригинальных вариантов.
11:19Какие-то из этих языков более популярны, какие-то достались в наследство из прошлого и сейчас компоненты на них или… twitter.com/i/web/status/1…
11:22@backendsecret Это звучит крайне неразумно
Зависит от целей, которые ставились. В целом управление таким, будем называть вещи своими именами, зоопарком сложно… twitter.com/i/web/status/1…
11:32Но в условиях быстрого роста отдать выбор технологий в команды - вполне себе решение.
Это дает возможность быстрее… twitter.com/i/web/status/1…
Окей, про нас чуть-чуть рассказал, теперь хочу узнать про вас!
Есть здесь Java программисты? Или вы используете дру… twitter.com/i/web/status/1…
Если верить опросу 2х недельной давности, Java у аудитории этого аккаунта в приоритете, но я про нее, да и про все… twitter.com/i/web/status/1…
11:39О чем можно, например, спросить?
Ну вот ClickHouse в SEMrush:
• 8 продуктов успешно построены с использованием Cli… twitter.com/i/web/status/1…
• Размер самой большой таблицы в сжатом виде - 500TB (оринал 1.2PB)
• Полтора года в продакшене (первый запуск в апреле 2017)
Подробнее можно потормошить @playboyko, глянув предварительно его выступление на ClickHouse-митапе events.yandex.ru/lib/talks/6405/
12:01@backendsecret Эм... ну вот уволятся они, и кто тогда будет отвечать?
Конечно есть такой риск, но, на то он и зоопарк, а не сафари - нет технологии, которой бы владела только 1 команда.… twitter.com/i/web/status/1…
12:33@backendsecret То, что Вы описали попахивает комбинаторной сложностью :(
Мы работаем над ее уменьшением :)
Повторюсь, все зависит от целей. twitter.com/skv_nskv/statu…
@igor_maslik @backendsecret Подозреваю, что, во 1) все зависит от размера - для 100 человек это будет одно, для 500… twitter.com/i/web/status/1…12:43
@skv_nskv @backendsecret И что, никто не сможет справиться с суперэкзотикой типа mongodb или MySQL? Днём с огнём не… twitter.com/i/web/status/1…12:46
@igor_maslik @nifl_heim @mittov @backendsecret @skv_nskv Внесение правок в проект с зоопарком технологий :) pic.twitter.com/Til97rKyWP
картинка скорее к монолиту, но @mittov уже все пояснил
twitter.com/mittov/status/… twitter.com/POS_troi/statu…
Кроме команд разработки инструментов для пользователей, у нас есть команды занимающиеся внутренними сервисами и не… twitter.com/i/web/status/1…
14:14Кроме обычных задач (как много где устроено), наши админы драйвят процессы по внедрению новых инструментов и платфо… twitter.com/i/web/status/1…
14:14Безопасники помогают настраивать процессы разработки с точки зрения безопасности. На каждой из стадий выхода продук… twitter.com/i/web/status/1…
14:14Кроме проверок своими руками, ребята организуют внешние bug bounty программы или конкурсы типа Crush SEMrush на буд… twitter.com/i/web/status/1…
14:14Кажется, что общие истории про SEMrush подходят к концу. Если кому еще что интересно - пишите. Остальное уже в рамках следующих тем.
14:21Для того, чтобы мне было проще определиться с контентом, давайте познакомимся :)
Кто ты, мой дорогой читатель:
@backendsecret >Разраб,могу проверить код
Что значить проверить? В смысле "прочитать"?
А действительно, что значит "проверить"?
Зы с моей стороны невежливо отвечать вопросом на вопрос, но формат общени… twitter.com/i/web/status/1…
@skv_nskv @backendsecret Еще одно корпоративное когнитивное искажение. Тебе нужно быстро запустить приложение. С со… twitter.com/i/web/status/1…15:27
@backendsecret Разработчик (no tests) - проще говоря говнокодер?
Написал что-то, а работает это корректно или нет пофиг?
Есть и такая трактовка определения :) twitter.com/InternetOfV/st…
15:28@mittov @backendsecret Любых - найдёшь.
Толковых - непросто найти в принципе, на любую технологию.
На N технологий - ещё в N раз сложнее.
Просто вероятность того, что это придется делать одновременно сильно меньше. Поэтому я не согласен про N раз сложне… twitter.com/i/web/status/1…
15:32Что такое проверить код?
(Каждый последующий пункт включает предыдущие)
@backendsecret Чаще видел случаи, когда юнит-тесты на втором месте
да, тоже рабочий вариант. Я осознанно так поставил, потому что на ревью и стат.анализ часто забивают twitter.com/serg_rubtsov/s…
15:47@backendsecret + E2E
на такое я даже не рассчитывал :)
А E2E тоже разработчики пишут? twitter.com/elixir_lang_mo…
@backendsecret По-моему порядок в корне неправильный. Ручная работа должна быть минимизирована, а это значит, что д… twitter.com/i/web/status/1…
Правильный ответ twitter.com/inponomarev/st…
15:53@backendsecret Бывает, что разработчик вообще один на проекте, тогда ревью делать некому. А бывает, стат-анализ и к… twitter.com/i/web/status/1…15:54
@serg_rubtsov @backendsecret Да ладно нельзя. Сколько раз видел папку с закомментированными юнит-тестами. А потому,… twitter.com/i/web/status/1…
Что я тут могу сказать, плохая практика, скажем прямо некудышная. twitter.com/musuk/status/1…
16:48@serg_rubtsov @musuk @backendsecret Просто некоторые девелоперы тестируют код вместо фич, и потом на каждый рефактор переписывают тесты
Тут видимо про то, что тестировать надо то, что функция реализует, а не то как?
Если мы говорим про тесты состояния… twitter.com/i/web/status/1…
@flex_ferrum @backendsecret Два года работал над проектом в одиночку, был внешний аудит и настроен стат.анализ чере… twitter.com/i/web/status/1…
Для облегчения внедрения статического анализа в существующий код, хорошей практикой бывает отключение ворнингов для… twitter.com/i/web/status/1…
17:00@backendsecret Именно так 🙌 А что имеется ввиду под поведенческими тестами? Поидее любое наше деиствие это изменени… twitter.com/i/web/status/1…
Проверять работоспособность тестируемого объекта (system uder test - SUT) можно 2мя способами: оценивая состояние о… twitter.com/i/web/status/1…
17:06В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимоде… twitter.com/i/web/status/1…
17:06Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT),… twitter.com/i/web/status/1…
17:06Часто для второго способа используют моки (в классическом их определении). И в тестах это выглядит как "при вызове… twitter.com/i/web/status/1…
17:06Вот второй тип тестов сильно "цементирует" реализацию и приводит к тому, что тесты приходится менять чаще, чем это… twitter.com/i/web/status/1…
17:06@backendsecret Зачем мне быть уверенным в том что функции были вызваны в определенном порядке? Меня интересует резу… twitter.com/i/web/status/1…
Если вызов тестируемой функции должен гарантировать строго последовательный вызов внешного API с определенными пара… twitter.com/i/web/status/1…
17:16@Arhelmus @musuk @backendsecret да да, абсолютно17:19
оба вырожденных случая плохи - и 0% и 100% покрытия
@backendsecret Для облегчения внедрения статического анализа хорош "метод храповика" (ratcheting), описанный в кни… twitter.com/i/web/status/1…
И дальше по треду. twitter.com/inponomarev/st…
17:26@musuk @backendsecret Если бизнес-требования не включают никаких гарантий, что код будет работать как надо, то можн… twitter.com/i/web/status/1…
И часто такой код возникает необходимость писать? :)
Нормальному бизнесу как раз все равно какие инструменты испол… twitter.com/i/web/status/1…
Кажется, что тема юнит-тестов, стат.анализа побурлила, но затихла.
Код-ревью практически никто не упоминал, хотя э… twitter.com/i/web/status/1…
Многое в деле юнит-тестирования зависит от контекста, в котором вы находитесь.
В общем случае, разработка без ЮТ -… twitter.com/i/web/status/1…
@serg_rubtsov @backendsecret Статанализ в нормальных IDE для нормальных языков работает из коробки в редакторе прямо, ничего делать не надо.
Да, но нет. Можно конечно уйти в споры по определению "нормальных". Опять же никуда не деваются вопросы анализа при… twitter.com/i/web/status/1…
19:11@musuk @tagir_valeev @serg_rubtsov @backendsecret @Arhelmus Согласен. Очень люди любят политические игры вокруг это… twitter.com/i/web/status/1…20:18
@backendsecret Отказались от юнит тестов в пользу функциональных. Писать и поддерживать тесты стало намного легче и… twitter.com/i/web/status/1…
годный вариант, если сделано осознанно и плюсы/минусы понятны twitter.com/ErlangAdept/st…
20:19@flex_ferrum @elixir_lang_mos @backendsecret Не хочу быть снобом, но mutation testing and fuzzy testing концептуаль… twitter.com/i/web/status/1…20:21
@backendsecret И часто это встречается в жизни? Приходят на ум разве что стандартные библиотеки языков, когда вы, н… twitter.com/i/web/status/1…
при разработке с взаимодействием с, простите, Microsoft API к любому из их продуктов такое встречается сплошь и ряд… twitter.com/i/web/status/1…
20:25@backendsecret Так в итоге тестирование засосало или так и проповедуешь отказ?
отказ от тестировщиков не равно отказу от тестирования ;) twitter.com/eleWolfy/statu…
20:36@ErlangAdept @backendsecret Намучился с такими кондовыми тестами и в старых проектах. Функциональные рулят dev.to/asizikov/you-a…20:39
@backendsecret А как вы WinAPI мокали?
Если говорить о C++ и классике WinAPI, то варианты: подмена через *.h file (в тестовом проекте хедер подменялся на… twitter.com/i/web/status/1…
21:32По С++ и тестам там, в том числе мокированию, Виктор Ястребов делал неплохой доклад на Питерском Гейзене весной heisenbug-piter.ru/talks/2018/spb…
21:32# Вторник 89 твитов
@serg_rubtsov @backendsecret @Arhelmus @musuk Чем плох 100% coverage?
Интересный тред, если кто пропустил.
Мой ответ про 100%:он плох тем, что на достижение этого значения потратили вре… twitter.com/i/web/status/1…
@backendsecret Скорее всего у вас в Semrush и близко нет таких проектов, но пофантазируйте.
В SEMrush нет, да я таких нигде до SEMrush и не встречал. Но даже в этом случае coverage - это последнее, про что я… twitter.com/i/web/status/1…
11:05@backendsecret Так что вы будете делать чтобы снизить вероятность ошибок ещё больше?
Думать головой :) Например, что такое "ошибка" в вашем понимании и почему мы хотим положить время на достижение эфи… twitter.com/i/web/status/1…
11:10Начнем новый день, хотя скорее продолжим. Вчерашние дискуссии были интересными и многие еще продолжаются.
Всем за это большое спасибо!
Сейчас есть желание немного систематизировать то, о чем уже поговорили и продолжить тему качества ПО.
11:14Для начала немного "теории", чтобы привести все к одной точке понимания, откуда дальше будем плясать.
11:17Качество ПО — это то, насколько оно удовлетворяет предъявляемым к нему требованиям. Требования зависят от многих фа… twitter.com/i/web/status/1…
11:17Качество ПО можно рассматривать как в контексте качества исходного кода: удобство поддержки, соответствие стандарта… twitter.com/i/web/status/1…
11:17Качество программного продукта:
• функциональность
• стабильность
• производительность
• удобство использования (UX)
• безопасность
Качество программного продукта:
• функциональность
• стабильность
• производительность
• удобство использования (UX)
• безопасность
ВАЖНО: качество должно достигаться путем его встраивания, а не проверки twitter.com/backendsecret/…
11:23Для того, чтобы мне было проще определиться с контентом, давайте познакомимся :)
Кто ты, мой дорогой читатель:
Не забываем про этот опрос twitter.com/backendsecret/…
11:25Что такое проверить код?
(Каждый последующий пункт включает предыдущие)
И этот twitter.com/backendsecret/…
11:25И здесь у нас наблюдается один из главных в нашей отрасли парадоксов: многие считают, что качество - это зона ответ… twitter.com/i/web/status/1…
11:36А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
Что будет на моем проекте, если оттуда убрать тестировщиков?
@backendsecret Влиять никак, а вот в какой-то мере оценивать качество помогают. И даже если на проекте нет живых те… twitter.com/i/web/status/1…
Хороший момент: "эту роль выполняют другие люди/роботы". Это самое важное в теме "отказа" от тестировщиков. twitter.com/mittov/status/…
12:55Но перед тем, как мы перейдем к тестировщикам, давайте "добьем" разработчиков.
Почему разработчики не тестируют?
Причин на самом деле немного:
13:32Подробнее тут maxshulga.ru/2014/12/dev-no…
Причины указаны. Что делать? Кто "виноват"?
Имхо, менеджер :)
Почему? Потому что:
• не учит, потому что,
• не знает, как писать тесты или -
• не ищет правильных и умных людей
•… twitter.com/i/web/status/1…
Просто ли это? Быстро ли это? Нет :) pic.twitter.com/iliPNUex36
13:32@backendsecret Свой или чужой функционал? Если тестировщик мануальный его рабочее время дешевле чем время разработчика.
Регулярно слышу мнение: "время разработчика стоит дороже времени тестировщика". БРЕД! (извинения за upper case) Пон… twitter.com/i/web/status/1…
13:34Но если мы говорим о продукте, который надо поддерживать от 3 лет и выше, то итоговая стоимость неквалифицированной… twitter.com/i/web/status/1…
13:34@backendsecret Рыночек порешал, что QA дешевле. pic.twitter.com/lMmpKNbYzR
на то он и рыночек, могу прислать QA-вакансии SEMrush с бОльшими цифрами, или вакансии разработчиков (не у нас) с ц… twitter.com/i/web/status/1…
13:44@backendsecret ещё пункт - демотивация. Например при плохой культуре ревью, патч, который изначально был хорошо про… twitter.com/i/web/status/1…
Это решается изменением подхода к написанию тестов. Акцент при тестировании на то что тестируем, а не то, как это р… twitter.com/i/web/status/1…
13:48На этой неделе @backendsecret посвящен волшебному миру единорогов, хорошего покрытия тестами, качественными тестам… twitter.com/i/web/status/1…
Да, стараемся. Потом добавим не менее радужных мониторингов доступности, конференций и вот этого всего. Я предупреж… twitter.com/i/web/status/1…
13:53Давайте чуток полезностей про то, как писать правильные тесты:
Классика:
"The Art of Unit Testing" Roy Osherove
"x… twitter.com/i/web/status/1…
@backendsecret Иными словами, TDD. Что есть правильно.
простите, но не совсем :) Возможно оно помогает, но достичь этого можно разными способами. twitter.com/flex_ferrum/st…
14:13TDD, как и прочие базворды, часто представляют как серебряную пулю. Но это не так.
Про TDD есть шикарная статья от… twitter.com/i/web/status/1…
В топку холивара: unit-тесты не спасают нас ни от "лапше-кода", ни от плохого дизайна, ни от нерабочего продукта. Н… twitter.com/i/web/status/1…
14:17Ну и немного про юнит-тесты на C++ maxshulga.ru/2012/12/blog-p…
Из самого полезного там pragprog.com/news/modern-c-…
@soft_skillzz @backendsecret ручное тестирование разработчиками - это вообще в 99% случаев профанация с проверкой п… twitter.com/i/web/status/1…
Да :) Но правильнее говорить: "пишет проверки" twitter.com/ivanovpetja/st…
14:25Раз тут уже помянули QA в суе :)
Кто из вас БЕЗ гугла сможет сказать, что как расшифровывается QA?
Судя по предыду… twitter.com/i/web/status/1…
Результаты опроса pic.twitter.com/8eE7miBCIE
14:36@backendsecret Уже неоднократно слышал от разработчиков, что эти книги так себе, особенно первая.
И говорили, что… twitter.com/i/web/status/1…
Книги - это попытка систематизировать знания. Но чаще всего навыки приобретаются тренировками и практикой. Одних кн… twitter.com/i/web/status/1…
14:41Извините, я все о своем...
"Учимся писать автотесты по книжке" pic.twitter.com/PHXoklVGhf
Как-то так, простите :)
twitter.com/maxbeard12/sta…
Вернусь чуток к покрытию и еще не остывшему TDD
maxshulga.ru/2015/04/softwa…
Исследования по Software-Engineering Myth B… twitter.com/i/web/status/1…
@backendsecret Что вы понимаете под и ожидаете от code review? Проверку соответствия стилю написания? Выявление простых ошибок кодирования?
"Старайтесь избегать замечаний по форматированию и code style. Не надо брать разработчиков за яйца - боюсь им это н… twitter.com/i/web/status/1…
15:59При ревью мне больше импонирует оценивать понятность кода и соответствие реализации тому, что от нее ожидалось. Но… twitter.com/i/web/status/1…
15:59Страшные 8% pic.twitter.com/xfcZPCfiW5
16:02@backendsecret Что если менеджер верит в специализацию?) То есть "разработчик пишет фичи" и "разработчик пишет тест… twitter.com/i/web/status/1…
Про специализацию и "тестировщик тоже разработчик" (иногда и не все) мы еще поговорим. Хотя... Чего тянуть :)
Да, с… twitter.com/i/web/status/1…
Ну а про название должности есть отдельный опус
"Накуа тебе QA в написании тайтла?" maxshulga.ru/2017/05/qa-in-…
Видимо… twitter.com/i/web/status/1…
@backendsecret Хорошее понимание того, как все ожидалось, может потребовать нехилого такого рисёрча, и мне видится,… twitter.com/i/web/status/1…
многое зависит от предметной области и того, как задачи уходят в разработку twitter.com/Novosilicon/st…
16:25@backendsecret Не, а кто сказал, что тестировщики на это могут влиять? Они в основном валидируют и (не) пропускают продукт до пользователя.
Имхо, тестировщики изучают продукт и предоставляют информацию о его качестве тем, кто принимает решение о (не) проп… twitter.com/i/web/status/1…
16:33Вчера мы с вами обсуждали вопрос "проверки" кода. Уверен, что многие из вас понимают, что тестировать и проверять -… twitter.com/i/web/status/1…
16:39Имхо, "цепочка" множеств получается следующей (каждое последующее не работает без предыдущего):
проверка - тестирование - QC - QA
Млин, забавно.
8% нас преследуют из предыдущего опроса:
"все компилируется - никаких проблем" (шутка)
ЗЫ не сообра… twitter.com/i/web/status/1…
@backendsecret Вообще, очень интересный момент, касающийся процессов и зоны ответственности тестировщиков
Об этом сложно говорить "в общем", потому что процессы везде отличаются. Я завтра расскажу немного про то, как это… twitter.com/i/web/status/1…
18:10Нужны ли тестировщики, если разработчики сами пишут ̶т̶е̶с̶т̶ы̶ автоматические проверки?
Или как в случае со скрипа… twitter.com/i/web/status/1…
@backendsecret Нужны, конечно, бизнес логику кто будет проверять?
А почему разработчики не могут писать проверки на бизнес-логику? twitter.com/russianlagman/…
18:41@backendsecret Если такие разработчики стоят дешевле тестировщиков, а результат не отличается - тогда тестировщики не нужны.
Получается "дешевые" тестировщики могут сделать то, что не могут дорогие разработчики? twitter.com/vfurso/status/…
18:48@backendsecret Нужна компетенция в тестировании. Тестовая модель, пресловутые тест-кейсы, вот это все
Это сложно? Почему бы не получить эту компетенцию? twitter.com/makhov/status/…
18:57@backendsecret Нужны, разумеется. Спроектировать и написать хороший комплект приёмочных тестов по заданному набору… twitter.com/i/web/status/1…
Нанять больше разработчиков? twitter.com/flex_ferrum/st…
18:57@backendsecret Тут скорее кто может сделать дешевле при сопоставимом качестве - тот и должен делать. Вполне возможе… twitter.com/i/web/status/1…
Подходим к практической ценности twitter.com/vfurso/status/…
18:58@backendsecret Если писать и тестировать слабосвязный код, где зависимости мокаются, а данные берутся из фикстур, е… twitter.com/i/web/status/1…
почему разработчики не могут писать тесты (часть тестов) без моков? twitter.com/russianlagman/…
18:59@backendsecret Писать они могут, но все кейсы не закроют. Тестировщик как раз должен все варианты продумать.
а задумывались почему человек с меньшей (как показывает статистика) зп может продумать все варианты кейсов, а дорог… twitter.com/i/web/status/1…
19:22@backendsecret Ибо пилить автоматизацию тестов на плюсах - гм... То ещё удовольствие. Зато комплекты скриптов для р… twitter.com/i/web/status/1…
Пусть пишут на питоне, в чем проблема. После C++ питон - песня :) twitter.com/flex_ferrum/st…
19:23@backendsecret Нужного варианта нет. Тестировщики порой находят ситуации, о которых я не подумал и не покрыл тестам… twitter.com/i/web/status/1…19:24
@backendsecret Хотя с практической точки зрения - автоматические тесты не могут быть полной заменой тестировщикам.… twitter.com/i/web/status/1…
у хорошего тестировщика не стоит задача "сломать" продукт :) twitter.com/vfurso/status/…
19:34Откуда взялась эта легенда про "сломать"?
Думаю от незнания профессии. pic.twitter.com/44SQ2CuFU7
@sunoumanu @backendsecret плох тот разраб, который не думает об edge cases19:51
@levwalkin @backendsecret @sunoumanu Меня как сочувствующего интересует почему никто не говорит о предвзятости и разнице в майндсэте?
Про mindset говорили (в тредах пока), а что с предвзятостью? Кого к чему? twitter.com/yy_bond/status…
19:57@backendsecret Гайз а альфа/бэта тестирование тоже разрабы будут проводить, они конечно могут и в acceptance смогут… twitter.com/i/web/status/1…
альфа-бету обычно проводят пользователями.
А почему это неправильно, осталось неясным. twitter.com/yy_bond/status…
@backendsecret Если у этого тестировщика в названии есть приставка "пен-", то... Может и стоит. :) И чем больше спо… twitter.com/i/web/status/1…
Да, хорошее замечание 🙂 twitter.com/flex_ferrum/st…
20:39@backendsecret Потому что конфликт интересов. Разработчику важно выпустить код в продакшн, а тестировщику интересно… twitter.com/i/web/status/1…
"Разработчику важно выпустить код в продакшн, а тестировщику интересно выпустить в прод решение бизнес задачи"
Како… twitter.com/i/web/status/1…
@backendsecret Ну это к тому, что даже наличие уровней тестирования говорит о невозможности (при нормальной организ… twitter.com/i/web/status/1…
Пирамида тестирования вообще никак не проецируется на то, над какими уровнями какие люди будут работать. twitter.com/yy_bond/status…
21:49@backendsecret Например, поскольку девы ожидают, что их код будет быть корректным, у них есть confirmation bias, чт… twitter.com/i/web/status/1…
Тяжело тогда тем тестировщикам, которые код для проверок. Их то код кто проверит? twitter.com/yy_bond/status…
21:51@sunoumanu @backendsecret Не отменяет возможность и необходимость растить и развивать. А не дыры в майндсете закрывать тушками тестеров.21:52
@levwalkin @backendsecret Если в долгую работать то да, можно в бюджет обучение заложить. Но реальность, увы, вносит свои корректировки.
А почему ожидается, что компания должна кого-то учить? Почему бы не учиться самостоятельно? twitter.com/sunoumanu/stat…
21:53@backendsecret Большинство людей живет в мире победившего mvp, Огромные дорогие проекты разрабатываются на коленке,… twitter.com/i/web/status/1…
Тут хочется сказать "за что боролись за то и напоролись"
ты-дынц, печаль twitter.com/qataetsko1l/st…
@backendsecret Далеко не всегда менеджер может сказать "НЕТ" запросам бизнеса и начать купаться в радуге из аджайла… twitter.com/i/web/status/1…
я не очень пока понимаю, как это связано с начальным утверждением про то, что "разработчику важно выпустить код в п… twitter.com/i/web/status/1…
21:58@backendsecret Не совсем понятно почему ну да ладно.
Ну наверное потому, что пирамида говорит о том, что и как на каждом уровне делать, но никак не говорит о том, кто у… twitter.com/i/web/status/1…
22:00@tagir_valeev @backendsecret Порядок не важен:22:01
@backendsecret Я разделяю кодеров, которые выпускают код, и разработчиков, которые выпускают продукт. Просто нужно… twitter.com/i/web/status/1…22:02
@tagir_valeev @backendsecret "Снизить вероятность ошибок" в некоторых ситуациях не лучшая стратегия. Иногда гораздо… twitter.com/i/web/status/1…22:02
@sunoumanu @backendsecret «Обучение» всё равно не поможет, это же часть культуры: должно начаться и долгое время по… twitter.com/i/web/status/1…22:03
@backendsecret Ну они не разрабатывают продукт, а лишь тесты. Или мануальные или авто. Кто проверит я хз. Все это н… twitter.com/i/web/status/1…
Они разрабатывают тесты, которые типа должны проверять продукт. И мы не заботимся о качестве этого кода? Где уверен… twitter.com/i/web/status/1…
22:05@backendsecret А почему бы менеджеру не появиться.
Ситуация с конфликтом интересов из личного опыта, к сожалению.… twitter.com/i/web/status/1…
Я просто не понимаю, зачем нужен код и архитектура без понимания того в чем бизнес-ценность. Без этого, простите, и… twitter.com/i/web/status/1…
22:12@yy_bond @backendsecret Эта хрень тренируется. Например, ты можешь сделать весёлым и психологически безопасным поис… twitter.com/i/web/status/1…22:18
@backendsecret Acceptance testing > Acceptance testing is often the responsibility of the customers, business users… twitter.com/i/web/status/1…
хаха, вот этот пункт порадовал :)
Прикольно, не знал, что такое есть.
ЗЫ чего только не придумают twitter.com/yy_bond/status…
@backendsecret Вы же понимаете, что круг проверок и перепроверок не может замкнуться даже в теории?
"тесты на тесты" - делали, умеем, знаем.
ЗЫ да, выглядит смешно, но помогает.
ЗЫ2 в целом то любое тестирование не… twitter.com/i/web/status/1…
@backendsecret потому что не их это работа
оххх. Тяжело то как :)
А в чем их работа заключается? twitter.com/_the_elf_/stat…
@backendsecret У нас три тестировщика на 150 инженеров где-то. Они занимаются только exploratory testing и работают… twitter.com/i/web/status/1…
Нормальный продукт получается? Есть пользователи?
ЗЫ я без троллинга, мне для того, чтобы остальным понятно было. twitter.com/axique/status/…
@backendsecret Хм... Есть, конечно. "Приёмочное тестирование". Полагаю, что у тех, у кого релизный процесс - это ст… twitter.com/i/web/status/1…
Не, я про то, кто его, согласно этой доке, должен проводить. Хотя там весь прикол в фразе "other stakeholders". Чер… twitter.com/i/web/status/1…
22:35@backendsecret а что за кейсы когда помогает?
А зачем разработчики пишут юнит-тесты? :)
Ваш выход.
ЗЫ я тебя знаю, мне можно так ответить и мне за это ничего не… twitter.com/i/web/status/1…
@backendsecret Придираться к словам ("все") невежливо)А что плохого вы видите в том, что люди выполняют определенные роли?
Я не придираюсь, я пытаюсь найти причину.
В общем случае ничего, но мне не нравится, когда рамки ответственности ст… twitter.com/i/web/status/1…
@brekelov @backendsecret Было бы еще круче, если бы программисты "в общей массе" подтянули квалификацию в тестирова… twitter.com/i/web/status/1…22:56
@backendsecret кэп намекает, что в разработке
А как господа разработчики убеждаются в том, что правильно наразрабатывали? twitter.com/_the_elf_/stat…
23:01@backendsecret Угу, мелкие придирки и токсичность порой зашкаливают: teletype.in/@your_soft_ski…
Токcичность при code review twitter.com/soft_skillzz/s…
23:09@backendsecret не понимаю в чем сложность пофиксить мелкие придирки или забытые точки в javadoc. зы работал в googl… twitter.com/i/web/status/1…
А вот мы тут переживали, а ничего, говорят работает ревью с придирками. twitter.com/brekelov/statu…
23:29# Среда 62 твита
@sunoumanu @backendsecret Вообще разделение на разработку и QA поощряет окукливание и инфантилизацию как разрабов,… twitter.com/i/web/status/1…
Очень правильный посыл twitter.com/levwalkin/stat…
8:08@andrius_kai @backendsecret @brekelov Курсы не нужны. Садитесь в пару со своим тестировщиком, он вас научит (и вы е… twitter.com/i/web/status/1…8:08
@Novosilicon @backendsecret книжки более вредны чем полезны. У марка кроме этой есть еще несколько интересных стате… twitter.com/i/web/status/1…
книжки помогают систематизировать и критически осмысливать то, что собрано из статей и собственной практики twitter.com/vilinski/statu…
8:09@makhov @backendsecret Карго-культ. Ведь в интернетах говорят, что юнит-тесты нужны. Только мало говорят когда имен… twitter.com/i/web/status/1…
Давайте все же резюмируем тему с юнит-тестами:
8:14Критерии для принятия решения о переносе части проверок из юнит-тестов в слои выше по пирамиде:
-скорость написания… twitter.com/i/web/status/1…
Just in case, про пирамидки тестирования и вообще про автоматизацию в тестировании на этапе ее становления можно по… twitter.com/i/web/status/1…
8:22@backendsecret пожелание для будущих гостей канала: в конце делиться ссылкой на код опенсорсного проекта с которым… twitter.com/i/web/status/1…
Fitnesse Slim implementation in PowerShell.
github.com/konstantinvlas…
Отличный инструмент для написания тестов на Fit… twitter.com/i/web/status/1…
Разработчикам требуется знание тестирования ничуть не меньше, а может даже больше, чем знание горячо любимых многим… twitter.com/i/web/status/1…
10:33Но практики написания хороших тестов, принципы построения "пирамидки" в дополнение к обычным инженерным практикам K… twitter.com/i/web/status/1…
10:33Вчера я обещал вернуть тестировщикам все то, что пытался у них забрать.
Забирайте :)
Только учитывайте, что, по мое… twitter.com/i/web/status/1…
Каким должен быть хороший тестировщик? Видимо тот, который является профессионалом в своем деле.
Вы НЕ являетесь пр… twitter.com/i/web/status/1…
• Вы не участвуете в процессе до тех пор, пока не получаете «по голове» готовым билдом с указанием «иди и проверь е… twitter.com/i/web/status/1…
10:37• Управление рисками для вас, это что-то из области страхования жизни.
• У вас нет плана как улучшить качество свое… twitter.com/i/web/status/1…
• Вы считаете автоматизацию тестирования высокой наукой и планируете заниматься ей в будущем - на пенсии
• Вы стави… twitter.com/i/web/status/1…
Хотите стать профессионалом? Начните смотреть на тестирование как на профессию
Первый шаг – начинаем рассматривать… twitter.com/i/web/status/1…
Важно понимать, что изменение должно происходить изнутри, а не под воздействием какого-то указания сверху. И это не… twitter.com/i/web/status/1…
10:37"Кто такой хороший тестировщик?"
Подробнее по пунктам maxshulga.ru/2012/12/blog-p…
Сделай мир лучше, прочитай сам и пода… twitter.com/i/web/status/1…
"Кто такой хороший тестировщик?"
Подробнее по пунктам maxshulga.ru/2012/12/blog-p…
Сделай мир лучше, прочитай сам и пода… twitter.com/i/web/status/1…
Без этого, простите, нафиг не нужны тестировщики... twitter.com/backendsecret/…
10:38Осторожно, мы выходим из радуги и возвращаемся в наши суровые будни. Расскажу-ка я вам о том, что у меня было в отд… twitter.com/i/web/status/1…
10:39История на ~8 лет. Контекст: продукт по защите виртуальных инфраструктур (на момент старта VMware, потом появился H… twitter.com/i/web/status/1…
11:46релизы ~8мес, фиксы после релиза практически невозможны, так как сертификация, контрольные суммы и вот это все.
Бол… twitter.com/i/web/status/1…
Начало (~2009):
11:46Продолжение (~2013):
11:46-в работу тестировщикам уходит только то, что прошло проверку автотестами
-тестировщ. стали больше времени уделять… twitter.com/i/web/status/1…
Состояние на момент моего ухода (2017):
11:46Использованные нами инструменты:
PowerSlim maxshulga.ru/search/label/F…
STAF/STAX staf.sourceforge.net
googletest (C+… twitter.com/i/web/status/1…
Про автоматизацию тестирования распределенных приложений на Windows информации очень мало, поэтому подробнее полист… twitter.com/i/web/status/1…
11:46Про автоматизацию тестирования распределенных приложений на Windows информации очень мало, поэтому подробнее полист… twitter.com/i/web/status/1…
Есть вариант и с озвучкой youtu.be/EkOw_mJ4HxQ twitter.com/backendsecret/…
11:46@backendsecret Тут в очереди стоит такая книга: amazon.de/Google-Tests-S… но смущает 2012 год, она еще актуальна и полезна?
Вокруг этой книги много копий сломано :)
Кто-то ее считает водянистой, кто-то находит для себя пользу.
Можно глянут… twitter.com/i/web/status/1…
@backendsecret Я про то что профессия "тестирование" выглядит как сборник всех антипатернов, которые Вы описали в т… twitter.com/i/web/status/1…
Разумно, мне очень импонирует модель Quality Assistance от Atlassian. Можно подискутировать, но думаю мы где-то ряд… twitter.com/i/web/status/1…
12:21Кажется пора закругляться с тестированием.
Но до этого последний пункт нашей программы по тестированию: тестирован… twitter.com/i/web/status/1…
@backendsecret Насколько знаю, репрезентативное нагрузочное тестирование сложно сделать где-то вне продакшена
А можно пояснить, что такое в вашем понимании "репрезентативное нагрузочное тестирование".
Потому что в моем мире -… twitter.com/i/web/status/1…
@backendsecret Хм. В мире C++ юнит-тесты нужны ещё как минимум для автоматизации работы с разными санитайзерами. То… twitter.com/i/web/status/1…
Да, динамический анализ тоже полезен. @asatarin делал отличный доклад про санитайзеры 2017.heisenbug-piter.ru/talks/6uw9kzfq… twitter.com/flex_ferrum/st…
14:48Одна из интересных статей включающих тему тестирования в проде
"Testing Microservices, the sane way"… twitter.com/i/web/status/1…
А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
Что будет на моем проекте, если оттуда убрать тестировщиков?
Опрос еще ждет вашей реакции :) twitter.com/backendsecret/…
16:45Удивительно, но похоже тесты в проде мало кого смущают
Особенно, если вспомнить bof на эту тему на питерском гейзен… twitter.com/i/web/status/1…
Что у меня из опыта по таким тестам и как я себе это вижу:
вполне себе юзабельная штука, которую не надо боятся. Но… twitter.com/i/web/status/1…
Больше мыслей и, как мне кажется полезный набор ссылок для интересующихся темой, в 2х статьях… twitter.com/i/web/status/1…
17:58Что из этого мы используем в SEMrush?
У нас есть возможность выкатывать основную общую часть платформы через систем… twitter.com/i/web/status/1…
После этого, если набор проверок, реализованный через внешний сервис и оценивающий качество интеграции, проходит ус… twitter.com/i/web/status/1…
18:04Набор проверок определяется по согласованию с каждой заинтересованной командой и рулит всем этим процессом SRE-team.
18:04Тред. 1 лайк = 1 факт про тестирование/качество программ от @asatarin
В завершение темы тестирования вот вам 30 фактов про тестирование от @asatarin.
Все лаконично и по делу.
Подписыва… twitter.com/i/web/status/1…
Про конференции в общем мы еще поговорим, но напишу сейчас: приходите 6-7 декабря на @HeisenbugConf в Москве. Прино… twitter.com/i/web/status/1…
18:41Для тех, кто хочет оценить качество конфы или не имеет возможности приехать, вот вам записи уже проведенных конфере… twitter.com/i/web/status/1…
18:41@backendsecret Кстати, у тестов есть своё сокращение FIRST: github.com/ghsukumar/SFDC…21:02
@ivanovpetja @sun_in_july @backendsecret Из известных мне подходов тестирование на временно изолированой части клас… twitter.com/i/web/status/1…21:03
@backendsecret Ну и существует практика preview features, когда пользователь практически соглашается быть бета тестером на фичу.21:04
@backendsecret Amazon.com уже давно и очень успешно тестирует в проде. Ну ессесно, канари, фичерс флаг… twitter.com/i/web/status/1…21:04
@backendsecret У вас создаётся по одной пре-прод ноде на каждый merge request? Или конфигурацию единственной пре-пр… twitter.com/i/web/status/1…
Один за одним, и результаты перетирает, да. Но у нас редко создается в этом месте очередь, поэтому проблем не возни… twitter.com/i/web/status/1…
21:09@backendsecret Ну если пишется компилятор без «unspecified behavior» вообще, то конкретно для него (как минимум пос… twitter.com/i/web/status/1…
Интересно было бы услышать мнение разработчиков компиляторов. twitter.com/kirilloid_ru/s…
21:10результаты -> (очепятка)-> merge requests
21:16@backendsecret Фигня всё. 100% покрытие не даёт 100% нужных гарантий. Даже лучшие способы — формальные методы, Coq,… twitter.com/i/web/status/1…21:19
@levwalkin @backendsecret Согласен. Баги есть даже в системах, которые автоматически сгенерированы из формально вер… twitter.com/i/web/status/1…21:24
@backendsecret Так что погоня за одной цифрой 💯 — она странная. Но это один из немногих объективных, измеряемых _кр… twitter.com/i/web/status/1…21:24
@backendsecret Тестировщики, которые читают только книги по тестированию, делают бооольшую ошибку.
Тоже верно. Но мы исходим из предположения, что они читают :) twitter.com/asatarin/statu…
23:01@levwalkin @backendsecret причем здесь покрытие вообще? отлично покрытый код откажется работать на тех сценариях, к… twitter.com/i/web/status/1…
И часто даже кода нет для таких сценариев ;) twitter.com/wrong_habits/s…
23:02@tshiorny_eugene @backendsecret и да я не о качестве тестов, а о продукте. какая разница, насколько качественны тес… twitter.com/i/web/status/1…
вечнозеленые тесты - самая подозрительная фигня twitter.com/wrong_habits/s…
23:03вечнозеленые тесты - самая подозрительная фигня twitter.com/wrong_habits/s…
Термин в моем обиходе появился, когда прилетел баг, начали разбираться и нашли зеленые тесты на эту фичу. Тесты про… twitter.com/i/web/status/1…
23:08@backendsecret это потому что регрессионные тесты в принципе зло. они пишутся под мотивацию "лишь бы не уронили билд", и часто внутри ад.
Не думаю, что это касается только регрессии, это может быть с любым тестом. Дело в квалификации автора twitter.com/wrong_habits/s…
23:15@asatarin @backendsecret Что посоветуете почитать из хорошего?
Мой небольшой списочек maxshulga.ru/p/useful-books…
Но я уверен, сейчас Андрей выкатит портянку :)
заодно покритиковав м… twitter.com/i/web/status/1…
# Четверг 40 твитов
@wrong_habits @backendsecret У нас не так. Времени тратится разумно, во время автоматизации находятся дополнительны… twitter.com/i/web/status/1…8:30
@wrong_habits @backendsecret Рефакторинг и закрытие техдолга тоже упрощаются для разработки, аналитики получают инф… twitter.com/i/web/status/1…8:30
Бодрого всем дня, а мы продолжаем :)
Для программных продуктов, которыми пользуются удаленно, существует еще один а… twitter.com/i/web/status/1…
Причины недоступности могут быть разные:
10:37Конечно причиной может быть разработка:
10:37Для мониторинга доступности чаще используются 2 способа: whitebox и synthetic
10:37Whitebox: тот мониторинг, который мы чаще всего получаем из логов (других источников) наших серверов, балансеров и… twitter.com/i/web/status/1…
10:40Плюсы:
10:40Synthetic подход подразумевает регулярную синтетическую нагрузку в виде обычных HTTP -запросов (проверка endpoint),… twitter.com/i/web/status/1…
10:42Плюсы
10:42@levwalkin @sunoumanu @backendsecret А есть какие-то реальные примеры компаний, где разделение не является доминирующей моделью?
В SEMrush есть: команды сами определяют нужен им тестировщик или нет, и если при этом человек нанимается, он работа… twitter.com/i/web/status/1…
10:49@NoisyFlasher @sunoumanu @backendsecret Это исторически новая (заново изобретаемая?) модель (похожая на девопс, при… twitter.com/i/web/status/1…10:58
Для synthetic в SEMrush используем Pingdom, NewRelic и Catchpoint.
При выборе инструмента оценивали:
@backendsecret В ОК есть отдел тестирования, но все тестировщики работают в продуктовых командах. Отдел выполняет и… twitter.com/i/web/status/1…11:21
@backendsecret Отдел нужен для того чтобы решать вопросы балансировки ресурсов по проектам, выполнять большие задач… twitter.com/i/web/status/1…11:24
@backendsecret Кроме этого есть команда автоматизации тестирования, которая обеспечивает инструментальную поддержку… twitter.com/i/web/status/1…11:26
Для synthetic в SEMrush используем Pingdom, NewRelic и Catchpoint.
При выборе инструмента оценивали:
Почему используем так много однотипных, как кажется, инструментов?
Об этом сегодня чуть позже. twitter.com/backendsecret/…
А давайте еще один опросик, а потом его сравним с таким же 2х-летней давности
Что будет на моем проекте, если оттуда убрать тестировщиков?
Беспощадная ̶ж̶о̶п̶а̶ статистика
2018 vs 2016. И не смотря на огромную разницу в кол-ве голосовавших, тенденция не… twitter.com/i/web/status/1…
@backendsecret ошибка в логах на проде— разрабам звонит на телефон!:)
VictorOps - есть :) twitter.com/brekelov/statu…
13:03Изначально в этом списке появился Pingdom, который объединял удобство HTTP- и Transation- проверок c RUM (real user… twitter.com/i/web/status/1…
13:58Потом начали думать над APM (application performance monitoring) и более удобным поиском причин проблем с доступнос… twitter.com/i/web/status/1…
13:58Catсhpoint появился в этом списке из-за задач по доступности инструментов из Китая. На данный момент это единственн… twitter.com/i/web/status/1…
13:58А вот результаты про тестирование в продакшене. Голосов немного. Надеюсь те, что с хренью, нашли для себя что-нибуд… twitter.com/i/web/status/1…
14:05Как это все работает?
Через Pingdom SRE-team совместно с командами настраивает набор проверок (http + transaction),… twitter.com/i/web/status/1…
*ВАЖНО: синтетические проверки нельзя запускать из того же ДЦ или локации. Они теряют смысл. Учитывайте географию ваших клиентов.
14:53Если проверка "упала", то частота проверок увеличивается (фича инструмента), а в канал команды прилетает сообщение… twitter.com/i/web/status/1…
14:53@backendsecret По каким критериям оценивали последнее?
Насколько хорошо удовлетворяется?
Проводили испытания, например (но не только) для APM, добавляли тайм-аут в место далекое от начала обработки запрос… twitter.com/i/web/status/1…
15:29Инструмент должен показать собственно увеличение времени ответа клиенту, ну и дальше дать возможность раскрутить до… twitter.com/i/web/status/1…
15:29Если говорить о например браузерных проверках, то тот же Catchpoint дает возможность видеть отчеты привычного разра… twitter.com/i/web/status/1…
15:29Мониторинг. Минимальный набор у нас это: nginx access logs + Sentry + Zabbix + uptimerobot.com . Настраивае… twitter.com/i/web/status/9…
О, вот тут в январе уже обсуждали whitebox мониторинг.
Ну я и не планировал про него рассказывать вглубь :) twitter.com/backendsecret/…
Сообщения о падении/подъеме складываются в систему учета инцидентов, которые анализируется и команды описывают причины проблем.
19:10Кроме этого, определенные виды участвуют в вычислении времени uptime для инструментов, изменение которого анализир… twitter.com/i/web/status/1…
19:10К чему нужно быть готовым при реализации и внедрении подобного у себя:
19:10ВАЖНО: Blameless culture
19:11Аркадий Мурашев рассказывал про все. Посмотреть-полистать
"Действенный мониторинг доступности в вебе"… twitter.com/i/web/status/1…
Отдельно стоит тема доступности из Китая. Их огненная интернет-стена доставляет много "веселья".
Есть у кого опыт?
На что наступили мы в Китае:
21:03@backendsecret а зачем заводить CDN в Китае? Дешевле?
CDN нужен для ускорения загрузки статики. Внешние по отношению к Китаю CDN пользы не приносят - все идет через кита… twitter.com/i/web/status/1…
21:27Ну и да, напомнили вот. Все что связано с гуглом, фейсбуком, твиттером в Китае не работает. Из самого простого: гуг… twitter.com/i/web/status/1…
22:24# Пятница 51 твит
@_beargummy @backendsecret Литерально ты прав, но автор конечно имел ввиду манагеров, которые строят процессы и выб… twitter.com/i/web/status/1…
Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…
8:38@backendsecret Процессы (и инструменты) должны быть мудакостойки, но мудаки есть, и отрицать это вредно. И они могу… twitter.com/i/web/status/1…
Процессы должны способствовать тому, чтобы мудаки от туда выдавливались. Но это должно быть прозрачно и для мудаков… twitter.com/i/web/status/1…
8:40@backendsecret Главное что бы потом эти выстроенные процессы защиты не давали задержку проектов на год-два. А то бы… twitter.com/i/web/status/1…
Хорошее уточнение twitter.com/greattoster/st…
8:48@_the_elf_ @backendsecret Как кто-то сказал в тви - "умение быстро принимать адекватные изменения планов и процессо… twitter.com/i/web/status/1…10:32
@_the_elf_ @backendsecret Поэтому так важно вырабатывать их совместно всей командой. Спущенные сверху слабоаргумент… twitter.com/i/web/status/1…10:32
@_the_elf_ @backendsecret Процент хорошо разбирающихся в построении адекватных конкретной компании процессов (как и… twitter.com/i/web/status/1…10:32
Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…
Давайте я попробую растворить радугу, которые многие уже себе нарисовали.
Хороший практический пример, из жизни SEM… twitter.com/i/web/status/1…
Есть регламент (дока, рекомендации, в данном случае неважно как оно называется) - прописывать требуемые поду ресурс… twitter.com/i/web/status/1…
10:51Утрированная "классика": "команда - п..сы, какого хрена вы доки не читаете? Кто настраивал? - Петя. Петя, ты мудак?… twitter.com/i/web/status/1…
10:51Правильная реакция: что нам сделать, чтобы больше такого не было? Давайте посмотрим на фичи GKE, что там есть таког… twitter.com/i/web/status/1…
10:51Хорошо тема ответственности объясняется в модели Кристофера Эйвери habr.com/post/135605/ pic.twitter.com/Ijdan3ASXA
11:00Даже не ожидал, что получится такой славный переход на менеджеров сегодня. Но нет, я имел ввиду, что процесс и инст… twitter.com/i/web/status/1…
Так что там про менеджеров? :)
Я сегодня постараюсь просто за себя рассказать, без радуги :)
Ну и скорее всего разг… twitter.com/i/web/status/1…
@backendsecret А можно еще заранее подумать, если думать в принципе, а может стоит спеки-то как-то проверять?! А чт… twitter.com/i/web/status/1…
Конечно можно, но все продумать невозможно. twitter.com/bitomaxsp/stat…
12:45при этом важно учитывать, что полная проработка решения-это дополнительное время, дополнительные проверки сразу мог… twitter.com/i/web/status/1…
12:51@backendsecret Кстати, так же можно и тестированием заниматься. Пишем тесты на пойманные ошибки. Получается недорог… twitter.com/i/web/status/1…
Один из способов покрытия тестами легаси-кода, который я рекомендую-ничего не делать пока нет необходимости(чаще вс… twitter.com/i/web/status/1…
13:17@backendsecret Кстати, один из вариантов определения "легаси-кода" (который я слышал на одном из воркшопов как раз… twitter.com/i/web/status/1…
"Одно из определений гласит, что это код, который написали не вы, но вы сейчас за него ответственны. M.Feathers в с… twitter.com/i/web/status/1…
13:42"Mikado - работаем с legacy code"
maxshulga.ru/2012/03/mikado…
Полезные навыки и умения менеджера (на своем опыте) maxshulga.ru/2014/06/manage…:
15:32Мнение @bobuk на эту тему
"Ненасильственное управление творческими коллективами"
youtu.be/d4hUeXxNzUA
Основная м… twitter.com/i/web/status/1…
Как?
16:00Еще в тему "Общаться с ребенком. Как?" maxshulga.ru/2013/03/blog-p…
если вы внимательно прочитаете и вникните в рекоменд… twitter.com/i/web/status/1…
Что еще интересного? Собеседы. Их тоже есть у меня.
Там нифига не академично, жизненно, но со старомодным налетом ч… twitter.com/i/web/status/1…
Важный аспект работы менеджера - психология.
И тут тоже есть кусочек: "Популярная психология в IT и не только"… twitter.com/i/web/status/1…
Заканчивается недельное дежурство в @backendsecret
Временами было забавно. Временами даже полезно (узнал 3 новых дл… twitter.com/i/web/status/1…
Кажется, что активность сходит на нет. Думаю истории про образование и конференции уйдут в dev null :)
Пока я еще т… twitter.com/i/web/status/1…
@ddomansky @backendsecret Это все звучит очень красиво, но на деле решение будет принято тем, кто в конкретном вопр… twitter.com/i/web/status/1…
Весь вопрос в том, будет ли это разделение ответственности (доверия) или "это Петя придумал, а мы не при делах". twitter.com/_the_elf_/stat…
22:28@backendsecret То есть вся идея в том, чтобы потом крайнего не искать?
Проблема точно не в крайнем, а в том, как нам больше не наступать в какашку. Хотя бы конкретно в эту :) twitter.com/_the_elf_/stat…
22:35@backendsecret Мне бы просто понять, зачем нужна эта клоунада с "решение принимает вся команда" (ведь на деле его п… twitter.com/i/web/status/1…
конечно зависит от квалификации команды, но мне всегда было непонятно, почему одним может быть неинтересно, что пре… twitter.com/i/web/status/1…
22:44Понятно, что большей степенью решения по каждой из сфер будут приниматься на основе знаний одного человека. Но поче… twitter.com/i/web/status/1…
22:44@backendsecret Давай, жги про конференции. Пятница же!!
Конференции - это круто :)
Чаще всего ;)
Но это не точно )) twitter.com/antonarhipov/s…
Я отношу конфы к одному из способов самообразования, тому где основную ценность приносит возможность пообщаться с д… twitter.com/i/web/status/1…
22:51Раньше я часто ездил на конфы, составлял списки конференций на след. год, чтобы удобнее было планироваться (это все… twitter.com/i/web/status/1…
22:51Потом наступил период охлаждения наших "отношений": казалось что я уже все знал, всех знал, ничего нового.
Это осно… twitter.com/i/web/status/1…
Но давайте постепенно: что надо делать перед тем, как ехать на конфу?
Что я раньше делал? Составлял свое расписание… twitter.com/i/web/status/1…
Как выбрать? Важна квалификация докладчика, если ее можно оценить по предыд.видео и тема: если есть тема, которая в… twitter.com/i/web/status/1…
23:04Лучше идти на смежную тему. Если вообще ни один доклад не в тему - идите просто на докладчика (понятно, что для это… twitter.com/i/web/status/1…
23:04На конференциях @JUGru все доклады, ну кроме звезд, предварительно прослушиваются, поэтому все члены ПК чаще всего в теме.
23:04Еще момент, читайте, плиииз, описание докладов. Ужасно, когда в отзывах мы видим, что человек попал не туда, куда п… twitter.com/i/web/status/1…
23:04Конференций сейчас проводится много (временами мне кажется, что излишне много).
Из тех организаторов, которые точно… twitter.com/i/web/status/1…
Уверен, что остальные тоже уделяют этому внимание, но сам не сталкивался с другими оргами.
Но обидно, когда деньги… twitter.com/i/web/status/1…
@backendsecret Согласна, что круто, но они отнимают много времени и сил. Хорошо, когда проходят в выходной или вече… twitter.com/i/web/status/1…
Про середину недели: у этого есть как плюсы (у многих слушателей есть семьи например :) ), так и минусы (надо уходи… twitter.com/i/web/status/1…
23:20Польза будет только тогда,когда вы понимаете зачем туда идете.
Польза: я нашел нужную мне тему, зажал докладчика в… twitter.com/i/web/status/1…
Как проходит подготовка конфы с точки зрения ПК?
Это ад
ски сложная работа :)
Это интересно, но отнимает действительно немало времени.
Подробнее шикарная статья от коллеги… twitter.com/i/web/status/1…
Ну вот работа в ПК - это еще один способ дальше развиваться.
Как туда попадают другие - не знаю. Я по блату (шутка)… twitter.com/i/web/status/1…
@backendsecret Сейчас хрен выберешь - потому что что джуг, что бунин публикуют расписание чуть ли не в самый послед… twitter.com/i/web/status/1…
Скажем так, выбор конфы - отдельно, программа - отдельно. Пока тут вопрос доверия к ПК. Сформировать окончательную… twitter.com/i/web/status/1…
23:32Многим приходится заниматься поиском интересных докладчиков, приглашать, уговаривать их выступить. У иностранцев ес… twitter.com/i/web/status/1…
23:33Но кроме конференций есть еще ведь и митапы. Отличный способ подготовиться докладчикам и узнать, что-нибудь полезно… twitter.com/i/web/status/1…
23:42Это уже by default, если мы говорим про Мск-Питер,но в других городах проводится много мероприятий.А если у вас еще… twitter.com/i/web/status/1…
23:42С удивлением обнаружил, что у меня нет статьи про то, как слушать доклады ))
Но вот отличная статья от Рины, члена… twitter.com/i/web/status/1…
# Суббота 5 твитов
@backendsecret "Когда в руках молоток, всё вокруг кажется гвоздями" (с)Когда ты весь про тестирование и QA, то лю… twitter.com/i/web/status/1…
Ну вот и M. Feathers тестировщиком сделали... Думаю стоит вот это почитать mozaicworks.com/blog/who-is-mi… twitter.com/kosyag/status/…
9:31@backendsecret Польза от любой конфы имхо определяется тем, насколько активно ты будешь там РАБОТАТЬ. Выбирать нужн… twitter.com/i/web/status/1…11:18
Для любителей подкастов: @23derevo рассказывал про внутреннее устройство их конференций soundcloud.com/podlodka/podlo…
12:01@backendsecret Почему отмечена важность "не превращения" этого подхода в e2e проверки? Хочется понять детальнее, что подразумевалось
Это будет долго выполняться, может быть недешевым и неэффективным, потому что e2e чаще всего предполагают изменение… twitter.com/i/web/status/1…
14:07@mittov @backendsecret Бывает, и очень часто! (Кмк потому, что анонсы составляют чтобы привлечь максимум людей) Сам… twitter.com/i/web/status/1…14:07
# Воскресенье 9 твитов
К сожалению не получается на выходных поработать так, как хотелось.
С другой стороны я и так завалил вас кучей ссы… twitter.com/i/web/status/1…
Разработчикам требуются знания по тестированию, в особенности умение писать хорошие тесты. Как минимум юнит-тесты.… twitter.com/i/web/status/1…
11:15Тестировщикам хорошо уметь писать код, это поможет в работе.Но это, в общем случае, необязательно.Часто достаточно… twitter.com/i/web/status/1…
11:15Так же стоит задуматься над тем, а что стоит автоматизировать, а что нет.
Подробнее в докладе Alan Page "The (Ab)us… twitter.com/i/web/status/1…
Про DevOps мы не поговорили, но думаю холиваров и без этого хватало. Зато было про мониторинг доступности. В некото… twitter.com/i/web/status/1…
11:15Про конференции тоже удалось пообщаться (несмотря на "фи" некоторых) и с вашей помощью сформулировали алгоритм нане… twitter.com/i/web/status/1…
11:15Ваши идеи и проблемы, связанные с конфами, уже закинул, как минимум в наш ПК @HeisenbugConf.
11:15Заканчивается недельное дежурство в @backendsecret
Временами было забавно. Временами даже полезно (узнал 3 новых дл… twitter.com/i/web/status/1…
Если хочется обсудить недельные вопросы, отмечайте меня в тредах (@maxbeard12 )
ЗЫ там уже у меня еще будет продолж… twitter.com/i/web/status/1…
Всем спасибо за эту неделю. Надеюсь местами было полезно. Удачи всем в работе, пусть там вам удается сочетать новое… twitter.com/i/web/status/1…
11:15# Ссылки
www.maxshulga.ru
- https://www.maxshulga.ru/2014/12/dev-no-tests.html
- https://www.maxshulga.ru/2012/12/blog-post.html
- https://www.maxshulga.ru/2015/04/software-engineering-myth-busters-tdd.html
- https://www.maxshulga.ru/2017/05/qa-in-job-title.html
- https://www.maxshulga.ru/2012/12/blog-post_17.html
- https://www.maxshulga.ru/search/label/Fitnesse
- https://www.maxshulga.ru/p/useful-books-review.html
- https://www.maxshulga.ru/2012/03/mikado-legacy-code.html
- https://www.maxshulga.ru/2014/06/manager-skills.html
- https://www.maxshulga.ru/2013/03/blog-post.html
other
- http://maxshulga.ru/
- https://events.yandex.ru/lib/talks/6405/
- https://heisenbug-piter.ru/talks/2018/spb/6z6qugqh6gqwwuskiocsge/
- https://pragprog.com/news/modern-c-programming-with-test-driven-development
- https://github.com/konstantinvlasenko/PowerSlim
- https://github.com/ghsukumar/SFDC_Best_Practices/wiki/F.I.R.S.T-Principles-of-Unit-Testing
- http://staf.sourceforge.net/
- https://youtu.be/EkOw_mJ4HxQ
- https://youtu.be/d4hUeXxNzUA
- https://2017.heisenbug-piter.ru/talks/6uw9kzfqp6ig4emaiegcco/
- https://2017.heisenbug-moscow.ru/talks/2017/msk/g6ie0nvjae06wge04iayk/
- http://amazon.com/
- https://habr.com/post/135605/
- https://mozaicworks.com/blog/who-is-michael-feathers-mentor-trainer-author-keynote-speaker/
- https://soundcloud.com/podlodka/podlodka-84-organizatsiya-konferentsiy