Тестирование базы данных

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Вступление

Современные приложения в основном состоят из фронтенда и бэкенда. Что касается тестирования бэкенда, то оно в основном ассоциируется с тестированием базы данных. В частности происходит проверка корректности записи введенных данных на фронтенде в базу данных бэкенда. Но не только. Также проверяется корректность схем, таблиц, ключей и многого другого. И вот об этом то мы с вами сегодня и поговорим на примере MariaDB Server, одной из самых популярных реляционных баз данных с открытым исходным кодом.

Установка

Прежде чем начать тестировать базу данных, нужно правильно её установить. Потому что обычная установка из .exe файла с помощью установщика Windows бесполезна для проведения каких-либо тестов. Нам нужно произвести установку в режиме отладки, так называемый debug mode. Я хотел бы показать это на платформе Windows, которая является одной из самых распространённых в мире.

Для этого нам нужно три составляющие, а именно:

  • Visual C++ (при установке Visual Studio обязательно добавьте компонент "Desktop Development with C++"),

  • CMake

  • Git

Если у вас есть все эти три компонента на вашем ПК, вы сможете начать непосредственную установку. Нужно создать папку для MariaDB и перейти в неё. В командной строке переходим в созданную папку и затем выполняем команды:

mkdir Test
cd Test
git init
git clone -b mariadb-10.5.15 https://github.com/MariaDB/server.git

Теперь вы скачали исходный код из репозитория. А затем нужно перейти в папку server, создать новую папку bld и перейти в нее:

cd server
mkdir bld
cd bld

Таким образом уже почти всё подготовлено и осталось только выполнить CMake как кроссплатформенный генератор системы сборки с помощью следующей команды:

cmake ..

Сборка закончена:

Последним шагом необходимо собрать Debug version. Установка может занять несколько минут. Это зависит от пропускной способности вашего интернет-соединения. Выполняем команду:

cmake --build . --config Debug

Тестирование

А теперь самая захватывающая часть нашей статьи. Давайте создадим наш первый тест. Это не так просто, но и не так сложно, как кажется. Вот некоторые правила, которые вы должны знать.

Вы должны использовать расширение .test при сохранении своего теста и сохранять его необходимо и сохранять его нужно в папке, которая находится вот по такому пути c:\Test\server\mysql-test\main

Но запускать наши тесты мы будем из папки, которая находится вот по этому пути c:\Test\server\bld\mysql-test

Так как там находится основной запускающий файл. Уверен что можно добавить этот путь в path и тогда можно будет запускать откуда угодно, но сейчас не об этом речь.

А теперь открываем любой текстовый редактор, например Notepad и пишем наш первый тест:

--echo # 
--echo # Test #00001: avarage 
--echo # 
create table t1 ( 
  pk int primary key, 
  height int 
); 
insert into t1 values 
(0,9), 
(1,5), 
(2,4); 
show create table t1; 
select avg(height) from t1;  
drop table t1;

Теперь нам нужно сохранить этот файл с расширением .test, в моем случае я назвал его sergei.test

В этом тесте мы создаем таблицу с тремя строками и вычисляем среднюю высоту.

Запускаем наш тест командой:

mysql-test-run.pl sergei.test

Наш тест пройден успешно, потому что в MariaDB в этом тестовом сценарии нет ошибок и нет ошибок в тестовом скрипте.

Иногда нам нужно записывать наши результаты. Это сделать достаточно просто. Надо запустить тест с опцией записи:

mysql-test-run.pl sergei.test --record

При этом создастся другой файл с расширением .result в том же каталоге, что и тестовый файл с тем же именем. В моем случае это sergei.result

Заключение

На самом деле тестирование базы данных может включать в себя множество проверок таких как:

  • Схема

  • Таблицы базы данных

  • Столбцы

  • Ключи и индексы

  • Хранимые процедуры

  • Триггеры

  • Проверка сервера базы данных

  • Проверка дублирования данных

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

Какие нужны базовые знания, чтобы стать инженером по тестированию ПО? Что необходимо выучить, чтобы получить первую работу? У кого больше шансов сменить работу и попасть в IT? Приглашаю вас на бесплатный урок, где обсудим, кто и как приходит в технологии через профессию тестировщик программного обеспечения. Урок подойдет тем, кто желает стать тестировщиком, получить новую профессию, работать удаленно.

  • Зарегистрироваться на бесплатный урок

Источник: https://habr.com/ru/company/otus/blog/715272/


Интересные статьи

Интересные статьи

Бессерверные сервисы облачных вычислений появились в 2014 году с AWS Lambda, которая позволяла запускать код без выделения серверов или управления ими. AWS Lambda — пример функции как услуги...
В этой статье вы узнаете:Что такое Cypress и когда его стоит использовать. Основы тестирования с использованием Cypress.Расширенные команды Cypress.Взаимодействие с элеме...
В одной из предыдущих публикаций мы уже рассказывали о концепции зонального хранения данных и о том, какие преимущества обеспечивает эта технология. Но насколько готова ваша IT-инфрастр...
Всем привет! Меня зовут Михаил Волошин, и я, как руководитель отдела инструментов бизнес-анализа, хочу верхнеуровнево рассказать о плюсах и особенностях BI-решения Yota. 200 Tb Ve...
От скорости сайта зависит многое: количество отказов, брошенных корзин. Согласно исследованию Google, большинство посетителей не ждёт загрузки больше 3 секунд и уходит к конкурентам. Бывает, что сайт ...