cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Заметки тестировщика | Тестирование

Авторский канал тестировщика, который ушел в IT с образованием журналиста Сотрудничество: @qanoteadmin Cловарь тестировщика: @qadictionary

Show more
Advertising posts
3 877
Subscribers
+724 hours
+547 days
+13930 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

🔭 Интересные и сложные случаи в тестировании с использованием баз данных Привет, друзья! Сегодня поговорим о тестировании баз данных. Это важная, но часто недооцененная часть процесса обеспечения качества программного обеспечения. Тестирование БД не ограничивается простыми операциями CRUD (создание, чтение, обновление, удаление). Оно включает множество интересных и сложных случаев, которые требуют глубокого понимания как теоретических, так и практических аспектов работы с базами данных. Давайте рассмотрим некоторые из них. Часть 1 1. Тестирование производительности при высоких нагрузках Необходимо проверить, как база данных справляется с большими объемами данных и высокой нагрузкой запросов. 🧩Сложность: - Имитация реальной нагрузки на базу данных. - Оптимизация запросов для улучшения производительности. - Определение и устранение узких мест в системе. Пример: Допустим, у вас есть интернет-магазин, который ожидает всплеск активности в Черную Пятницу. Важно убедиться, что база данных выдержит этот наплыв, иначе можно потерять клиентов и деньги. 2. Тестирование отказоустойчивости и восстановления после сбоев Проверка того, как база данных восстанавливается после сбоев, таких как сбой питания, аппаратный сбой или сетевые проблемы. 🧩Сложность: - Настройка тестовой среды для имитации различных типов сбоев. - Оценка времени восстановления и потерь данных. - Тестирование резервного копирования и восстановления данных. Пример: Вы работаете в банке, и любая потеря данных или длительное восстановление после сбоя могут привести к серьезным финансовым последствиям и потерям доверия клиентов. 3. Тестирование миграции данных Проверка корректности переноса данных между различными версиями баз данных или между разными системами управления базами данных (СУБД). 🧩Сложность: - Управление сложными схемами данных. - Обеспечение целостности данных при переносе. - Выявление несовместимостей между различными версиями СУБД. Пример: Компания решает перейти с MySQL на PostgreSQL. Необходимо убедиться, что все данные перенесены корректно, и нет потерь или искажений. 4. Тестирование целостности данных Проверка, что данные в базе данных сохраняются корректно и целостно при выполнении различных операций (вставка, обновление, удаление). 🧩Сложность: - Проверка соблюдения всех ограничений целостности (первичные и внешние ключи, уникальность и т.д.). - Тестирование транзакций и управления параллельностью. - Обеспечение правильности данных при одновременном доступе к базе данных. Пример: В системе управления запасами важно, чтобы при одновременном обновлении данных о количестве товара несколькими пользователями не возникало конфликтов и ошибок. Заметки тестировщика
Show all...
11🎉 3🤩 2
00:15
Video unavailableShow in Telegram
Из джуна в мидла вместе с Холдингом Т1 🚀 Приглашаем QA-Load-инженеров и ручных тестировщиков в Открытые школы Т1! 🎓 Открытые школы Т1 — это новая карьерная программа для IТ-специалистов, объединяющая обучение без отрыва от работы и offer weeks. 👨‍💻 Для участия нужно иметь опыт работы от 1 года и желание присоединиться к команде Т1. ⌛️ Длительность: 1 месяц. 💻 Формат: онлайн по вечерам (от 8 часов в неделю на вебинары и практику). Лучшим назначим интервью и направим оффер! Готов к вызову? Тогда скорее подавай заявку по интересующему направлению: 🕹 Ручной тестировщик (дедлайн — 23 мая); ⚙️ QA-Load-инженер (дедлайн — 22 мая). Реклама. Информация о рекламодателе
Show all...
3👍 2
👉🏼 Применение SQL-скриптов в тестировании 1. Подготовка тестовых данных Одной из главных задач тестировщика является подготовка тестовых данных. SQL-скрипты позволяют автоматически создавать необходимые таблицы и заполнять их данными для различных сценариев тестирования. Например, можно создать скрипт, который добавляет пользователей с разными уровнями доступа или заказы с различными статусами.

-- Создание таблицы пользователей
CREATE TABLE users (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    role VARCHAR(50)
);

-- Вставка тестовых данных
INSERT INTO users (id, name, email, role) VALUES
(1, 'Alice', '[email protected]', 'admin'),
(2, 'Bob', '[email protected]', 'user'),
(3, 'Charlie', '[email protected]', 'guest');
2. Автоматизация тестирования SQL-скрипты могут использоваться для автоматизации различных аспектов тестирования. Например, можно создать скрипт для проверки корректности данных, выполнения сложных запросов или оценки производительности базы данных. Автоматизация помогает сократить время на выполнение рутинных задач и уменьшить вероятность ошибок.

-- Проверка корректности данных
SELECT * FROM users WHERE email LIKE '%@example.com';
3. Проверка производительности Для оценки производительности базы данных используются SQL-скрипты, которые выполняют сложные запросы и анализируют время их выполнения. Это помогает выявить узкие места и оптимизировать структуру базы данных или запросы.

-- Проверка производительности сложного запроса
SELECT u.name, o.order_id, o.total
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.total > 100
ORDER BY o.total DESC;
4. Репликация багов SQL-скрипты позволяют воспроизводить ошибки, чтобы разработчики могли их проанализировать и устранить. Это особенно полезно при работе с сложными сценариями, которые трудно воспроизвести вручную.

-- Воспроизведение бага с некорректным обновлением данных
UPDATE users SET email = NULL WHERE id = 2;
-- Ожидаемый результат: Ошибка из-за ограничения NOT NULL
5. Управление транзакциями Транзакции помогают гарантировать целостность данных, особенно при выполнении нескольких взаимосвязанных операций. SQL-скрипты позволяют тестировать поведение транзакций, включая откат изменений при возникновении ошибок.

BEGIN TRANSACTION;

-- Вставка данных
INSERT INTO orders (order_id, user_id, total) VALUES (1, 1, 100);

-- Обновление данных
UPDATE users SET balance = balance - 100 WHERE id = 1;

-- Фиксация изменений
COMMIT;
Если возникает ошибка, изменения можно откатить:

BEGIN TRANSACTION;

-- Вставка данных
INSERT INTO orders (order_id, user_id, total) VALUES (2, 2, 200);

-- Обновление данных
UPDATE users SET balance = balance - 200 WHERE id = 2;

-- Откат изменений при ошибке
ROLLBACK;
Преимущества использования SQL-скриптов в тестировании Автоматизация: Сокращение времени на выполнение рутинных задач. Повторяемость: Возможность многократного воспроизведения тестовых сценариев. Точность: Уменьшение вероятности ошибок при выполнении тестов. Документирование: SQL-скрипты служат документацией для тестов, упрощая их анализ и повторное использование. Эффективность: Улучшение производительности и оптимизация работы с базой данных. Конечно, скрипты пишут не только тестировщики/QA, но и разработчики. Например, недавно мой коллега создал скрипт, позволяющий правильно слинковать сотни тысячи заявок с разрешениями по льготной корпоративной программе. Ставь реакцию, если понравилась тема ❤️ Заметки тестировщика
Show all...
13👍 6🎉 5💘 1
Что такое SQL-скрипты и как они используются в тестировании? 🤔💭 Всем привет! 🌟Вполне вероятно вы уже сталкивались с ними на практике или в теории. Но не будет лишним закрепить свои знания! Я постараюсь максимально кратко и емко. Сохраняем памятку! 📌 SQL-скрипты — это последовательность SQL-команд, сохраненных в виде файлов (с расширением .sql), которые выполняются последовательно для взаимодействия с базой данных. Эти скрипты играют ключевую роль в тестировании БД, так как позволяют автоматизировать множество процессов, обеспечивая качество и надежность данных. 👉🏼 Основные компоненты SQL-скриптов SQL-скрипты могут содержать различные команды для работы с базой данных: 1) DDL (Data Definition Language): CREATE: создание таблиц, индексов, представлений и других объектов базы данных ALTER: изменение структуры существующих объектов DROP: удаление объектов из базы данных 2) DML (Data Manipulation Language): SELECT: извлечение данных из таблиц. INSERT: вставка новых данных в таблицы UPDATE: обновление существующих данных DELETE: удаление данных 3) DCL (Data Control Language): GRANT: предоставление привилегий пользователям REVOKE: отзыв привилегий у пользователей 4) TCL (Transaction Control Language): BEGIN TRANSACTION: начало транзакции. COMMIT: фиксация изменений, сделанных в рамках транзакции ROLLBACK: отмена изменений, сделанных в рамках транзакции Заметки тестировщика
Show all...
👍 12❤‍🔥 2
Немного настроения в середине недели! ✨ Заметки тестировщика
Show all...
😁 17🔥 5 3
Работать на классной работе в айти, постоянно обучаться и развиваться  – это уже обычное дело. Но хочется еще и жить успевать, и чтобы деньги были. Если тоже мечтаешь об этом, загляни на канал Никаких багов. Автор канала – тестировщица и адепт work-life баланса. Пишет о том, как продуктивно работать и много зарабатывать, не тратя на это кучу времени и нервов. В общем, если хотите на работе кайфовать, а не страдать, читайте: Говорим про деньги на собеседовании На испытательном сроке нельзя слишком сильно стараться Не нужно работать 8 часов А сейчас Маша ходит по собеседованиям и делится впечатлениями в постах. Например, рассказала, какие технические вопросы ей задавали hr. Подписывайся, чтобы легкой походкой идти по карьерной лестнице.
Show all...
Никаких багов

👩‍💻 Тестировщица 🤓 Стремлюсь к тому, чтобы хорошо работать и зарабатывать 💅 При этом не выгорать и не тратить на работу слишком много времени Для связи: @no_bugs_admin

🔥 14🙏 8👍 3❤‍🔥 1 1
Как проходят ваши праздники? 😏 Я тут наткнулась на оочень длинную, но невероятно интересную статью на хабре! Как будто собрали все вопросы мира по SQL в одном месте 😍 Забрала для себя несколько тем на перспективу, вдруг пригодятся) https://habr.com/ru/sandbox/209900/
Show all...
SQL в фокусе: полное руководство. 100 ключевых вопросов с собеседований. Часть 1

В этой статье мы разберем основные и продвинутые аспекты языка SQL через 100 ключевых вопросов. Независимо от того, являетесь ли вы начинающим или опытным разработчиком баз данных, здесь вы найдете...

18 5🎉 2
А еще есть крутая шпаргалка, которую мне прислала коллега! 😏 Сохраняем, пользуемся и делимся с другими! С вас реакция ❤️ Заметки тестировщика
Show all...
31👍 10🔥 4👏 1🎉 1🙏 1👌 1
Освоим структуру SQL-запросов! 🍄 Основная функция SQL заключается в управлении данными, хранящимися в базе данных. Понимание структуры SQL-запросов помогает эффективно извлекать, обновлять и управлять данными. Давайте разберем основные компоненты SQL-запросов и их структуру. 1. SELECT и FROM: основа любого запроса Базовый запрос в SQL начинается с указания, что именно мы хотим выбрать из базы данных:
SELECT столбец1, столбец2 FROM имя_таблицы;
-SELECT обозначает, какие столбцы нужно извлечь. -FROM указывает, из какой таблицы брать данные. -Если нужно выбрать все столбцы, используется символ * 2. WHERE: фильтрация данных Секция WHERE позволяет фильтровать записи, удовлетворяющие определенному условию. Это помогает уточнить запрос и работать только с нужными данными.

SELECT столбец1 FROM имя_таблицы WHERE условие;
Условие может включать операторы сравнения (например, =, <>, >, <), логические операторы (AND, OR, NOT) и другие функции. 3. JOIN: объединение таблиц JOIN используется для объединения строк из двух или более таблиц, базируясь на связанных столбцах между ними. Это основной способ работы с реляционными данными, позволяющий создавать связи между различными таблицами.

SELECT столбец1, столбец2
FROM таблица1
JOIN таблица2 ON таблица1.ключевой_столбец = таблица2.ключевой_столбец;
Существуют разные типы JOIN, такие как INNER JOIN, LEFT JOIN, RIGHT JOIN и FULL JOIN, каждый из которых определяет, как будут соединяться таблицы. 4. GROUP BY и HAVING: группировка и фильтрация групп Для агрегации данных по определенным критериям используется GROUP BY, а HAVING позволяет фильтровать данные после группировки:

SELECT столбец1, COUNT(*)
FROM имя_таблицы
GROUP BY столбец1
HAVING COUNT(*) > 1;
HAVING применяется для фильтрации групп после их формирования с помощью GROUP BY, это аналог WHERE для групп. 5. ORDER BY: сортировка результатов Чтобы упорядочить результаты запроса, применяется ORDER BY:

SELECT столбец1 FROM имя_таблицы ORDER BY столбец1 DESC;
Можно сортировать по возрастанию или убыванию (ASC, DESC). 6. LIMIT и OFFSET: контроль количества строк LIMIT ограничивает количество строк в результате запроса, что особенно полезно при работе с большими объемами данных. OFFSET позволяет пропустить заданное количество строк перед началом вывода данных.

SELECT столбец1 FROM имя_таблицы LIMIT 10 OFFSET 5;
📌Практика: редактор запросов Знание структуры SQL-запросов крайне важно для эффективной работы с реляционными базами данных. Владение SQL позволяет аналитикам, разработчикам и администраторам баз данных извлекать максимальную пользу из хранимых данных, оптимизируя процессы и улучшая доступ к информации. Эти базовые принципы и структуры помогут вам начать работу с SQL и продолжить изучение более сложных и мощных аспектов языка. Заметки тестировщика
Show all...
👍 25 10🎉 4
Photo unavailableShow in Telegram
🙀 Замурчательное событие в «Лаборатории Касперского» Набор на оплачиваемую стажировку SafeBoard сразу по нескольким направлениям «Тестирования». Если ты учишься в вузе Москвы/МО на любом курсе, кроме выпускного или в Школе 21 и готов(а) работать от 20 часов в неделю — запрыгивай в IT-команды, где тебя ждут задачи: 🐈 ● Автоматизация тестирования сценариев, понимание архитектуры веб-сервисов и системное администрирование; ● Работа с дефектами, написание тест-кейсов и поддержка тестового окружения; ● Обучение мобильному и веб-тестированию на платформах iOS и Android; ● Работа с Linux/UNIX, Windows и багтрекинговыми системами; ● Ребят с опытом ждет еще тестирование web и backend. Делай крутые тесты, регистрируйся до 25 апреля🐾
Show all...
6👍 4🤩 3👏 1