Вопросы по SQL и базам данных на собеседовании тестировщика (+ ответы)

Условия и сортировкаDDT Слияние DML DCL Типы тестированияОграничения в SQL — и другое

Собрали вопросы по SQL на собеседовании тестировщика вместе с ответами — они помогут вам подготовиться к интервью. А для того, чтобы практиковаться в SQL, рекомендуем подписаться на наш телеграм-канал SQL для тестировщика.

1. Что такое SQL?

SQL (или Structured Query Language, «Язык структурированных запросов») — это язык, используемый в качестве средства коммуникации для создания баз данных и доступа к ним. SQL выполняет такие задачи, как извлечение, обновление, добавление новых и удаление существующих данных. SQL позволяет выполнять запросы, вставлять и обновлять записи, создавать и удалять базы данных и таблицы и многое другое. Подробнее об SQL простыми словами можно почитать в этом материале

2. Что такое СУБД (или DBMS)?

СУБД расшифровывается как «система управления базами данных». Это программа, используемая для обслуживания, мониторинга, создания, развертывания и контроля использования базы данных. Она также действует как файловый менеджер для данных, хранящихся в базе.

3. Что такое таблицы в контексте SQL?

Таблица в SQL — это набор записей, организованных в набор строк и столбцов для формирования модели. Нет точных верхних пределов для количества записей, которые могут быть определены строками в таблице.

4. Назовите SQL-операторы для составления условий

GROUP BY: используется при агрегировании для объединения идентичных данных в группы, предложение GROUP BY следует за предложением WHERE в операторе SELECT. В примере ниже результатом запроса с использованием GROUP BY будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country):

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

HAVING: используется для указания условия поиска в предложении GROUP BY, HAVING может использоваться в отсутствие предложения GROUP BY с помощью предложения WHERE. В примере ниже результатом запроса с использованием HAVING будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country) с числом пользователей больше 5.

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

ORDER BY: сортирует набор результатов в порядке возрастания (по умолчанию) или убывания (при использовании ключевого слова DESC). В примере ниже результатом запроса будет таблица пользователей (Customers), отсортированная по полю «Страна» (Country):

SELECT * FROM Customers
ORDER BY Country;

WHERE: используется для определения условия извлечения записей». В примере ниже результатом запроса будет таблица пользователей (Customers) из Мексики:

SELECT * FROM Customers
WHERE Country='Mexico';

5. Что нужно проверять во время тестирования базы данных?

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

6. Что такое Data-Driven тестирование?

Data-Driven тестирование (или «Тестирование, управляемое данными») — это система автоматизации, в которой данные для тестов хранятся в таблице, а входные значения считываются из файлов данных и сохраняются в различных тестовых сценариях. Это помогает избежать необходимости создавать отдельные тесты для каждого набора данных.

Система изолирует данные, поэтому один и тот же тестовый сценарий может использоваться для нескольких комбинаций входных данных. Входные данные могут храниться в форматах XLS, XML, CSV и в базе данных. Ниже несколько примеров типов тестирования, управляемого данными:

Key-driven: Динамические тестовые данные вводятся тестировщиком для повторного тестирования приложения с новыми входными значениями.
File-driven (.txt, .doc): Повторное тестирование с использованием данных, хранимых в файле.
Excel: Этот тест запускает сценарий для нескольких входных данных, которые хранятся в Excel-таблицах.

Отдельную статью по Data-Driven тестированию в Selenium можно почитать по ссылке

7. Что такое JOIN в SQL? Какие виды JOIN-ов вы знаете?

JOIN — это ключевое слово, используемое для получения данных из нескольких таблиц на основе взаимосвязи между полями таблиц и представления результатов в виде единого набора. Различные типы JOIN: INNER JOIN, OUTER JOIN, LEFT JOIN и RIGHT JOIN.

8. Что такое DML?

DML (или Data Manipulation Language) — язык манипулирования данными. Это язык программирования, который облегчает выбор, добавление, удаление и обновление данных в базе данных. DML (как и SQL) позволяет пользователям получать и использовать данные в реляционной базе данных.

9. Что такое DCL-команды?

«DCL» расшифровывается как Data Control Language (или «язык управления данными») и является компонентом SQL, который управляет доступом к данным, хранящимся в базе. DCL-команды бывают двух типов:

Grant: предоставляет пользователям доступ к базе данных.

Revoke: прекращает предоставление пользователям доступа к базе данных.

10. Что такое повторное тестирование?

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

11. Что такое нагрузочное тестирование?

Тестирование производительности (или нагрузочное тестирование) — это узкоспециализированная техника тестирования программного обеспечения, которая помогает определить, как система работает с точки зрения скорости и стабильности при большой рабочей нагрузке.

12. Что такое ограничения SQL?

Ограничения в SQL — это утверждения, используемые для установления правил для столбцов в таблице. Если какое-либо действие нарушает ограничение, это действие будет прервано. Ограничения задаются при создании самой базы данных с помощью оператора CREATE TABLE или после создания таблицы с помощью оператора ALTER TABLE. В SQL используются следующие пять основных ограничений:

NOT NULL: указывает на то, что столбец должен иметь определенное значение; его нельзя оставлять пустым (NULL). В примере ниже столбцы ID, LastName и FirstName не могут быть пустыми:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);


UNIQUE: гарантирует, что каждая строка в столбце имеет уникальное значение; ни одно значение не повторяется ни в одной другой строке. Следующий SQL-запрос установит ограничение для ID (записи в таблице Persons должны будут иметь уникальные ID)

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

PRIMARY KEY: поле в SQL-таблице, позволяющее однозначно идентифицировать каждую запись. PRIMARY KEYs должны быть уникальными — как правило, в качестве PRIMARY KEY используются ID записей. Запрос ниже задает первичный ключ (ID) в таблице Persons:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

FOREIGN KEY: поле (или набор полей) в одной таблице, которое ссылается на PRIMARY KEY в другой таблице. Используется для обеспечения ссылочной целостности данных, а также сопоставляет значение в одной таблице с другой. Следующий запрос создаст внешний ключ (FOREIGN KEY) в столбце PersonID при создании таблицы Orders:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

CHECK: используется для обеспечения соответствия значений в столбцах заданным условиям. В примере ниже ограничение гарантирует, что в таблице не будет записей людей, с возрастом (Age) меньше 18 лет

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

🔥 Популярное

💬 Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас