CRUD-проверка базы данных с помощью пользовательского интерфейса и примеры тестовых случаев.

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

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

Задумывались ли вы когда-нибудь, насколько сейчас автоматизирована наша повседневная жизнь? Еще несколько десятков лет назад люди и подумать не могли, что её можно настолько упростить в плане управления бытовыми вещами. Мы можем следить за состоянием своего здоровья, не выходя из дома, отслеживать нужный транспорт, управлять пылесосом дистанционно, и еще много чего. Такие уже привычные нам вещи делают нашу жизнь невероятно комфортной, не так ли? Но чтобы научиться тестировать их, мы должны для начала понять, как это работает.
Почему важна проверка базы данных?
Приведенные ниже пункты кратко объяснят важность тестирования базы данных.
  • Данные являются важным активом, и их необходимо сохранить и защитить.
  • Базы данных усложняются с новыми технологиями и платформами. Поэтому увеличивается вероятность ошибок.
  • Могут существовать важные функции, связанные со значениями, хранящимися в базе данных.
  • Проблемы с базой данных или запросами могут привести к серьезным проблемам с функциональностью.
Тестирование базы данных может быть сделано в качестве модульного тестирования, теста черного ящика , испытания белого ящика.

4 Основные функции базы данных:
Программное обеспечение на базе баз данных обычно имеет четыре основные функции, которые будут ясны из приведенных ниже примеров.

Пример 1:
Facebook, самая известная соц. сеть
  • Вы можете создать новую учетную запись
  • Просмотреть данных своей учетной записи
  • Изменить данные учетной записи
  • Удалить учетную запись
  • Вы можете писать комментарии
  • Просмотреть их
  • Редактировать их
  • Удалить их
Пример 2:

LinkedIn, знаменитый сайт поиска работы:
  • Вы можете создать свой профиль
  • Просмотреть его
  • Редактировать его
  • Удалить его
  • Вы можете писать сообщения
  • Просмотреть их
  • Редактировать их
  • Удалить их
Вы заметили что общего здесь?
Большинство ПО поддерживают эти функции создания (creating), просмотра (viewing) , редактирования (editing) и удаления (deleting), откуда приходит термин CRUD .

Определение CRUD
В программировании CRUD означает создание, чтение, обновление и удаление. Это четыре основные и основные функции постоянного хранения. Они часто выполняются в программных приложениях через формы.
  • Создание - ВСТАВИТЬ запись в базу данных.
  • Чтение - ВЫБРАТЬ запись из базы данных и просмотреть ее.
  • Обновление - ОБНОВИТЬ запись полностью или частично.
  • Удалить - СТЕРЕТЬ запись.
Для рассмотренных выше функций в базе данных есть соответствующий запрос.
На основе требований к ПО циклы CRUD могут различаться.
Например: иногда продавец создает учетную запись, и пользователь ее просматривает. Пользователь может не иметь права редактировать или удалять его. С другой стороны, это может быть так: пользователь создает свою учетную запись, и продавец проверяет и утверждает ее. Эти циклы очень важны с точки зрения тестировщика.
Испытание CRUD
Проверка CRUD - это проверка работоспособности базы данных с помощью черного ящика.
Как мы знаем, тестирование черного ящика рассматривает тестовую программную систему как «черный ящик», а тесты проводятся через пользовательский интерфейс.
Каждое действие, такое как регистрация учетной записи, редактирование личных данных, просмотр деталей, удаление учетной записи и т. д., имеет соответствующее действие CRUD в базе данных. Проверка CRUD выполняется, чтобы проверить, правильно ли отражены эти действия в базе данных.Тест CRUD отличается от обычного тестирования, здесь мы должны проверить, действительно ли данные учетной записи вводятся в базу данных или нет.

Существует два способа, которыми может воспользоваться тестировщик:

# 1) Выполнять запросы самостоятельно - тестировщики с хорошим пониманием языка SQL и требований к программному обеспечению могут создавать собственные запросы для проверки базы данных.

# 2) Выполнение запросов с помощью разработчика - Тестировщики могут начать с проверки пользовательского интерфейса приложения и получать запросы от разработчика.

При написании тестовых примеров для операций CRUD следует учитывать следующие вопросы:
  • Какое действие CRUD действительно и недействительно для тестового приложения?
  • Как соотносятся действия CRUD друг с другом?
  • Когда выполняются действия CRUD?
  • Кто обращается к функциональности CRUD? Предоставляет ли система разные привилегии для разных пользователей
Общий тестовый процесс для тестирования без данных не сильно отличается от обычного ручного тестирования графического интерфейса черного ящика, пример ниже:
Шаг 1: Подготовьте тестовую среду.
Шаг 2: Выполните шаги тестирования.
Шаг 3: Проверьте результат теста.
Шаг 4: Подтвердите фактические результаты в соответствии с ожидаемыми результатами.
Шаг 5: Сообщайте об ошибках и других выводах.

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

«SELECT» может использоваться следующими способами:

# 1) Если тестировщик хочет проверить все данные, он может использовать символ начала (*) в запросе SELECT. Это простейшая форма запроса SELECT.
SELECT * FROM table_name;
Вышеупомянутый оператор выбирает все поля из всех строк из таблицы table_name.

# 2) В некоторых случаях первый результат запроса может быть беспорядочным. Если тестер интересуется только некоторыми полями, то можно использовать следующий скрипт.
SELECT 'field_1', 'field_2', 'field_3' FROM table_name;
Вышеуказанный оператор выбирает поля «field_1», «field_2» и «field_3» из всех строк таблицы table_name.

# 3) Если тестировщик хочет видеть результаты на основе каких-либо критериев, может использоваться предложение WHERE.
SELECT 'field_1' FROM table_name WHERE field_2 = 'success';
Вышеприведенный оператор выбирает поле «field_1» из всех строк таблицы table_name, где «field2» - «успех».
Рассмотрим следующий пример пользовательского интерфейса, который позволяет некоторым пользовательским привилегиям использовать базу данных MySQL для хранения данных.
Давайте рассмотрим, как можно проверить функциональность CRUD для этого случая.
1) Создание: Функциональность
При добавлении нового продукта можно выполнить следующие действия:
  1. Загрузите форму «Добавить продукт».
  2. Введите имя продукта, скажем 'test name'.
  3. Введите описание продукта, скажем, «это тестовая деталь продукта».
  4. Введите цену товара, скажем, «100».
  5. Отправьте форму.
Проверка результата:
  • Тестер вручную проверяет, отображается ли продукт со всеми подробностями в интерфейсе приложения.
  • Тестер выполняет запрос в сервере базы данных MYSQL, чтобы проверить, присутствует ли конкретная строка
Запрос:
SELECT * FROM products WHERE product_name = 'test name';
Результат запроса от MySQL:
Строка с соответствующими данными должна отображаться как,
mysql> SELECT * FROM products WHERE product_name = 'test name';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| название теста | это тестовая версия продукта | 100 |
Другие рассмотренные случаи:
  1. Для некоторых систем разные пользователи будут иметь разные привилегии. В этом случае тестировщикам, возможно, придется проверять ответ для каждой роли пользователя.
  2. Если дублирующиеся продукты не разрешены, тестер может проверить это, добавив продукт с теми же подробностями еще раз. На этот раз база данных не должна создать вторую запись, соответствующую одному и тому же продукту.
  3. Если ПО позволяет одновременно создавать несколько продуктов, тогда тестер может проверить, правильно ли они были введены в базу данных.
  4. Попробуйте различные комбинации ввода.
  5. Проверьте, что происходит во время простоя сервера.
2) Чтение: Функциональность
Чтобы проверить, является ли созданная запись доступной, выполните следующие действия:
  1. Создайте некоторые продукты с различными комбинациями ввода через функциональность CREATE, скажем, имя теста 1, имя теста 2, имя теста 3.
  2. Попробуйте найти продукты.
Проверка результата:
  • Тестер вручную проверяет правильность сведений о продукте.
  • Тестер сравнивает детали с данными, сохраненными в базе данных.
Запрос:
SELECT * FROM products WHERE product_name = 'test name 1' OR product_name = 'test name 12' OR product_name = 'test name 3';
Результат запроса от MySQL:
Необходимо отобразить детали выбранных продуктов. Тестер может проверить и сравнить это с результатами в пользовательском интерфейсе.
mysql> SELECT * FROM products WHERE product_name = 'test name 1' OR product_name = 'test name 12' OR product_name = 'test name 3';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| имя теста 1 | это тестовый продукт detail1 | 100 |
| имя теста 2 | это тестовый продукт detail2 | 100 |
| имя теста 3 | это тестовый продукт detail3 | 100 |
Другие рассмотренные случаи:
  1. Просмотр элементов по одному.
  2. Просмотр нескольких элементов одновременно.
  3. Пытается просмотреть элемент, который не существует.
  4. Попробуйте выполнить поиск в разных условиях.
  5. Попробуйте проверить функциональность для разных пользовательских ролей.
  6. Проверьте, что происходит во время простоя сервера.
3) Обновление: Функциональность
Чтобы изменить или обновить существующие записи, выполните следующие действия:
  1. Создайте продукт, используя функциональность CREATE.
  2. Отредактируйте разные поля продукта, скажем 'test name', 'V Neck Top'.
  3. Отправить
Проверка результата:
  • Тестер вручную проверяет, что детали продукта изменены
  • Тестер выполняет запрос MYSQL и видит детали
Запрос:
SELECT * FROM products WHERE product_name = 'V Neck Top';
Результат запроса от MySQL:
Строка с соответствующими деталями должна отображаться.
mysql> SELECT * FROM products WHERE product_name = 'V Neck Top';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| имя теста 1 | это тестовая версия продукта | 100 |
+ ------------- + ----------------------------- + ----- ------------ +
Если вы ищете старое имя продукта, база данных не должна возвращать детали.
Другие рассмотренные случаи:
  1. Обновление нескольких элементов одновременно.
  2. Обновите ключевое значение, которое уже существует.
  3. Обновите все детали.
  4. Обновите поля различными комбинациями ввода.
  5. Проверьте, что происходит во время простоя сервера.
4) Удаление: Функциональность
Чтобы проверить функциональность удаления, выполните следующие шаги:
  1. Создайте продукт с функциональностью CREATE.
  2. Удалите продукт.
Проверка результата:
  • Тестер вручную проверяет, удаляется ли продукт из пользовательского интерфейса
  • Тестер вручную проверяет базу данных MySQL и подтверждает, что соответствующая строка была удалена.
Запрос :
SELECT * FROM products WHERE product_name = 'test name';
Результат запроса от MySQL:
Это должно отобразить результат запроса, как показано ниже.
mysql> SELECT * FROM products WHERE product_name = 'test name'; Пустой набор (0,00 сек)
Другие рассмотренные случаи:
  1. Удалите несколько элементов в одном запросе.
  2. Удалите обновленный элемент.
  3. Возьмите две вкладки и попробуйте дать запрос на удаление продукта из обеих вкладок.
Вывод
Тестирование базы данных очень важно, поскольку оно подтверждает безопасность и надежность программного приложения. Большинство приложений имеют дело с созданием, чтением и обновлением и удалением данных в / из базы данных. Согласно требованию к программному обеспечению, циклы CRUD могут различаться, но это не должно вводить в заблуждение тестировщиков, ведь к решению любой задачи можно подходить с интересом и азартом.
26 июля / 2018
ул. Шота Руставели 40\10
info@start-it.ua
+380 63 742 50 52
© 2018 StartIT training center

Made on
Tilda