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

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

По всем вопросам: @godinmedia
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🟢Дайджест полезных материалов по QA 🐞 25 ноября - 3 декабря

🛠Инструменты
▫️Автоматическое создание тестов Playwright из Jira с OpenAI GPT-5.1
▫️Proxyman + HAR = mock-данные для iOS-тестов
▫️Агенты Playwright
▫️Как управлять установками в Appium через noReset и fullReset
▫️10 Chrome-расширений для QA часть 2
▫️Общая концепция локаторов и их специфика в Playwright
▫️5 промтов, которые сэкономили мне часы рутинной работы тестировщика

👔Собесы
▫️Базовая база для успешного собеседования на джуна в QA. Рассказываю, о чем спрашиваю на собесах
▫️6 простых вопросов, из-за которых сыпятся даже сильные кандидаты (и как отвечать правильно)

✍️Рассказы
▫️Нагрузочное испытание Wi-Fi, «народный» метод
▫️+30% к скорости написания автотестов и сотни чек-листов в день: как мы внедряем LLM в QA
▫️Почему агенты НЕ пишут основную часть нашего кода
▫️Интеграционное тестирование: от теории до боевого опыта
▫️Как мы оптимизировали тестирование с помощью API-сервисов
▫️Cursor и ИИ-ассистенты ускоряют разработку — но без нормальных автотестов топят всю команду
▫️SVG, Canvas, WebGL, WebGPU — кто здесь вообще главный? Большой тест 2D-графики в браузере
▫️Где ломается прокси-балансировщик: наш опыт измерений
▫️Почему ваш сайт ломается, когда его трогают пальцем
▫️Как я тестирую крупные системы, которые невозможно протестить на статичных данных
▫️Тестирование без тонны кейсов: свобода, автотесты и экспертиза
▫️Как ускорить автотесты на Python в Pytest в 8,5 раз
▫️Почему QA должен быть душнилой: тестируем PostgreSQL и не даём разработчикам расслабиться
▫️Роботизированное ручное тестирование в Т-Банке

💡Философия
▫️Качество = Здоровье
▫️Как мы будем тестировать человекоподобных роботов (когда они станут реальностью)

👀Видео
🌐The mobile testing paradox ⏱️1 час
🌐Как погрузиться в автоматизацию за 60 дней ⏱️45 минут
🌐Проверка и отладка Accessibility ⏱️45 минут

Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Удобный софт для работы с файлами SQLite

#почитать

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

Среди всех программных компонентов и библиотек SQLite входит в пятёрку самых популярных в мире, вместе с оригинальной реализацией zlib, оригинальным libpng и официальной библиотекой Libjpeg. На этих компонентах держится современная IT-индустрия: библиотеки для графики PNG и JPEG, сжатие данных zlib и наша СУБД SQLite.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤳Прокачайте свою карьеру в мобильном QA

В Академии Selectel вышел бесплатный курс по тестированию мобильных приложений. Он объединил актуальный опыт практикующих экспертов из бигтеха и не только. Материалы будут полезны начинающим тестировщикам и опытным специалистам для систематизации знаний по мобильным платформам.

Курс бесплатный и доступен для прохождения в удобное для вас время. Приятный бонус: промокод для бесплатной работы с мобильной фермой Selectel в процессе обучения.

👉Получите доступ к курсу: https://slc.tl/wk1s5

Реклама. АО "Селектел". erid:2W5zFHuEDmJ
👍6🔥1
Реляционная база данных: сущности, атрибуты, ключи и связи на реальном проекте

#почитать

▪️Сущности и связи. Архитектура данных
▪️Почему важно говорить про структуру
▪️Базы данных: что это и как с ними работать
▪️Зачем разбираться в типах баз данных?
▪️Концептуальная модель: что есть в нашей системе
▪️Нормализация: как навести порядок в данных
▪️Ключи и связи: как элементы объединяются между собой

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
У вас есть две таблицы: users (ID, name) и orders (user_id, amount). Какой тип JOIN вернёт всех пользователей, включая тех, у которых нет заказов?
Anonymous Quiz
21%
A) INNER JOIN
41%
B) FULL OUTER JOIN
31%
C) LEFT JOIN
8%
D) RIGHT JOIN
👍61🔥1
🐘 Открыт прием заявок на выступления для специалистов по PostgreSQL

Мероприятие: PG BootCamp Russia — официальное российское комьюнити-мероприятие PostgreSQL
Когда: весна 2026 г. (дата уточняется)
Где: г. Москва
Больше о мероприятиях PG BootCamp

В отличие от коммерческих конференций, предметом докладов выступает «ванильная» версия этой СУБД. Темы выступлений, связанные с коммерческими продуктами, не принимаются. Доклады (их обычно до 16 в два трека) делятся по темам разработки и эксплуатации. Формат предполагает камерную атмосферу, максимальную практическую пользу и содержательное профессиональное общение.

Открыт прием заявок на выступления:
🔹Исследование внутренней архитектуры PostgreSQL
🔹 Оптимизация производительности в высоконагруженных системах
🔹Анализ сложных задач и методов их решения
🔹 Инструменты и методологии для DBA
🔹 R&D-исследования, связанные с Postgres


Если у вас есть материалы, которым вы хотите поделиться с сообществом, — пожалуйста, присылайте тезисы. Это возможность не только представить свою работу, но и получить содержательную обратную связь от ведущих специалистов.

🎙Подать заявку на выступление
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Вы выполнили серию операций в рамках одной транзакции (изменили несколько строк). Как отменить все эти изменения?
Anonymous Quiz
8%
A) COMMIT;
2%
B) SAVEPOINT;
82%
C) ROLLBACK;
7%
D) UNDO;
👍9
Как мы научили PostgreSQL автоматически создавать партиции

#почитать

Задача: Один наш крупный телеком-клиент уже несколько лет активно занимается проектами импортозамещения. Его основной фокус — перевод биллинговых систем (ключевого цифрового инструмента для управления бизнесом и взаимодействием с клиентами) с Oracle на PostgreSQL, а в качестве импортонезависимой системы управления базами данных (СУБД) выбрана платформа Nexign Nord на базе PostgreSQL от Nexign.

Вызов: Партиционирование и субпартиционирование — это неотъемлемая часть работы с большими объемами информации в продуктах Nexign. Такой подход позволяет разбивать огромные таблицы на более управляемые части, упрощая обслуживание баз данных (БД). В Oracle для этого используется встроенный автоматический механизм создания новых партиций, но в процессе подготовки к миграции на PostgreSQL перед нами встал вопрос сохранения того же уровня удобства и автоматизации.

Решение: Вместе с клиентом мы выстроили поэтапный процесс миграции продуктов: от простых решений к более сложным. Начинали с баз данных объемом в несколько десятков гигабайт, а к концу 2024 года успешно перенесли одну из крупнейших баз в нашем биллинговом решении — 5 ТБ данных с нагрузкой около 20 000 транзакций в секунду (TPS). Всё это удалось благодаря разработке собственного расширения для автоматизации партиционирования в PostgreSQL с поддержкой партиционирования по хэшу.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
🟢Дайджест полезных материалов по тестированию 🐞 4-14 декабря

О том, как не попасть в ловушки теории вероятностей и почему онбординг в финтехе похож на курс молодого бойца, запуск GTA 5 на Пентиуме, также исповедь человека, получившего ДЕВЯТЬ сертификатов ISTQB.

🛠TestEngineer
▫️Минимально жизнеспособная тестовая документация
▫️Это как купить Феррари и ездить на первой передаче
▫️Микросервисы: где заканчивается юнит-тестирование и начинается интеграционное

Также
▫️Стратегический гайд для CTO по интеграционному тестированию для крупных проектов
▫️Как выстроить автоматизацию тестирования API, которая выдержит масштабирование продукта
▫️Тестирование юзабилити для начинающих: 10 советов для прокачки навыков в UX
▫️Четыре фрейма тестирования, часть 7: критическая дистанция
▫️Есть ли что-то в вашем «Я», кроме искусственного интеллекта?

🎙Хабр
▫️9 ISTQB сертификатов спустя: что бы я реально посоветовал тем, кто собирается сдавать
▫️Как проходит онбординг тестировщика в финтехе
▫️Как мы превратили скучное тестирование в захватывающее развлечение
▫️Лего-стенд. История сборки универсальной тестовой лаборатории из 30+ устройств
▫️Почему токсичные эксперты больше никому не нужны
▫️Как выглядит Wi-Fi взлом изнутри (схемы, примеры, анализ)
▫️5 ловушек теории вероятностей в IT
▫️Превращаем сайт в мобильное приложение за пару шагов. Часть 1 + Часть 2
▫️Ответ на «безумный эксперимент» по запуску GTA 5 на Pentium 4
▫️Воспроизводим тот самый баг на $475 000 000
▫️Как преобразовать огромный монорепозиторий с автотестами в микросервисы

👀Посмотреть
📺Zen and the art of quality maintenance ⏱️1 час
📺Как получить высокую оценку на перф-ревью и не сгореть ⏱️25 минут
📺How to Report AI-Assisted Work ⏱️30 минут

🟢Подробно
Please open Telegram to view this post
VIEW IN TELEGRAM
💯7👍1🔥1
У вас есть таблица scores (player, score). Как вывести список игроков, где у игроков с одинаковым счетом одинаковый ранг, а следующий ранг не пропускает номер?
Anonymous Quiz
34%
A) SELECT player, DENSE_RANK() OVER (ORDER BY score DESC) AS rank FROM scores;
28%
B) SELECT player, RANK() OVER (ORDER BY score DESC) AS rank FROM scores;
25%
C) SELECT player, ROW_NUMBER() OVER (ORDER BY score DESC) AS rank FROM scores;
13%
D) SELECT player, NTILE(4) OVER (ORDER BY score DESC) AS rank FROM scores;
👍9
📌 Большая подборка ресурсов для практики SQL для QA, BA, DA и не только

Если вы работаете в IT или только начинаете путь в QA/BA/DA — знания SQL точно пригодятся.
Вот подборка ресурсов, где можно практиковаться, готовиться к собеседованиям и улучшать навыки работы с данными.

▫️ Практика SQL-запросов онлайн

— SQLBolt
🔗 https://sqlbolt.com

— Mode SQL Tutorial
🔗 https://mode.com/sql-tutorial

— LeetCode SQL Problems
🔗 https://leetcode.com/problemset/database

— HackerRank SQL Practice
🔗 https://www.hackerrank.com/domains/sql

— Stratascratch — SQL Practice
🔗 https://www.stratascratch.com

— DB-Fiddle
🔗 https://www.db-fiddle.com

▫️ Подготовка к техническому собеседованию по SQL

— InterviewBit — SQL Interview Questions
🔗 https://www.interviewbit.com/sql-interview-questions

— MindMajix — Top SQL Interview Questions
🔗 https://mindmajix.com/sql-interview-questions

— DataCamp — SQL Interview Questions
🔗 https://www.datacamp.com/blog/sql-interview-questions

— GeeksforGeeks — SQL Questions for Data Analyst
🔗 https://www.geeksforgeeks.org/sql-for-data-analyst-interview-questions

▫️ Симуляторы собеседований

— Pramp — SQL Interview Practice
🔗 https://www.pramp.com

— Exercism — SQL Track
🔗 https://exercism.org/tracks/sql

▫️ YouTube-каналы с практикой и разбором SQL

— Data School — SQL for Data Analysis
🔗 https://www.youtube.com/@dataschool

— Alex The Analyst — SQL Projects and Practice
🔗 https://www.youtube.com/@AlexTheAnalyst

— Programming with Mosh — SQL Tutorial
🔗 https://www.youtube.com/watch?v=HXV3zeQKqGY

▫️ Основы SQL — квизы и тесты

— W3Schools SQL Quiz
🔗 https://www.w3schools.com/sql/sql_quiz.asp

— TutorialsPoint SQL Quiz
🔗 https://www.tutorialspoint.com/sql/sql_online_quiz.htm

— GeeksforGeeks — SQL Basics Quizzes
🔗 https://www.geeksforgeeks.org/sql-quizzes

Сохраняйте подборку и делитесь с коллегами — пригодится всем, кто работает с данными.
👍71🔥1
У вас есть таблица sales с колонками country, product, amount. Как получить общий объем продаж для каждого продукта и для каждой страны, а также общую сумму продаж для всех стран и продуктов?
Anonymous Quiz
27%
A) SELECT country, product, SUM(amount) FROM sales GROUP BY CUBE(country, product);
25%
B) SELECT country, product, SUM(amount) FROM sales GROUP BY ROLLUP(country, product);
29%
C) SELECT country, product, SUM(amount) FROM sales GROUP BY GROUPING SETS(country, product, ());
19%
D) SELECT country, product, SUM(amount) FROM sales GROUP BY country, product WITH CUBE;
👍81🔥1
Работа с временными таблицами в PostgreSQL

#почитать

При создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute, pg_class, pg_depend и pg_type.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
Соединяем AI и реляционную базу данных

#почитать

На статью данный текст точно не тянет, скорее это маленькая заметка. Как известно свои дети и свои идеи они всегда самые лучшие. Я давно работаю с реляционными базами и очень люблю язык SQL за его формализм, скорее всего из-за этой моей профдеформации и родилась эта мысль. На работе ко мне иногда обращались сделать выгрузку в CSV файл из базы для обучения моделей или анализа данных, и я подумал, а зачем выгружать данные, а потом иногда загружать обратно результат в базу. Почему не сделать так что бы результат запроса сразу отправлялся на обработку в AI и затем выдавался ответ на запрос. Нам всего лишь нужна SQL функция которая берет результат запроса, заворочает его в вызов к модели, а потом выдает результат. Понятно, что серебряной пули нет и данный подход не везде будет работать, например, такой подход не подразумевает асинхронность, а значит если нужна высокая производительность, то данный подход не очень подходит, с другой стороны сейчас запросы к AI не дёшевы и если вы пошлете 100 запросов в секунду, не дождавшись ответа на предыдущие то скорее всего получите ошибку. Я думаю в будущем это будет стандартная функции в базах данных.


Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🔥1
Какой оператор в MySQL позволяет получить только первые N строк результата?
Anonymous Quiz
60%
LIMIT
24%
TOP
11%
FETCH FIRST
6%
ROWNUM
👍71🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🟢 Дайджест QA 🐞 16-22 декабря

💀 Что происходит с рынком труда — взгляд нанимающего менеджера
🎁 Адвент-календарь для тестировщиков 2025
🎁 Как тестировать AI-приложения — бесплатный курс для QA-инженеров
🤬 Ответ на пост «Найм в IT мёртв. И мы сами его добили». Взгляд со стороны соискателя
🏛️ Археология: SUnit, прародитель JUnit
👶 Я просто хотел, чтобы дети меньше плакали, и сделал бизнес на 40 млн в год
✈️ Стамбул: лайфхаки для тех, кто собирается туда впервые

Теория
🤝 Контрактное тестирование: что (не) тестировать
💠 Квадрант тест-автоматизации: новый взгляд на ваши тесты
🙈 «Интровертный» подход в тестировании API

Практика
🗝️ Побег из стеклянной тюрьмы. iOS Jailbreak
🔦 Больше никаких «черных ящиков»: мониторим и оцениваем качество LLM-приложений с Langfuse
🐹 Axiom — тестовый фреймворк для Go, которого нам всегда не хватало
⚔️ Путь самурая, или Как «почти» в одиночку поднять полноценное тестирование продукта
🩺 Зачем и как автоматизировать Health Check тестовой среды, если вы QA
🇬🇧 Как тестировщику написать bug report на английском
🏗️ Каждому автотесту по микросервису
📸 Снепшот-тестирование SwiftUI View в legacy-проекте: обходим ограничения

Карьера
💰 Как сэкономить при сдаче ISTQB экзамена (реальный опыт + цифры)
🦁 Эффективность QA-лида и способы ее достижения
☣️ Токсичный QA. Быть или не быть?
🤖 Собеседование QA под нейросетью: когда ИИ говорит «Да»
🗺️ Roadmap.sh: дорожные карты для изучения IT
🔭 Офисный исход: почему в IT осталось лишь 5% желающих работать в офлайне

Ютубы
📹Разработка под авто: почему софт в машинах тормозит и как Google меняет правила игры 🕒 1 час 20 минут
📹 Как декомпозировать проверки и составить тест-кейсы: от теории к практике на реальных проектах 🕒 1 час 30 минут
📹 Выжить в одиночку: 20 советов и инструментов для прохождения — Анастасия Ушакова 🕒 30 минут

Вакансии
🔵Инженер выходного контроля от 140к
🔵Junior QC Engineer 60-110к
🔵AQA Java 300к
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1🔥1
У вас есть таблица employees с колонками id, name, salary. Вам нужно разделить всех сотрудников на 4 равные группы по уровню зарплаты.
Anonymous Quiz
19%
A) SELECT name, NTILE(4) OVER (ORDER BY salary) FROM employees;
43%
B) SELECT name, RANK() OVER (PARTITION BY NTILE(4) ORDER BY salary) FROM employees;
23%
C) SELECT name, DENSE_RANK() OVER (ORDER BY salary) FROM employees;
14%
D) SELECT name FROM employees ORDER BY salary LIMIT 4;
😁9🌚2
Выбор индекса при соединении по нескольким столбцам

#почитать

Суть проблемы: имеется несколько индексов с одинаковыми ведущими столбцами, выбирается не лучший индекс, и время выполнения запроса увеличивается на порядки. Такие индексы встречаются в сложных приложениях, но чаще всего в 1С:ERP, поскольку это приложение наиболее распространено. Как это обычно бывает: после миграции приложения на СУБД PostgreSQL часть запросов начинает выполняться медленнее. Планировщик выбирает индекс, созданный по меньшему числу столбцов, время выполнения увеличивается, потому что при использовании такого индекса индексные записи указывают на строки таблицы, которые не соответствуют условиям соединения. При выборе же индекса по большему числу задействованных в запросе столбцов время выполнения существенно снижается и практически не зависит от размера таблиц.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71👍1