Учебники

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

В зависимости от функции и структуры базы данных тестирование БД можно разделить на три категории:

  • Структурное тестирование базы данных — это тестирование таблиц и столбцов, тестирование схемы, тестирование хранимых процедур и представлений, проверка триггеров и т. Д.

  • Функциональное тестирование — включает проверку функциональности базы данных с точки зрения пользователя. Наиболее распространенный тип функционального тестирования — тестирование белого ящика и черного ящика.

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

Структурное тестирование базы данных — это тестирование таблиц и столбцов, тестирование схемы, тестирование хранимых процедур и представлений, проверка триггеров и т. Д.

Функциональное тестирование — включает проверку функциональности базы данных с точки зрения пользователя. Наиболее распространенный тип функционального тестирования — тестирование белого ящика и черного ящика.

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

Структурное тестирование базы данных

Структурное тестирование базы данных включает проверку тех компонентов базы данных, которые не предоставляются конечным пользователям. Он включает в себя все компоненты репозитория, которые используются для хранения данных и не изменяются конечными пользователями. Обычно это тестирование выполняют администраторы баз данных с хорошим знанием хранимых процедур SQL и других концепций.

Обсуждаются общие компоненты, протестированные в отношении структурных испытаний —

Тестирование схемы / картографии

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

В тестировании схемы —

  • Иногда случается, что объекты приложения конечного пользователя неправильно сопоставлены или не совместимы с объектами базы данных. Следовательно, требуется проверка правильности различных форматов схемы, связанных с базами данных.

  • Требуется найти несопоставленные объекты в базе данных, такие как таблицы, представления, столбцы и т. Д.

Иногда случается, что объекты приложения конечного пользователя неправильно сопоставлены или не совместимы с объектами базы данных. Следовательно, требуется проверка правильности различных форматов схемы, связанных с базами данных.

Требуется найти несопоставленные объекты в базе данных, такие как таблицы, представления, столбцы и т. Д.

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

Пример. В Microsoft SQL Server тестировщик может писать простые запросы для проверки и проверки схем в базе данных.

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

Тестирование картирования схемы

Тестирование хранимых процедур и представлений

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

Тестер обеспечивает —

  • Если это позволяет требуемые триггеры быть выполнены, как ожидалось.

  • Если команда разработчиков охватила все циклы и условия, передавая входные данные приложениям в процедурах.

  • Если есть какие-либо неиспользуемые хранимые процедуры в базе данных.

  • Операции TRIM применяются правильно, когда данные выбираются из необходимых таблиц в базе данных.

  • Проверка общей интеграции модулей хранимых процедур в соответствии с требованиями тестируемого приложения.

  • Следуют механизмы исключения и обработки ошибок.

Если это позволяет требуемые триггеры быть выполнены, как ожидалось.

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

Если есть какие-либо неиспользуемые хранимые процедуры в базе данных.

Операции TRIM применяются правильно, когда данные выбираются из необходимых таблиц в базе данных.

Проверка общей интеграции модулей хранимых процедур в соответствии с требованиями тестируемого приложения.

Следуют механизмы исключения и обработки ошибок.

Наиболее распространенными инструментами, которые используются для тестирования хранимых процедур, являются LINQ , SP Test tool и т. Д.

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

При тестировании триггера тестер должен убедиться в следующем:

  • Соблюдаются ли правила кодирования во время фазы кодирования триггеров.

  • Смотреть выполненные триггеры соответствует требуемым условиям.

  • Правильно ли обновляет триггер данные после их выполнения.

  • Проверка функциональности триггеров обновления / вставки / удаления в тестируемом приложении.

Соблюдаются ли правила кодирования во время фазы кодирования триггеров.

Смотреть выполненные триггеры соответствует требуемым условиям.

Правильно ли обновляет триггер данные после их выполнения.

Проверка функциональности триггеров обновления / вставки / удаления в тестируемом приложении.

Тестирование таблиц и столбцов

Ключевые области, охватываемые этим тестированием:

  • Проверка типов данных в базе данных по значениям полей в клиентском приложении.

  • Проверка длины поля данных в базе данных по длине типов данных в приложении.

  • Проверка наличия в базе данных не отображенных таблиц или столбцов из объектов поля приложения.

  • Соглашения об именах таблиц и столбцов базы данных проверяются, если они соответствуют бизнес-требованиям или нет.

  • Проверка ключей и индексов в базе данных, т. Е. Первичных и внешних ключей в таблицах, определяется в соответствии с требованиями.

  • Проверьте, совпадают ли первичные ключи и соответствующие им внешние ключи в двух таблицах.

  • Проверка уникальных и ненулевых характеристик ключей сохраняется.

  • Длина и тип данных ключей и индексов поддерживаются согласно требованию.

Проверка типов данных в базе данных по значениям полей в клиентском приложении.

Проверка длины поля данных в базе данных по длине типов данных в приложении.

Проверка наличия в базе данных не отображенных таблиц или столбцов из объектов поля приложения.

Соглашения об именах таблиц и столбцов базы данных проверяются, если они соответствуют бизнес-требованиям или нет.

Проверка ключей и индексов в базе данных, т. Е. Первичных и внешних ключей в таблицах, определяется в соответствии с требованиями.

Проверьте, совпадают ли первичные ключи и соответствующие им внешние ключи в двух таблицах.

Проверка уникальных и ненулевых характеристик ключей сохраняется.

Длина и тип данных ключей и индексов поддерживаются согласно требованию.

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

Проверка сервера базы данных включает проверку —

  • Если сервер базы данных может обрабатывать ожидаемое количество транзакций согласно бизнес-требованиям.

  • Если данные конфигурации серверов баз данных соответствуют бизнес-требованиям.

  • Если авторизация пользователя поддерживается в соответствии с требованием.

Если сервер базы данных может обрабатывать ожидаемое количество транзакций согласно бизнес-требованиям.

Если данные конфигурации серверов баз данных соответствуют бизнес-требованиям.

Если авторизация пользователя поддерживается в соответствии с требованием.

Функциональное тестирование

Функциональное тестирование выполняется с учетом точки зрения конечного пользователя; соответствуют ли требуемые транзакции и операции, выполняемые конечными пользователями, бизнес-спецификациям.

Тестирование черного ящика

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

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

Его преимущества заключаются в следующем —

  • Это довольно просто и выполняется на ранних стадиях разработки.
  • Стоимость разработки тестовых случаев меньше по сравнению с тестированием белого ящика.

Его недостатки заключаются в следующем —

  • Несколько ошибок не могут быть обнаружены
  • Неизвестно, сколько программы нужно протестировать.

Тестирование белого ящика

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

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

Наиболее распространенными методами, используемыми для тестирования белого ящика, являются покрытие условий, покрытие решений, покрытие выписок и т. Д.

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

Нефункциональное тестирование

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

Нагрузочное тестирование

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

В нагрузочном тестировании тестер проверяет —

  • Время ответа для выполнения транзакций для нескольких удаленных пользователей.
  • Время, затраченное базой данных на выборку определенных записей.

Примеры нагрузочного тестирования в разных типах тестирования

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

Стресс-тестирование

Стресс-тестирование проводится для определения точки останова системы. В этом тестировании приложение загружается таким образом, что система в какой-то момент перестает работать. Эта точка называется точкой останова системы баз данных.

Определение состояния транзакций базы данных требует значительных усилий. Правильное планирование требуется, чтобы избежать каких-либо затрат и времени.

Наиболее часто используемыми инструментами для стресс-тестирования являются LoadRunner и WinRunner .

Давайте возьмем пример стресс-тестирования. Приложение CRM может принимать максимальную пользовательскую нагрузку в 50000 одновременно работающих пользователей. Предположим, вы увеличиваете нагрузку до 51000 и делаете некоторые транзакции, такие как обновление записей или добавление записи. Как только вы сделаете транзакцию, приложение может синхронизироваться с системой базы данных. Поэтому следующий тест должен выполняться с пользовательской нагрузкой 52000. Иногда стресс-тестирование также называют усталостным тестированием .