Тестирование базы данных включает в себя проверку достоверности данных, проверку целостности данных, проверку производительности, связанную с базой данных, и тестирование процедур, триггеров и функций в базе данных.
Есть несколько причин, по которым проводится тестирование базы данных. Необходимо выполнить проверку целостности данных, проверку достоверности и целостности данных в базе данных, так как бэкэнд-система отвечает за хранение данных и доступ к ней имеет многоцелевое назначение.
Вот некоторые из распространенных причин, по которым нужно проводить тестирование базы данных:
Чтобы облегчить сложность обращений к бэкэнду базы данных, разработчики расширяют использование представлений и хранимых процедур.
Эти хранимые процедуры и представления содержат важные задачи, такие как вставка сведений о клиенте (имя, контактная информация и т. Д.) И данных о продажах. Эти задачи необходимо протестировать на нескольких уровнях.
Тестирование черного ящика на внешнем интерфейсе важно, но затрудняет выявление проблемы. Тестирование в бэкэнд-системе повышает надежность данных. Вот почему тестирование базы данных выполняется на внутренней системе.
В базе данных данные поступают из нескольких приложений, и существует вероятность того, что вредоносные или неправильные данные хранятся в базе данных. Поэтому необходимо регулярно проверять компоненты базы данных. Кроме того, целостность и согласованность данных должны регулярно проверяться.
Шаги, которые необходимо выполнить при выполнении тестирования базы данных, следующие:
На основании функций и структуры базы данных тестирование БД можно разделить на следующие категории:
Структурное тестирование базы данных — это тестирование таблиц и столбцов, тестирование схемы, тестирование хранимых процедур и представлений, проверка триггеров и т. Д.
Функциональное тестирование — включает проверку функциональности базы данных с точки зрения пользователя. Наиболее распространенный тип функционального тестирования — тестирование белого ящика и черного ящика.
Нефункциональное тестирование — включает в себя нагрузочное тестирование, тестирование рисков в базе данных, стресс-тестирование, минимальные системные требования и определяет производительность базы данных.
Наиболее распространенными инструментами, которые используются для тестирования хранимых процедур, являются LINQ, SP Test tool и т. Д.
Соединения используются для логического соединения двух или более таблиц. Распространенные типы объединений включают в себя: Внутреннее объединение, Неэквиджоин, Внешнее объединение, Самостоятельное объединение и Перекрестное объединение.
Вы можете присоединить одну таблицу к себе. В этом случае вы используете одну и ту же таблицу дважды.
Шаг 1 — Подключение к базе данных
Шаг 2 — Выполнить запрос базы данных —
Шаг 3 — Отключите соединение с базой данных, используя
Используя контрольные точки базы данных вывода, необходимо выбрать параметры запросов SQL вручную. Здесь можно выбрать запрос на выборку.
Сначала проверьте требования хранимой процедуры. Следующим шагом является проверка правильности индексов, объединений, удалений, обновлений по сравнению с таблицами, упомянутыми в хранимой процедуре.
Далее выполните следующие задачи —
Проверьте имя вызывающей процедуры, параметры вызова и ожидаемые ответы для различных наборов входных параметров.
Выполните процедуру с TOAD или MySQL или Query Analyzer.
Повторно выполните доступные процедуры, отправив различные параметры, и сравните результаты с ожидаемыми значениями.
Завершая процесс, автоматизируйте тесты с помощью WinRunner.
Тестер должен вызвать хранимую процедуру в базе данных с помощью команды EXEC. Если какие-либо параметры требуются, они должны быть переданы. Различные значения параметров должны быть переданы, чтобы подтвердить, выполняется хранимая процедура или нет. При вызове этой команды она должна проверить и проверить характер и поведение базы данных.
Пример — если хранимая процедура написана для заполнения какой-либо таблицы, необходимо проверить значения таблицы.
У нас есть три типа операторов SQL —
Операторы DDL используются для определения структуры или схемы базы данных. Некоторые примеры —
CREATE — для создания объектов в базе данных
ALTER — изменяет структуру базы данных
DROP — удалить объекты из базы данных
Операторы используются для указания условий в операторе SQL и в качестве союзов для нескольких условий в операторе.
Объединение используется для объединения результатов двух или более операторов Select. Однако это устранит дубликаты строк. Союз является оператором множества.
Объединение используется для объединения результатов двух или более операторов Select. Однако это устранит повторяющиеся строки
Операция « Объединение всех» аналогична операции «Объединение», но в ней также отображаются дубликаты строк.
Триггеры используются для поддержания целостности базы данных. Чтобы проверить, запущен триггер или нет, вы можете проверить в журналах аудита.
Триггеры не могут быть вызваны по требованию. Они вызываются, когда связанное действие (вставка, удаление и обновление) происходит с таблицей, для которой они определены. Триггеры используются для применения бизнес-правил, аудита, а также для проверки ссылочной целостности.
Сначала получите функциональное требование. Затем изучите структуру таблицы, соединения, курсоры и триггеры, используемую хранимую процедуру и другие параметры. Затем вы можете написать тест-кейс с разными значениями в качестве входных данных для этих объектов.
Тестирование БД включает тестирование внутренних компонентов, которые не видны пользователям. Он включает компоненты базы данных и системы СУБД, такие как MySQL и Oracle.
Фронтальное тестирование включает в себя проверку функциональности приложения и его компонентов, таких как формы, графики, меню, отчеты и т. Д. Эти компоненты создаются с использованием инструментов фронтальной разработки, таких как VB.net, C #, Delphi и т. Д.
Процесс тестирования базы данных аналогичен тестированию других приложений. Тестирование БД может быть описано следующими ключевыми процессами:
Различные операторы SQL используются для разработки тестовых случаев. Наиболее распространенным оператором SQL, который используется для тестирования БД, является оператор select. Помимо этого могут также использоваться различные операторы DDL, DML, DCL.
Пример — создание, вставка, выбор, обновление и т. Д.
Представление — это таблица, которая на самом деле не существует сама по себе, а взята из одной или нескольких базовых таблиц. Другими словами, нет сохраненного файла, который непосредственно представляет представление, вместо этого определение представления сохраняется в словаре данных.
Рост и реструктуризация базовых таблиц не отражаются во взглядах. Таким образом, представление может изолировать пользователей от изменений в базе данных. Отсюда и логическая независимость данных.
Он определяет представления пользователей и их сопоставления с концептуальной схемой.
Это процесс разложения таблицы на несколько таблиц без потери какой-либо информации. Нормализация проводится для достижения следующих целей —
Индексирование — это метод определения того, как быстро можно найти конкретные данные. Используется для оптимизации производительности запросов. Индексирование может быть следующих типов —
SQL — это язык структурированных запросов, разработанный специально для операций доступа к данным в нормализованных структурах реляционных баз данных.
Основное различие между SQL и другими традиционными языками программирования состоит в том, что операторы SQL указывают, какие операции с данными должны выполняться, а не как их выполнять.
Хранимые процедуры используются для выполнения определенной пользователем операции. Хранимая процедура может иметь набор составных операторов SQL. Хранимая процедура выполняет команды SQL и возвращает результат клиенту.
PL / SQL использует курсоры для всех операторов доступа к информации базы данных. Язык поддерживает использование двух типов курсоров — неявных и явных.
Холодное резервное копирование — холодное резервирование известно как резервное копирование файлов базы данных, журналов повторов и управляющего файла при завершении работы экземпляра. Это копия файла, обычно с диска прямо на ленту. Вы должны закрыть экземпляр, чтобы гарантировать целостность копии.
Если выполняется холодное резервное копирование, единственным вариантом, доступным в случае потери файла данных, является восстановление всех файлов из последней резервной копии. Все изменения, выполненные после последнего резервного копирования, будут потеряны.
Горячее резервное копирование — некоторые базы данных не могут быть закрыты при создании резервной копии файлов, поэтому холодное резервное копирование недоступно. Для этих типов баз данных мы используем горячее резервное копирование.
Подзапрос SQL — это способ запроса двух или более таблиц одновременно. Сам подзапрос — это оператор SQL SELECT, содержащийся в предложении WHERE другого оператора SQL SELECT и разделенный заключением в скобки. Некоторые подзапросы имеют эквивалентные структуры соединения SQL, но коррелированные подзапросы не могут дублироваться соединением
В таком случае вам необходимо проверить следующие аспекты —
Вы можете перейти к базе данных и выполнить соответствующий запрос SQL. В WinRunner вы можете использовать функцию контрольной точки базы данных. Если приложение предоставляет функцию просмотра, то вы можете проверить то же самое из внешнего интерфейса.
Управляемое данными тестирование определяется как процесс автоматического тестирования, при котором приложение будет тестироваться с использованием нескольких тестовых данных. Это проще и проще, чем повторное тестирование, когда тестер просто сидит перед системой и вводит новые значения ввода вручную из интерфейса интерфейса.
После того, как вы выполните тест-кейсы и обнаружите дефекты, которые уже были обнаружены и исправлены. Повторное выполнение одного и того же теста с различными входными значениями для подтверждения того, что исходный дефект был успешно удален, называется повторным тестированием.
Повторное тестирование также называется Data Driven Testing с небольшой разницей —
Повторное тестирование — это процесс ручного тестирования, тогда как тестирование приложения выполняется с использованием всего нового набора данных.
Тестирование на основе данных — это процесс тестирования автоматизации, при котором приложение будет тестироваться с использованием нескольких тестовых данных. Это проще и проще, чем повторное тестирование, когда тестер просто сидит перед системой и вводит новые значения ввода вручную из интерфейса интерфейса.
Существует четыре типа тестирования данных:
Тестирование производительности — это метод тестирования программного обеспечения, позволяющий определить, как система работает с точки зрения скорости, чувствительности и стабильности в условиях большой рабочей нагрузки.
Следующие ключевые моменты должны быть учтены при выполнении тестирования восстановления базы данных —
Промежуток времени, когда изменения или модификации происходят в системе базы данных.
Период, к которому вы хотите, чтобы ваш план восстановления проводился.
Чувствительность данных в системе баз данных. Чем важнее данные, тем чаще вы будете тестировать программное обеспечение.
Следующие инструменты используются для генерации тестовых данных —
Существует два типа резервного копирования, которые можно использовать:
Физическое резервное копирование. Физическое резервное копирование включает в себя резервное копирование с использованием сторонних инструментов резервного копирования, таких как Veritas net back, IBM Tivoli Manager или резервное копирование менеджера пользователей с использованием утилит ОС.
Логическое резервное копирование. Логическое резервное копирование базы данных включает резервное копирование логических объектов, таких как таблицы, индексы, процедуры и т. Д.
Распространенным инструментом резервного копирования данных является Oracle Recovery Manager (RMAN), который является утилитой Oracle для резервного копирования базы данных.
В тестировании восстановления базы данных выполняются следующие действия:
Тестирование безопасности базы данных выполняется с целью обнаружения дыр в механизмах безопасности, а также для выявления уязвимостей или слабых мест системы базы данных.
Тестирование безопасности базы данных выполняется для проверки следующих аспектов:
Угроза SQL-инъекций является наиболее распространенным типом атак в системе баз данных, где вредоносные операторы SQL вставляются в систему баз данных и выполняются для получения критической информации из системы баз данных. Эта атака использует лазейки в реализации пользовательских приложений. Для предотвращения этого пользовательские поля ввода должны быть тщательно обработаны.
Для тестирования безопасности базы данных можно использовать следующие инструменты: Zed Attack Proxy, Paros, Social Engineer Toolkit, Skipfish, Vega, Wapiti и Web Scarab.
Общие проблемы, с которыми сталкиваются при выполнении тестирования базы данных, следующие: