SQL для тестировщика
6.28K subscribers
429 photos
16 videos
1 file
457 links
Прокачиваем SQL — must have skill для хорошего тестировщика.

От создателей @godoftesting

По всем вопросам: @anothertechrock
Download Telegram
Разбираемся в функциональных зависимостях БД

#почитать

Возможно вас, как и меня, первое знакомство с функциональными зависимостями в базах данных повергло в легкий ступор. Длинные определения, которые не давались даже после третьего прочтения, излишняя абстрактность, когда на простые и понятные примеры поскупились, и прочее прелести «научного» подхода к объяснению сложных тем.

Пора раз и навсегда разобраться во всем этом. Тем не менее, я постараюсь не упускать детали и, где это уместно, углубиться в тему с головой. Без претензии на академичность, но с претензией на ясность.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1🔥1
Как организовать тестовую среду, сохраняя покой владельца данных

#почитать

Хочу поделиться опытом с коллегами - как мы решили одну из наболевших проблем нашей команды разработки – отсутствие полноты данных для тестирования реализованного функционала в условиях ограниченного доступа к реальным данным компании. Если вы работаете с персональными данными, то наверняка сталкивались с такой проблемой.


✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение

#почитать

Иногда в архиве нашего сервиса анализа планов запросов к PostgreSQL встречаются примеры не очень эффективных, мягко говоря, запросов.

Сегодня на примере одного из них, вызванного простой бизнес-задачей, посмотрим, как отказ от использования агрегатных функций может ускорить запрос в разы.


✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
🟢Подборка полезностей для тестировщиков 🐞 Июнь

💡 Теория
▫️Руководство по имитаторам для тестировщиков
▫️Бюджетное тестирование облачных приложений: Testcontainers и LocalStack
▫️Какие задачи в тестировании пора отдать ИИ, чтобы получить результат, а не новые проблемы
▫️От вебинаров до биллинга: что нужно тестировать в EdTech
▫️6 ошибок в метриках дефектов, из-за которых QA теряет контроль над качеством
▫️Аудит нагрузочного тестирования: пять этапов реального проекта
▫️Тестирование UX для мобильных приложений: чек‑лист без софта и магии
▫️Дорогие автотесты: когда автоматизация тестирования начинает вредить бизнесу
▫️Playwright, Selenium, Cypress, WebdriverIO: что реально известно о скорости в 2026 году (и как намерить свои цифры)
▫️Что перестаёт работать в тестировании, когда приходит LLM
▫️4 антипаттерна CI‑автоматизации, из‑за которых команда делает работу за ботов

⛏ Практика
▪️Как начать тестировать внутренние покупки (In-App Purchases) на Android
▪️Как мы создали новый тестовый фреймворк, адаптируемый к росту проектов
▪️Путь нагрузочного тестирования или почему я создал свой софт по нагрузке
▪️Группировка ошибок вручную и автоматически, или чем тестировщику занять своё время
▪️Как правильно писать WebSocket API автотесты на Python
▪️Как мы тестировали Tarantool Database на 640 инстансов
▪️Процессы vs инструменты: как Авито Sales строит QA с нулевыми сдвигами сроков
▪️Как мы тестируем Tantor Postgres для 1С — от нагрузочных тестов до оптимизаций планировщика
▪️Как мы превратили Swagger из документации в двигатель API-автотестов
▪️Retry в Go автотестах: как перестать бояться flaky-тестов
▪️Генерация автотестов с ИИ: почему первый PR растянулся на две недели и что изменилось после анализа фреймворка
▪️Кейс обучения QA-персонала: развитие навыков оценки задач и контроль качества через метрики
▪️Мы дали ИИ написать код и тесты: что обнаружило мутационное тестирование

💼 Карьера
▫️Сокращения в российском IT продолжаются – Мы создали автоиндикатор найма, который покажет окончание кризиса
▫️SDET как эволюция QA, или почему автотестов больше недостаточно
▫️Ломаем автопилот: как я перестал тестировать механически
▫️Работодатели давно играют в волков. Просто теперь соискатели научились отвечать
▫️IT-пузырь лопнул: почему одни айтишники не могут найти работу, а других всё равно не хватает

📺 Посмотреть
📺Where to Learn AI Testing and Testing with AI ⏱️45 минут
📺Превращаем Ready for testing в действительно Ready ⏱️15 минут
📺Как выстроить архитектуру взаимодействия QA со всеми ⏱️40 минут

🍷 Отдохнуть
▫️Археология автотестирования: SUnit, прародитель JUnit
▫️Что такое парадокс изогнутой трубы — и почему интуиция нас подводит
▫️Как одна операция из линейной алгебры захватила мир ИИ
▫️Манипуляция ответами нейронок — как сеошники убивают интернет

🚀 Вакансии QA

Разоблачай иллюзии
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
И снова про алгоритмы и структуры данных

#почитать

За годы разработки приходит понимание, что происходит в тех или иных сервисах, когда они тормозят, лагают, выдают «неожидаемое» поведение. В данной статье хочу рассмотреть проблему неправильного использования алгоритмов и архитектурных решений с бытовой, общечеловеческой стороны.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2🔥1
Как ИИ помогает проектировать базы данных

#почитать

Многие кто уже успел попробовать Cursor и подобные инструменты, восхищаются как ИИ способен писать код.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Ускорение планирования JOIN’ов — до 16 раз быстрее

#почитать

Если раньше алгоритм сравнения частых значений (MCV) работал за O(N²), и при target=10k само планирование запроса могло занимать десятки миллисекунд, то теперь вместо квадратичного перебора будет использоваться хеш-таблица, а это снижает сложность до O(N). Изменение особенно оценят те, кто работает с неравномерными данными и поднимает default_statistics_target выше 1000.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
SQL HowTo: ускоряем запрос в 32 раза

#почитать

Не читайте, пока хотите решить задачу самостоятельно.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Как ускорить SQL-запрос в миллион раз без изменения кода

#почитать

Однажды при мониторинге мы обратили внимание на запрос, который занимал первое место по длительности: 40+ секунд на выполнение при 657 вызовах за день. Причина состояла в том, что из-за неточной статистики распределения данных выбирался неподходящий индекс. В статье расскажем о том, как с помощью параметра STATMULTIPLIER в СУБД Tantor Postgres этот проблемный запрос удалось ускорить примерно в миллион раз — до 0.042 миллисекунды, — просто повысив точность статистики без изменения кода или структуры базы данных.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Стратегии партицирования базы данных: горизонтальное и вертикальное разделение

#почитать

Партиционирование (или секционирование) — это метод разделения одной большой таблицы базы данных на более мелкие, управляемые логические части (партиции) для повышения производительности запросов, упрощения администрирования и управления большими объемами данных, например, по диапазонам дат, списков или хэшам. Это позволяет системе обращаться только к нужным разделам, а не ко всей таблице, ускоряет отчеты, архивацию и другие операции, а также можно перемещать неактивные данные на медленные носители.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Если UPDATE столкнулся с заблокированной строкой

#почитать

В PostgreSQL и Oracle Database команда UPDATE, столкнувшаяся с заблокированной строкой, ведёт себя по-разному. В статье рассматривается, как выполняется UPDATE в этих базах данных. Это может быть полезно при миграции кода приложения мжду этими базами данных.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Хроники тестирования Data Quality

#почитать

В современных data-процессах ключевую роль играет обеспечение качества данных. Рассмотрим четыре популярных подхода: DBT, SQL, Python (Pandas/SQLAlchemy) и Great Expectations, оценив их эффективность для различных сценариев проверки данных.

Эта статья будет интересна и полезна Data-инженерам, аналитикам данных и специалистам Data Quality для выбора оптимального метода валидации данных в зависимости от стека технологий и сложности бизнес-логики. Материал ориентирован на начинающий уровень подготовки: тем, кто еще не сталкивался системно с инструментами управления качеством данных.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Увольняем джуниора: автоматизируем анализ данных c Claude Code, Codex, Cursor, OpenCode

#почитать

Вспомните, как вы онбордили аналитика: показывали данные, примеры рабочих SQL, неочевидные легаси и костыли — и через какое-то время он начинал перформить самостоятельно.

Чтобы научить AI-агента — нужно пройти ровно те же шаги, только вместо недель, на обучения потратятся часы, а в результате большая часть рутины аналитика будет автоматизирована.

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

Статья будет полезна как предпринимателям, которые хотят оптимизировать процессы, так и аналитикам, которые хотят прокачать себя.

✅Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡8