qa.log
Зачем такая задача? 🔽 Классическая задачка на числа Фибоначчи, иллюстирующая идею: одно решение может строиться из комбинаций двух предыдущих. Т.е. чтобы попасть на n-ю ступеньку, необходимо перейти либо: - с (n-1)-й ступени (шаг на 1), - либо с (n-2)-й ступени…
Механика их использования крайне популярна в scrum-методологих именно ввиду своей логики: если дана крупная задача, то выдвигается гипотеза о количестве способов её подразделения для уменьшения сложности в реализации.
Видим значение 13 и строим предположение о вариантах разделения этого числа на меньшие обозначения: 8 + 5.
Или 2 + 3 + 3 + 5.
И так далее.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
SUGGEST REFACTORINGSИнтересная функциональность AI-ассистента для самопроверки и случаев, когда кажется, что место ошибки найдено, а сама ошибка - нет.
Логика работы с предложенным рефакторингам единообразна:
Please open Telegram to view this post
VIEW IN TELEGRAM
Итак, ключевые темы 2025 года
🟠 AI, LLM и автоматизация QA:
- «Собеседование QA под нейросетью: когда ИИ говорит „Да“» (Сбер)
- «AI-генерация тестовых данных. От DataFaker к AI-агентам» (Сбер)
- «Взлом AI-агентов: прикладная инструкция к уязвимостям LLM и тулов» (AMA и Т-Банк)
- «Автогенерация тестов в IDE: как RAG + LLM превращают ручные сценарии в код» (Сбер)
- «Переход от автоматизации к роботизации: эволюция QA» (Т-Банк и Explyt)
➡️ Заметен восходящий тренд на активное внедрение LLM и AI-агентов во все этапы тестирования.
- «Собеседование QA под нейросетью: когда ИИ говорит „Да“» (Сбер)
- «AI-генерация тестовых данных. От DataFaker к AI-агентам» (Сбер)
- «Взлом AI-агентов: прикладная инструкция к уязвимостям LLM и тулов» (AMA и Т-Банк)
- «Автогенерация тестов в IDE: как RAG + LLM превращают ручные сценарии в код» (Сбер)
- «Переход от автоматизации к роботизации: эволюция QA» (Т-Банк и Explyt)
Please open Telegram to view this post
VIEW IN TELEGRAM
- «Test Impact Analysis» (Ozon Банк)
- «Тест-кейсы как код» (Ozon Банк)
- «Appium-тесты на ARM» (Okko, Exness)
- «Postman → Hoppscotch» (Koronatech, Tempo)
- «Broken access control через уязвимости бизнес-логики» (ATI SU, Т-Банк)
- «Debug Once, Test Forever» (Explyt, Контур)
- «Как замокать весь МИР» (Ozon Банк)
Please open Telegram to view this post
VIEW IN TELEGRAM
- «Автотесты мобильных приложений 360» (Ozon)
- «Почему ваш сайт ломается, когда его трогают пальцем» (Selectel, Ozon Банк)
- «От „кажется, медленно“ до точных метрик: объективная оценка производительности фронтенда» (2GIS, Т-Банк)
- «Браузерные инструменты: пишем своё расширение» (2ГИС, SM Lab)
- «Прогрессивные веб-приложения и их автотесты» (Ozon Банк, Dodo Engineering)
Please open Telegram to view this post
VIEW IN TELEGRAM
- «Нагрузочное тестирование enterprise NGFW с Cisco TRex» (InfoWatch, Т-Банк)
- «Env-тесты: как упростить жизнь разработчикам и тестировщикам» (РСХБ.цифра, Контур)
- «Как успеть протестировать устройство, пока оно едет по конвейеру» (Яндекс, Гранч)
- «Миграция тестов в Linux» (Сбер, Монитор Электрик)
Please open Telegram to view this post
VIEW IN TELEGRAM
- «Тестирование с заботой» (Effective, Tempo)
- «Как разрабатываются и тестируются новые лекарства» (BIOCAD)
- «Матерюсь — значит, существую» (Афонина, JUG Ru Group)
Please open Telegram to view this post
VIEW IN TELEGRAM
Немного обобщенных наблюдений:
Много докладов от Ozon Банка, Сбера и Т-Банка➡️ три крупных представителя QA-экспертизы в РФ.
Explyt, Tempo, Контур участвуют в почти каждом втором слоте➡️ менее крупные игроки начинают активно заявлять о себе.
Любопытно, что Яндекс практически не представлен. Возможно, из-за самописности.
Присутствуют AI-технологии во всех треках: от тест-кейсов до пост-анализа➡️ набирает ход многосторонний поиск применения искусственного интеллекта. Однако повторяемость участников в этих дисциплинах намекает на высокие потребности в мощностях.
Много докладов от Ozon Банка, Сбера и Т-Банка
Explyt, Tempo, Контур участвуют в почти каждом втором слоте
Любопытно, что Яндекс практически не представлен. Возможно, из-за самописности.
Присутствуют AI-технологии во всех треках: от тест-кейсов до пост-анализа
Please open Telegram to view this post
VIEW IN TELEGRAM
Итоги Heisenbug 2025 Autumn:
🟠 🟠 🟠 QA превращается в R&D-дисциплину
🟠 🟠 🟠 Тестирование становится данными, кодом и частью pipeline-а
🟠 🟠 🟠 В фокусе - автоматизация через AI и сценарное мышление
🟠 🟠 🟠 Новая реальность рынка занятости: адаптация к еще более узкой воронке требований
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем разговор об исключениях
throw и try-catchPlease open Telegram to view this post
VIEW IN TELEGRAM
throwПомимо использования стандартных библиотек для генерирования исключений, мы также можем самостоятельно создавать исключения явным образом, используя оператор
throw. Рассмотрим обработку исключения на примере класса
NoSuchElementException
fun filterPets(petList: List<GetPetResponse>, petId: Long): GetPetResponse {
return petList.find {
it.id == petId
} ?: throw NoSuchElementException("Питомец с $petId отсутствует")
}
petId в списке petList исполнение функции будет прервано на исключение NoSuchElementException("Питомец с $petId отсутствует”)try-catch обертки
fun filterPets(petList: List<GetPetResponse>, petId: Long): GetPetResponse? {
return try {
petList.find {
it.id == petId
} ?: throw NoSuchElementException("Питомец с $petId отсутствует")
} catch (e: Exception) {
println("Неожиданная ошибка при поиске питомца: ${e.message}")
null
}
}
try-catch повсеместно, тк за ними могут скрываться более серьезные ошибки.Please open Telegram to view this post
VIEW IN TELEGRAM
ОПИСАНИЕ:
Вам даны два массива целых чисел nums1 и nums2, отсортированные в порядке убывания, и два целых числа m и n, представляющие количество элементов в nums1 и nums2 соответственно.
Объедините nums1 и nums2 в один массив, отсортированный в порядке убывания.
Конечный отсортированный массив не должен возвращаться функцией, а должен храниться внутри массива nums1. Для этого nums1 имеет длину m + n, где первые m элементов обозначают элементы, которые должны быть объединены, а последние n элементов установлены в 0 и должны быть проигнорированы. nums2 имеет длину n.
ПРИМЕРЫ
Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3
Output: [1,2,2,3,5,6]
Explanation: The arrays we are merging are [1,2,3] and [2,5,6].
The result of the merge is [1,2,2,3,5,6] with the underlined elements coming from nums1.
Input: nums1 = [1], m = 1, nums2 = [], n = 0
Output: [1]
Explanation: The arrays we are merging are [1] and [].
The result of the merge is [1].
Input: nums1 = [0], m = 0, nums2 = [1], n = 1
Output: [1]
Explanation: The arrays we are merging are [] and [1].
The result of the merge is [1].
Note that because m = 0, there are no elements in nums1. The 0 is only there to ensure the merge result can fit in nums1.
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
Merge Sorted Array - LeetCode
Can you solve this real interview question? Merge Sorted Array - You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively.
Merge nums1…
Merge nums1…
В прошлом месяце OpenAI📱 представили свою новую разработку - браузер со встроенным AI - ChatGPT Atlas.
Больше не требуется копировать-вставлять информацию из одного места в другое для последующего анализа - теперь можно получить обработанные данные “на месте”.
Давайте посмотрим, что же заявлено в анонсе.
Больше не требуется копировать-вставлять информацию из одного места в другое для последующего анализа - теперь можно получить обработанные данные “на месте”.
Давайте посмотрим, что же заявлено в анонсе.
Please open Telegram to view this post
VIEW IN TELEGRAM
OpenAI
Introducing ChatGPT Atlas
This post introduced ChatGPT Atlas, a browser with ChatGPT built in. Atlas has since been deprecated.
В первом приближении реализовано несколько функциональностей:
🔺
Здесь ничего революционно нового: умный поиск. Такое уже умеют браузеры-конкуренты, однако любопытно посмотреть, как с аналогичными задачами будет справляться помощник с более широким персонализированным контекстом “под капотом”.
Вижу здесь риск только в моменте самоограничения выдачи рамками уже имеющегося индивидуального контекста, собранного из весов (доводов) модели о пользователе.
Open a tabНовая вкладка — это ваша отправная точка в Atlas. Задайте вопрос или введите URL-адрес, чтобы увидеть более быстрые и полезные результаты в одном месте.
Здесь ничего революционно нового: умный поиск. Такое уже умеют браузеры-конкуренты, однако любопытно посмотреть, как с аналогичными задачами будет справляться помощник с более широким персонализированным контекстом “под капотом”.
Вижу здесь риск только в моменте самоограничения выдачи рамками уже имеющегося индивидуального контекста, собранного из весов (доводов) модели о пользователе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ask ChatGPTНажмите «Спросить ChatGPT», чтобы открыть боковую панель ChatGPT на любой странице и обобщить, объяснить или выполнить задачи прямо в вашем окне. ChatGPT может видеть детали страницы, на которой вы находитесь, поэтому ответы более полезны и всегда имеют правильный контекст.
Одно из основных отличий от конкурентов ПОКА - возможность получения комментариев по всему материалу страницы “на месте”.
Больше не нужно копировать-вставлять информацию в отдельный чат целиком для “обучения” модели контексту. Теперь, обрабатывая входной запрос, модель уже будет иметь все необходимые предварительные данные.
Основную пользу в текущей области знаний вижу в возможности анализа и составления базового тест-сьюта проверок для выделенного фрагмента бизнес- или системных требований. А так же для проверки возможностей ревью веб мр-ов «из коробки» с вопросом, будет ли в таком случае у модели иметься доступ к данным всего проекта.
То есть будет ли возможность схлопнуть так же потребности в использовании сторонних помощников для анализа и и ревью кода от самих сервисов по типу
github.Please open Telegram to view this post
VIEW IN TELEGRAM
Use cursorChatGPT также может помочь вам при написании текста в любом открытом текстовом поле, предлагая встроенные правки и предложения.
То же избавление пользователей от лишних телодвижений - возможность внесения правок в любые текстовые поля “на месте”.
Если не касаться примитичной рутины, то, прикрепив к чату/каналу/письму, к примеру, файл с описанием требований к тому или иному функционалу, можно получить развернутое представление о работе такого функционала для массового или точечного информирования. Удобно для коммуникация с коллегами из смежных продуктов, команд.
Туда же правки по ревью, сценариям и пр.
Please open Telegram to view this post
VIEW IN TELEGRAM
Personalized suggestionsChatGPT может запоминать, что вы изучали, и предлагать, что делать дальше: вернуться к предыдущим страницам, углубиться в тему, найти связанные идеи или автоматизировать рутинные задачи.
В целом, многие браузеры уже предлагают возможности персонализации, однако любопытно посмотреть, как подобного рода рекомендации будут работать с данными, предоставленными на основании не только пользовательских сессий, но и всех данных, имеющихся у модели
И поскольку область - смежная с умным поиском, то и риски подразумеваются те же.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Наибольший интерес вызывает новый
Что это такое:
Браузеры-конкуренты достаточно давно научились встраивать аналогичных агентов-помощников прямо в результаты выдачи, когда, помимо ссылок под запросом, можно получить сагрегированную обощенную выжимку под введенные данные.
Что же сделали в📱 :
Компания не стала двигаться в сторону продажи своих решений сторонним браузерам, как это делается с LLM-моделями в средах разработки, а предложила принципиально новый подход, где агент руководит браузером, подменяя собой действия пользователя, а не наоборот.
Зачатки такого подхода можно было наблюдать в
Что же касается профессиональной зоны интересов, то можно отметить, что пока еще в Atlas отсуствуют инструменты разработчика для работы с веб-проектами.
🔼 Таким образом, Atlas лишает пользователя необходимости сталкиваться с выбором, анализировать и сравнивать работу сразу нескольких различных моделей обработки данных, а так же уменьшает количество “ручного” труда по наполнению контекстом.
🔽 Однако важно понимать, что такое слияние так или иначе ограничивает “кругозор” получаемой информации, поскольку, как и в случае с любыми автогенераторами, персонализация может сузить вариативность.
➡️ Не забываем, что любой агент - прототип пользователя. Со временем он обучается. То есть любое заданное “дано” будет вероятнее всего выполнено в том стиле и с тем knowledge base, которые были заданы в ходе “общения” модели с юзером. Что тоже может быть как плюсом, так и минусом.
Agent Mode уже внутри ChatGPT Atlas. Что это такое:
Браузеры-конкуренты достаточно давно научились встраивать аналогичных агентов-помощников прямо в результаты выдачи, когда, помимо ссылок под запросом, можно получить сагрегированную обощенную выжимку под введенные данные.
Что же сделали в
OpenAI Компания не стала двигаться в сторону продажи своих решений сторонним браузерам, как это делается с LLM-моделями в средах разработки, а предложила принципиально новый подход, где агент руководит браузером, подменяя собой действия пользователя, а не наоборот.
Зачатки такого подхода можно было наблюдать в
workflow automation системах по типу n8n.io, где самостоятельно построив архитектуру, пользователь может автоматически управлять сразу несколькими инструментами по одному запросу. Однако OpenAI предлагает еще более автоматизированный инструмент, в котором архитектура строится вне глаз конечного потребителя, что может быть одновременно и хорошо и плохо. Что же касается профессиональной зоны интересов, то можно отметить, что пока еще в Atlas отсуствуют инструменты разработчика для работы с веб-проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
qa.log
Зачем такая задача?
🔽 Задача показывает, как объединять данные без выделения дополнительной памяти.
Мы не создаем новый список, а аккуратно заполняем уже существующий, упорядочивая элементы “на лету”.
К примеру, у нас уже есть какие-то данные по каким-то товарам и мы хотим подключить “нового” поставщика; Или хотим отображать результат слияния нескольких товарных категорий или рекомендательных единиц в одном списке быстро и дешево.
Мы не создаем новый список, а аккуратно заполняем уже существующий, упорядочивая элементы “на лету”.
К примеру, у нас уже есть какие-то данные по каким-то товарам и мы хотим подключить “нового” поставщика; Или хотим отображать результат слияния нескольких товарных категорий или рекомендательных единиц в одном списке быстро и дешево.
Please open Telegram to view this post
VIEW IN TELEGRAM
Продолжаем разговор об исключениях
Please open Telegram to view this post
VIEW IN TELEGRAM