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

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

По всем вопросам: @godinmedia
Download Telegram
Ошибки, которые можно избежать в SQL

#почитать

Ошибки в SQL можно условно разделить на несколько категорий:

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

Логические ошибки. Самые коварные. Код выполняется, но результат не тот. Например, неверный фильтр, JOIN по неправильному полю, перепутанный порядок WHERE и HAVING или лишний DISTINCT. Эти ошибки особенно опасны в аналитике, потому что могут привести к неверным бизнес-решениям.

Ошибки работы с NULL. NULL — это отдельная категория значений в SQL, и она требует особого внимания. Сравнение через = и != с NULL не работает так, как многие ожидают. Здесь нужны IS NULL и IS NOT NULL.

Ошибки при работе с JOIN. Отсутствие условия соединения, неправильный тип соединения (INNER вместо LEFT, или наоборот), дублирование строк из-за некорректного связывания — всё это может нарушить итоговую выборку.

Ошибки производительности. Использование SELECT * в больших таблицах, отсутствие индексов на полях фильтрации, тяжёлые подзапросы и вложенные SELECT’ы там, где можно обойтись CTE или JOIN — всё это тормозит выполнение и грузит сервер.

Ошибки доступа. Запрос к несуществующей таблице, попытка обращения к колонке с опечаткой, отсутствие прав на SELECT/INSERT — это технические ошибки, но тоже распространённые. Часто возникают при смене окружения (dev → prod, другой пользователь и т.д.).

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👌1
🚀 Митап по QA: Тестирование без рутины: практики, кейсы, инструменты

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

Программа митапа:

✔️ Кухня регрессионного тестирования: как за 20 минут подать то, что раньше готовили две недели — Анастасия Давыдкина и Александр Вдовин, Ви.Tech

Когда-то полный регресс занимал две недели, требовал ручной работы трёх тестировщиков и всё равно пропускал баги. Сейчас он идёт всего 20 минут, а релизы выкатываются по четыре раза в день.
Разберём:

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

✔️ Эра умной валидации: нам всё ещё нужны ассерты? — Алексей Коледачкин

Ассерты — фундамент тестирования, но с приходом AI появляется второй контур, который ловит смысловые ошибки не только в ответе, но и в запросах.
На докладе вы узнаете:

- Где хватает классики, а где AI-валидация реально спасает,
- Как работает requests-ai-validator (правила, схема, код на 10 строк),
- Какие есть метрики и рамки безопасности: время, качество, приватность.

✔️ Как автоматизировать рутину и освободить время на важное — Артем Ерошенко, сооснователь Qameta Software

Каждый день мы тратим часы на повторяющиеся задачи. В мастер-классе разберём, как с помощью n8n построить рабочие процессы без кода.
Покажем:

- Настройку автоматизации за час,
- Создание Telegram-бота,
- Интеграции с инструментами команды.

➡️ Модератор: Олег Шмелев Ви.Tech, QA Head
➡️ Эксперт: Алексей Иванов, 2ГИС, QA Automation Engineer

🗓 25 сентября (четверг), 19:00 мск Онлайн

Ссылка на регистрацию
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥1
🌐Моделируем базу данных

В этом уроке мы смоделируем и нормализуем базу данных.

Смотреть на YouTube ⏱️25 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Какой параметр в pg_hba.conf отвечает за метод аутентификации?
Anonymous Quiz
10%
A) database
11%
B) user
72%
C) auth-method
8%
D) host
🔥6👍3
Какой тип данных в PostgreSQL используется для хранения IP-адресов?
Anonymous Quiz
15%
A) CIDR
52%
B) INET
16%
C) MACADDR
17%
D) JSONB
👍7🔥1
Нашел, проверил, убедил: как мы организовали генерацию SQL-запросов, проверку сложных данных и при чем здесь Allure

#почитать

В статье опишем проблемы, с которыми сталкивались при ручном написании SQL-запросов и проверке данных: дублирование кода, сложность поддержки, отсутствие единого стиля и низкая информативность тестов. Для решения этих проблем мы разработали инструмент QueryBuilder, который позволяет динамически генерировать SQL-запросы с помощью Java-кода.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🟡Дайджест полезных материалов по тестированию за неделю с 17 по 23 сентября

🔖 Почитать:

▪️Как ChatGPT помогает при обучении
▪️Тест-долг: он существует и ежедневно мешает нам жить во всех окружениях
▪️Как отсутствующий часовой пояс сломал автоматизацию тестов
▪️Deep Links глазами тестировщика: как они работают
▪️«Эндотестирование: юнит-тестирование с мок-объектами»
▪️Как мы автоматизировали анализ упавших тестов с помощью AI: от хаоса к структуре
▪️Простоту охота навести: как легко тестировать клиент-серверные взаимодействия на примере WebSocket
▪️QA-инженер в 2025 году: скилсет джуниора и ожидания рынка
▪️Без опыта, но с перспективами: как начинающему QA составить сильное резюме
▪️Снова в айти или мой опыт обучения на ручного QA
▪️Интеграционные тесты в Go: как избавиться от флаков и боли
▪️Новые подходы в Swift для тестирования: разбор технологии Swift Testing
▪️Полный айсберг Android. Часть 1

Англоязычное
▪️Developing the Right Test Documentation
▪️Do We Really Need a Test Plan Before Testing? Whose Responsibility Is It?
▪️I think, therefore I test: the importance of thinking for testers
▪️What QA Taught Me About Being a Better Developer
▪️Why QA Keep Losing the Same Battles, even when Automation and AI is integrated
▪️AI Picks Tests To Run On A Bug
▪️Microservice Testing That Lets you Sleep At Night
▪️From Dependency Hell to Monorepo Harmony: How We 5X Test Engineering with a Gradle Multi-Module Architecture
▪️Playwright Agentic Coding Tips
▪️Leveraging Copilot to rapidly refactor test automation

👀 Посмотреть:

🌐 Автоматические релизы: как их собрать и кому они нужны ⏱️45 минут
🌐 SDET Interview Guide (Intermediate) | Automation & Frameworks ⏱️20 минут
🌐 ISTQB сегодня. Что почём ⏱️40 минут

Подробный дайджест с описаниями и картинками

Удачного дня!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Какой из операторов в PostgreSQL используется для объединения результатов двух запросов без дубликатов?
Anonymous Quiz
25%
A) UNION ALL
13%
B) INTERSECT
56%
C) UNION
6%
D) EXCEPT
👍6🔥1
Из бариста в программиста. Как я освоила SQL за неделю и стала тимлидом в IT-компании меньше, чем за год

#почитать

О работе в IT я никогда не думала. В школе у нас был углубленный курс информатики, где давали основы Basic, Java и Pascal, но для меня это было просто частью образования (не самой интересной). Потом я уехала из Якутии во Владивосток, чтобы выучиться на таможенное дело. Казалось, что это будет довольно прибыльным, и я действительно этим горела, даже проходила практику во Владивостокском морском порту. Но тема диплома, которую мне выдали, не совпадала с задачами в порту, и мне пришлось уйти.

Через полгода после универа в городе мне стало скучно. Я решила уехать в Москву, и начать новую жизнь. Конкретного плана я не придумала, и устроилась бариста. Кофейня была возле офиса Сбера. К нам часто заходили разработчики и другие IT-специалисты, с которыми я стала много общаться, и постепенно оказалась в окружении людей из индустрии.

Я по натуре человек очень увлекающийся и легко заражаюсь чужими интересами. Слушая разговоры о работе друзей, я и сама захотела «войти в айти». Когда я об этом рассказала, мой друг предложил начать с SQL — языка запросов к базам данных. Он считал его идеальным для новичков: интуитивно понятный синтаксис, основанный на простом английском, много доступных материалов для самообучения.

К тому моменту работа в общепите меня окончательно утомила, и я решила пойти ва-банк — уволилась и начала учиться. Немного сбережений у меня было, но нужно было как можно скорее устроиться на новую работу.

Сразу оговорюсь — мне учиться было проще, потому что со школы я знала Java и Pascal на базовом уровне. Это сформировало у меня техническое мышление, нужное для погружения в IT. Если у вас таких знаний нет, конечно, вам будет сложнее.

Я выделяла от пяти часов в день на SQL.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
🐍 Python Advanced: Автоматизация как искусство

Онлайн-школа QA.GURU проведет бесплатный вебинар для тестировщиков, которые хотят вырасти до уровня Senior AQA и выйти за рамки «рутинных автотестов».

Готовы узнать, какие навыки сегодня реально ценятся на рынке и как они помогают прокачать карьеру? 🪙

Приходите на занятие 9 октября в 13:00 по МСК. Участие бесплатное, регистрация обязательна!

⚖️ Основатель школы Станислав Васенков и куратор Карьерного центра Маргарита Головко помогут разобраться:

что изменилось на рынке и почему работодатели ждут от QA backend-навыков и умения создавать собственные инструменты;

тренды 2025: какие Python-технологии (FastAPI, контейнеризация и др.) стали must-have для автоматизаторов;

почему «просто автотестов» уже недостаточно и как инженерный подход делает вас сильнее в глазах работодателя;

🍰 А на десерт вас ждет Live demo: от пустого файла до работающего API за 40 минут — без воды и заготовок.

Зарегистрируйтесь сейчас, чтобы успеть занять место! 🎯
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🟡Дайджест полезных материалов по тестированию с 24 сентября по 6 октября

🔖 Почитать:

💡 TestEngineer
▫️Попытка создания интегральной метрики качества продукта
▫️Тестирование в залогиненном состоянии с расширением Playwright MCP
▫️Быстрый рефакторинг e2e автотестов в Copilot
▫️Как работает Playwright MCP — подробно
▫️Тестировать с умом

💬 Также
▫️Автоматизация учета и оборота тестовых устройств, тестирование контрактов, компонентов, UX, миграций, охота на баги, ИИ: новости QA за третий квартал-2025
▫️Работа с кэшем в автотестах
▫️Мнение: неизвестные пробелы в тестовом покрытии
▫️Что показали 15 лет работы с пирамидой тестирования
▫️Все, что нужно знать о регрессионном тестировании в 2025 году
▫️Как тестировать взаимодействие с голосовыми интерфейсами и виртуальными помощниками

⚙️Хабр
▫️MES-система глазами тестировщика
▫️Core Web Vitals на практике
▫️Как тестирование влияет на репутацию бренда
▫️Как наша команда QA в 3 раза ускорила работу с помощью собственного ИИ-агента
▫️Способы стабилизации автотестов на backend: опыт сервиса Звук
▫️Сколько трафика выдержит сайт на Next.js: нагрузочные тесты, SSR и предрендеринг
▫️Автоматизируем синхронизацию тест-кейсов в ТестОпс: больше никаких ручных обновлений
▫️От запахов к стабильности: рефакторим тесты на JUnit + Selenide
▫️Performance monitor и не только: продолжаем тестировать производительность в Chrome DevTools | Сбер
▫️11 способов мышления тестировщика: как и зачем переключаться между подходами

🔥Нашумевшее
▫️Искра Жизни: как рождаются продукты
▫️Восстание терпил
▫️Дача-like кодинг
▫️Крик души: я устал читать сгенерированные статьи
▫️Как я, не разработчик, читаю туториал, который ты, разработчик, написал для меня
▫️Хватит писать «чистый» код. Пора писать понятный код
▫️Рынок эйчара
▫️Ограничение контекстного окна GPT-5
▫️Как владение кошкой влияет на мозг человека (и на мозг кошки)
▫️Я сварил палки, выложил на Авито и заработал 10 млн за год

👀Посмотреть
🌐Исследовательский подход в мобильном тестировании ⏱️45 минут
🌐Тестируем словами: автотест без кода в реальном времени ⏱️50 минут
🌐Как Flakyzavr съел наши проблемы ⏱️35 минут
🌐Архитектура LLM — BERT, трансформеры, attentions ⏱️1 час 30 минут

Подробный дайджест с описаниями и картинками
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Какой уровень изоляции транзакций в PostgreSQL предотвращает «фантомные» чтения?
Anonymous Quiz
32%
A) Read Committed
27%
B) Repeatable Read
21%
C) Serializable
21%
D) Read Uncommitted
👍7🤮2🔥1
Реляционные базы данных в книге «Двенадцать стульев»

#почитать

Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг поняла: его бумажный архив ордеров на имущество бывших дворян не что иное, как идеальный пример реляционной базы данных. Алфавитные указатели — это индексы, книги учета — таблицы с первичными ключами, ордера — настоящие транзакции.

Мне сразу захотелось пофантазировать, как бы выглядела СУБД Варфоломея Коробейникова спустя сто лет. Так и возникла идея этой статьи о структуре реляционных баз данных и базовых SQL-запросах. Начинающим знакомиться с базами данных будет полезно и интересно рассмотреть тему под таким углом.


Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Какой оператор в PostgreSQL позволяет выполнить атомарное обновление или вставку строки (UPSERT)?
Anonymous Quiz
20%
INSERT OR UPDATE
11%
MERGE
26%
INSERT ... ON CONFLICT DO UPDATE
20%
UPSERT
11%
REPLACE INTO
13%
UPDATE OR INSERT
👍6