ch
Feedback
Желтый QA

Желтый QA

关闭频道

Канал QA-комьюнити Т-Банка. Здесь мы делимся кейсами, рассказываем про технологии тестирования и говорим про надежность и качество продуктов. Кейсы, технологии и анонсы митапов по направлениям: https://t.me/kod_zheltyi

显示更多
4 056
订阅者
-124 小时
-227 天
-3030 天
吸引订阅者
九月 '26
九月 '26
+1
在0个频道中
八月 '26
+45
在0个频道中
Get PRO
七月 '26
+1
在0个频道中
Get PRO
六月 '26
+8
在1个频道中
Get PRO
五月 '26
+10
在0个频道中
Get PRO
四月 '26
+21
在2个频道中
Get PRO
三月 '26
+41
在0个频道中
Get PRO
二月 '26
+37
在0个频道中
Get PRO
一月 '26
+169
在6个频道中
Get PRO
十二月 '25
+41
在0个频道中
Get PRO
十一月 '25
+52
在0个频道中
Get PRO
十月 '25
+53
在0个频道中
Get PRO
九月 '25
+42
在0个频道中
Get PRO
八月 '25
+41
在0个频道中
Get PRO
七月 '25
+42
在0个频道中
Get PRO
六月 '25
+46
在0个频道中
Get PRO
五月 '25
+84
在0个频道中
Get PRO
四月 '25
+69
在2个频道中
Get PRO
三月 '25
+63
在0个频道中
Get PRO
二月 '25
+134
在1个频道中
Get PRO
一月 '25
+70
在0个频道中
Get PRO
十二月 '24
+89
在0个频道中
Get PRO
十一月 '24
+119
在0个频道中
Get PRO
十月 '24
+100
在0个频道中
Get PRO
九月 '24
+159
在0个频道中
Get PRO
八月 '24
+77
在0个频道中
Get PRO
七月 '24
+40
在0个频道中
Get PRO
六月 '24
+113
在0个频道中
Get PRO
五月 '24
+97
在0个频道中
Get PRO
四月 '24
+182
在1个频道中
Get PRO
三月 '24
+257
在0个频道中
Get PRO
二月 '24
+245
在1个频道中
Get PRO
一月 '24
+301
在2个频道中
Get PRO
十二月 '23
+387
在3个频道中
Get PRO
十一月 '23
+383
在3个频道中
Get PRO
十月 '23
+131
在0个频道中
Get PRO
九月 '23
+165
在0个频道中
Get PRO
八月 '23
+161
在0个频道中
Get PRO
七月 '23
+125
在0个频道中
Get PRO
六月 '23
+226
在0个频道中
Get PRO
五月 '23
+216
在0个频道中
Get PRO
四月 '23
+127
在0个频道中
Get PRO
三月 '23
+127
在0个频道中
Get PRO
二月 '23
+112
在0个频道中
Get PRO
一月 '23
+114
在0个频道中
Get PRO
十二月 '22
+162
在0个频道中
Get PRO
十一月 '22
+218
在0个频道中
Get PRO
十月 '22
+179
在0个频道中
Get PRO
九月 '22
+516
在0个频道中
日期
订阅者增长
提及
频道
03 九月0
02 九月+1
01 九月0
频道帖子
🧠 Возвращаемся с разбором задачи из прошлого поста. Ошибка была в инициализации: max_sum = 0 вместо первого элемента массива. Ноль здесь — не «нейтральное» значение, а неявное предположение, что ответ не может быть меньше нуля. Но по условию подмассив должен содержать хотя бы один элемент — а значит, если все числа отрицательные, правильный ответ тоже отрицательный. Функция же в таком случае вернёт 0 — сумму «пустого» подмассива, которого по условию не существует. Пример-ловушка:
nums = [-3, -1, -2] → вернёт 0 вместо -1 nums = [-5] → вернёт 0 вместо -5
Разберём nums = [-3, -1, -2] по шагам:
num = -3 → current = max(-3, 0 + (-3)) = -3 → max_sum = max(0, -3) = 0 num = -1 → current = max(-1, -3 + (-1)) = -1 → max_sum = max(0, -1) = 0 num = -2 → current = max(-2, -1 + (-2)) = -2 → max_sum = max(0, -2) = 0
Все реальные суммы отрицательные, но max_sum так и не опустился ниже стартового нуля — и функция возвращает ответ, который вообще не соответствует никакому подмассиву. Правильное решение:
def max_subarray(nums): max_sum = current = nums[0] # инициализируем первым элементом! for num in nums[1:]: current = max(num, current + num) max_sum = max(max_sum, current) return max_sum
Теперь стартовое значение — это сумма реального подмассива из одного элемента, и функция корректно работает в том числе на массивах из одних отрицательных чисел. Кстати, этот алгоритм — знаменитый алгоритм Кадане, а ошибка с инициализацией нулём — самый частый способ его «сломать». Такие задачи любят спрашивать на собеседованиях, поэтому хорошо помнить о том, как их решать ❤️ Подписывайтесь 📚 #задача

2
Всем привет! 👋 Сегодня предлагаем вам решить задачу на поиск бага в коде 🔥 Нужно реализовать функцию max_subarray, которая находит максимальную сумму непрерывного подмассива. Подмассив должен содержать хотя бы один элемент, поэтому уменьшить сумму «до нуля», взяв пустой подмассив, нельзя. Примеры: max_subarray([-2, 1, -3, 4, -1, 2, 1, -5, 4]) → 6 # подмассив [4, -1, 2, 1] max_subarray([5, 4, -1, 7, 8]) → 23 # весь массив max_subarray([1]) → 1 max_subarray([-3, -2]) → -2 # подмассив [-2] Для решения задачи написан такой код: def max_subarray(nums): max_sum = 0 current = 0 for num in nums: current = max(num, current + num) max_sum = max(max_sum, current) return max_sum Код запускается без ошибок, но в некоторых примерах выдаёт некорректный результат. Вопросы: 1️⃣ В чём логическая ошибка? 2️⃣ При каких входных данных функция вернёт неверный результат? 3️⃣ Как правильно исправить? Пишите свои варианты в комментариях ⬇️ Подписывайтесь 📚 #задача
454
3
📊 Итоги: нужны ли метрики качества? Как видно из голосования по метрикам качества, расклад такой: ✅ Большинство за то, что метрики нужны и реально помогают в работе: - мы видим качество кода - принимаем взвешенные решения - отслеживаем техдолг в динамике ⚠️ Но есть важный нюанс: как и любой инструмент, метрики требуют грамотного использования. Ключ — не собирать метрики ради метрик, а применять их осознанно: - понимать, какую проблему решает каждая метрика - ориентироваться на реальный результат, а не подгонять цифры под красивую картинку - интерпретировать данные в контексте задачи и проекта Главное — чтобы метрики помогали принимать лучшие решения, а не создавали видимость благополучия. Продолжим дискуссию в комментариях 👇 — Какие метрики вы считаете действительно полезными? — С какими рисками сталкивались при внедрении? Подписывайтесь 📚 #сложный_выбор
676
4
没有文字...
886
5
视频消息
801
6
视频消息
746
7
❗️ Задались вопросом о метриках качества. Мнения наших экспертов, как всегда, разделились: 👉 кто-то говорит «без них никак» 👉 кто-то — «пустая трата времени». А как считаете вы? Подписывайтесь 📚 #сложный_выбор
720
8
А вам приходится убеждать разработчиков править баги? 🐞 Подписывайтесь 📚 #мем
А вам приходится убеждать разработчиков править баги? 🐞 Подписывайтесь 📚 #мем
842
9
Давайте посмотрим на результаты опроса: Только 11% проголосовавших отметили, что качество кода при внедрении AI в разработку не ухудшилось. Расскажите в комментариях, как вам это удается 👇 12% решили перетерпеть до того момента, когда AI агенты научатся писать качественный код. Надеемся, ждать этого придется не очень долго 🙏 От 31% до 34% респондентов решили ужесточать процессы, чтобы не снижать качество: ограничивать роль AI ассистированием, давать только простые задачи, ужесточать ревью со стороны живых разработчиков. И, конечно же, увеличивать покрытие тестами. Чем больше тестов, тем сложнее что-то сломать 🫷 Наибольший процент (44%) набрал вариант, что улучшать качество кода от AI должен сам AI. То есть прокачивать надо не только вайб-кодинг, но и вайб-тестинг, а AI должен сам проверять и чинить свой же код 🧐 Ну а почему нет — кто не пишет, тот не ошибается. А кто написал и ошибся — тот пусть ищет и исправляет 😅
1 009
10
没有文字...
931
11
🚀 AI-агенты ускоряют разработку, но какой ценой? Многие уже заметили: скорость растёт, а качество кода падает. Типичные сценарии: ❌ Агент не видит полного контекста и ломает скрытые зависимости. ❌ Рефакторит «слишком много», нарушая работу старого функционала. ❌ Разработчики привыкают доверять ИИ и поверхностно проверяют код. А вы сталкивались с ростом багов после внедрения AI? Проголосуйте в опросе ниже или напишите в комментариях 👇
784
12
没有文字...
1
13
视频消息
888
14
Тестировщики в бою 🦹‍♀️ Ставь 🔥 если узнал себя! Напиши в комментах, если что-то из этого было у тебя на прошлой неделе 😅
Тестировщики в бою 🦹‍♀️ Ставь 🔥 если узнал себя! Напиши в комментах, если что-то из этого было у тебя на прошлой неделе 😅 Подписывайтесь 📚 #мем
1 093
15
😍 Какие планы на следующие выходные? Мы собираем своих в Москве на масштабном офлайне этого лета — ИТ-Пикнике. Это большой ф+8
😍 Какие планы на следующие выходные? Мы собираем своих в Москве на масштабном офлайне этого лета — ИТ-Пикнике. Это большой фестиваль под открытым небом для ИТ-специалистов и их близких. Соберем в одном месте все, за что любим индустрию, — только без шумных опенспейсов, зумов и горящих дедлайнов. Вас ждут десятки лекций, дискуссии, живая музыка, мастер-классы и интерактивы для всей семьи. Подробнее о них рассказали в карточках. 📅 8 августа 📍 Москва, Коломенское Покупайте билеты на сайте и зовите близких: по одному билету могут пройти двое взрослых и двое детей до 16 лет включительно. Будем отрываться, знакомиться и открывать что-то новое вместе 😍
1 277
16
🎉 Нам 4 года! Четыре года назад мы запустили канал Желтый QA с простой, но важной миссией: делать культуру качества частью п
🎉 Нам 4 года! Четыре года назад мы запустили канал Желтый QA с простой, но важной миссией: делать культуру качества частью повседневной работы команд. Все это время команда канала ежедневно работает над контентом, чтобы: ✅ Повышать качество наших продуктов через обмен лучшими практиками ✅ Распространять культуру тестирования и обеспечения качества (QA) не только в компании, но и среди всего QA комьюнити ✅ Делиться реальной экспертизой: от отдельных тест-кейсов до архитектурных паттернов, автоматизации и интеграции с AI Спасибо, что вы с нами! Ваши реакции, вопросы и дискуссии в комментариях делают этот канал живым и полезным. Впереди ещё много интересного! Оставайтесь с нами, чтобы строить надежные продукты вместе! 🚀 Подписывайтесь 📚
930
17
А вы проверяете логи в автотестах? 🤔 Знакомая ситуация: после релиза инженеры вручную открывают логи и глазами проверяют, что персональные данные замаскированы? Когда сервисов мало — работает. Но при масштабировании ручная проверка становится узким горлышком. 📖 В своей статье Марина Столповская, инженер по обеспечению качества в Т-Банке, рассказала, как они с командой автоматизировали проверку маскирования чувствительных данных в логах — сделали её частью CI/CD-пайплайна. ❓ Коллеги, а как у вас? Проверяете логи в автотестах или пока вручную? Были ли инциденты из-за «утечки» данных в логах? Делитесь опытом! 👇 Подписывайтесь 📚 #статья_телеграф
1 022
18
Пятый сезон подкаста завершен 🐸 Начинали мы с вопроса «Я не умею и не хочу программировать, меня уволят?», а весь пятый сезо+4
Пятый сезон подкаста завершен 🐸 Начинали мы с вопроса «Я не умею и не хочу программировать, меня уволят?», а весь пятый сезон разбирались, что вокруг нас — эволюция или революция. Что было в сезоне? 🐱 ✨ Обсудили, что реально изменилось в профессии QA за это время. ✨ Поговорили про Сферы, бизнес-платформы и то, как ускорять Time to Market, не теряя культуру качества. ✨ Залезли под капот к одному из сервисов экосистемы и разобрались, как ИИ меняет работу с обращениями пользователей. ✨ Поговорили про новое поколение, тренды в образовании и зачем вообще высшее образование. ✨ Узнали, как технологии защищают нас от мошенников. ✨ Закрыли сезон разговором про AGI, тревогу от ИИ и тестирование агентов, которые уже перехватывают наши профессиональные навыки. Так эволюция это была или революция? 🤔 Пишите свой ответ в комментариях — соберем самые интересные ответы 🐸 А пока делимся кадрами с записей— за этими кадрами скрывается много хороших разговоров 📸 Подписывайтесь 📚 #qak_qak
962
19
🏦 Возвращаемся к недавней задаче! Наш QA инженер смог разгадать несложный шифр и написал расшифровщик public static void main(String[] args) { // Перемешанная строка: сначала символы с чётных позиций, потом — с нечётных String scrambled = "АёаПпвчиТгрнЗелш оои уаи мй"; // ← результат из прошлого кода // Длина всей строки int totalLength = scrambled.length(); // Разделяем на две части: // Первая половина — это символы с ЧЁТНЫХ позиций оригинала // Вторая половина — это символы с НЕЧЁТНЫХ позиций оригинала int evenCount = (totalLength + 1) / 2; // сколько символов было на чётных позициях String evenPart = scrambled.substring(0, evenCount); String oddPart = scrambled.substring(evenCount); // Теперь "расплетаем": поочерёдно берём символ из evenPart и oddPart StringBuilder original = new StringBuilder(); for (int i = 0; i < oddPart.length(); i++) { original.append(evenPart.charAt(i)); // символ с чётной позиции original.append(oddPart.charAt(i)); // символ с нечётной позиции } // Если в evenPart на один символ больше (когда строка нечётной длины), добавим последний if (evenPart.length() > oddPart.length()) { original.append(evenPart.charAt(evenPart.length() - 1)); } // Выводим расшифрованное название System.out.println("Расшифровано:"); System.out.println(original.toString()); } } ⭐️ В итоге у нас есть правильный ответ и список фильмов на лето был успешно восстановлен: ☑️ Алёша Попович и Тугарин Змей ☑️ Летучий корабль ☑️ Чебурашка ☑️ Питер FM ☑️ Я шагаю по Москве ☑️ Последний богатырь Подписывайтесь 📚
907
20
Наш QA инженер запланировал посмотреть несколько интересных фильмов на лето. Составил список и забыл заблокировать ноутбук. 😱 Его коллега решил подшутить над ним и зашифровал список фильмов, при этом оставил ему в подсказку код шифрования и ответы от программы: public static void main(String[] args) { // Пример: название фильма String movie = "Example movie"; StringBuilder even = new StringBuilder(); StringBuilder odd = new StringBuilder(); for (int i = 0; i < movie.length(); i++) { if (i % 2 == 0) { even.append(movie.charAt(i)); } else { odd.append(movie.charAt(i)); } } String scrambled = even.toString() + odd.toString(); System.out.println("Угадайте фильм:"); System.out.println(scrambled); } } В ответе программа вернула следующее: АёаПпвчиТгрнЗелш оои уаи мй Лтчйкрбьеуи оал Чбршаеуак ПтрFие M Яшгюп оке аа оМсв Псенйбгтролди оаыь Помоги нашему QA расшифровать фильмы и хорошо отдохнуть летними вечерами после работы! Ответы принимаются как списком фильмов, так и расшифровщиком в комментариях под постом 🐈
908