Jump to content

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

Тестирование базы данных обычно состоит из многоуровневого процесса, включающего уровень пользовательского интерфейса (UI), бизнес-уровень, уровень доступа к данным и саму базу данных. Уровень пользовательского интерфейса занимается проектированием интерфейса базы данных, а бизнес-уровень включает базы данных, поддерживающие бизнес-стратегии .

Цели [ править ]

Базы данных , совокупность взаимосвязанных файлов на сервере, хранящие информацию, не могут иметь дело с одним и тем же типом данных, т.е. базы данных могут быть разнородными . В результате в больших системах баз данных могут возникать многие виды ошибок реализации и интеграции , которые негативно влияют на производительность, надежность, согласованность и безопасность системы. Таким образом, важно провести тестирование , чтобы получить систему базы данных, которая удовлетворяет свойствам ACID (атомарность, согласованность, изоляция и долговечность) системы управления базами данных . [1]

Одним из наиболее важных уровней является уровень доступа к данным, который работает с базами данных непосредственно во время процесса связи. Тестирование базы данных в основном происходит на этом уровне и включает в себя такие стратегии тестирования, как контроль качества и обеспечение качества баз данных продуктов. [2] Тестирование на этих разных уровнях часто используется для поддержания согласованности систем баз данных, что чаще всего можно увидеть в следующих примерах:

  • Данные имеют решающее значение с точки зрения бизнеса. Такие компании, как Google или Symantec , которые связаны с хранением данных , должны иметь надежную и согласованную систему баз данных. Если операции с базой данных, такие как вставка, удаление и обновление, выполняются без предварительного тестирования базы данных на целостность, компания рискует привести к сбою всей системы.
  • Некоторые компании имеют разные типы баз данных, а также разные цели и миссии. Чтобы достичь уровня функциональности, соответствующего указанным целям, им необходимо протестировать свою систему баз данных.
  • Возможно, потребуется нечто большее, чем нынешний подход к тестированию, при котором разработчики формально тестируют базы данных. Однако этот подход недостаточно эффективен, поскольку разработчики баз данных могут замедлить процесс тестирования из-за пробелов в коммуникации. Представляется целесообразным создать отдельную группу тестирования баз данных.
  • Тестирование баз данных в основном занимается поиском ошибок в базах данных и их устранением. Это улучшит качество базы данных или веб-системы.
  • Тестирование базы данных следует отличать от стратегий решения других проблем, таких как сбои базы данных, неправильная вставка, удаление или обновление. В данном случае рефакторинг базы данных является эволюционным методом, который может применяться.

Виды тестирования и процессы [ править ]

Тестирование черного и белого ящика при тестировании базы данных

На рисунке показаны области тестирования, задействованные при различных методах тестирования баз данных, таких как тестирование «черного ящика» и тестирование «белого ящика» .

Черный ящик [ править ]

Тестирование «черного ящика» включает в себя тестирование интерфейсов и интеграцию базы данных, которая включает в себя:

  1. Сопоставление данных (включая метаданные )
  2. Проверка входящих данных
  3. Проверка исходящих данных из функций запроса
  4. Различные методы, такие как метод построения графиков причинно-следственных связей, разделение эквивалентности и анализ граничных значений .

С помощью этих методов можно тщательно протестировать функциональность базы данных.

Плюсы и минусы тестирования «черного ящика» включают в себя: Генерация тестовых примеров при тестировании «черного ящика» довольно проста. Их создание полностью независимо от разработки программного обеспечения и может выполняться на ранней стадии разработки. Как следствие, программист лучше знает, как проектировать приложение базы данных, и тратит меньше времени на отладку. Стоимость разработки тест-кейсов «черного ящика» ниже, чем разработка тест-кейсов «белого ящика». Главный недостаток тестирования методом «черного ящика» заключается в том, что неизвестно, какая часть программы тестируется. Кроме того, некоторые ошибки не могут быть обнаружены. [3]

Белый ящик [ править ]

Тестирование белого ящика в основном касается внутренней структуры базы данных. Детали спецификации скрыты от пользователя.

  1. Оно включает в себя тестирование триггеров базы данных и логических представлений, которые будут поддерживать рефакторинг базы данных .
  2. Он выполняет модульное тестирование функций базы данных, триггеров, представлений, SQL- запросов и т. д.
  3. Он проверяет таблицы базы данных, модели данных, схему базы данных и т. д.
  4. Он проверяет правила ссылочной целостности .
  5. Он выбирает значения таблицы по умолчанию для проверки согласованности базы данных.
  6. Методы, используемые в тестировании белого ящика, — это покрытие условий, покрытие решений, покрытие операторов, цикломатическая сложность .

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

Подход WHODATE

Подход WHODATE для преобразования операторов SQL

При создании тестовых примеров для тестирования базы данных семантика оператора SQL должна быть отражена в тестовых примерах. Для этой цели используется метод, называемый Техникой приложения базы данных WHite bOx «(WHODATE)». Как показано на рисунке, операторы SQL независимо преобразуются в операторы GPL, после чего проводится традиционное тестирование «белого ящика» для создания тестовых примеров, включающих семантику SQL. [4]

Четыре этапа [ править ]

Установленная фикстура описывает исходное состояние базы данных перед входом в тестирование. После установки фикстур поведение базы данных проверяется для определенных тестовых случаев. В зависимости от результата тестовые примеры либо изменяются, либо сохраняются как есть. Этап «сноса» либо приводит к прекращению тестирования, либо к продолжению других тестовых случаев. [5]

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

  1. Очистите базу данных. Если тестируемые данные уже присутствуют в базе данных, ее необходимо очистить.
  2. Настройка приспособления: такой инструмент, как PHPUnit, затем будет перебирать приспособления и выполнять вставки в базу данных.
  3. Запустите тест, проверьте результат, а затем снесите: после сброса базы данных до пустой и вывода списка приборов запускается тест и проверяются выходные данные. Если выходные данные соответствуют ожиданиям, следует процесс разборки, в противном случае тестирование повторяется. [ нужна ссылка ]

Основные техники [ править ]

  • Анализатор запросов SQL — полезный инструмент при использовании Microsoft SQL Server . [ нужна ссылка ]
  • Одна часто используемая функция, [ нечеткий ] create_input_dialog["label"], используется для проверки вывода с пользовательскими данными.
  • Разработка форм для автоматизированного тестирования баз данных, как внешних, так и внутренних, полезна для специалистов по обслуживанию баз данных.
  • данных Тестирование загрузки :
    • Для тестирования нагрузки данных необходимы знания об исходной базе данных и целевой базе данных.
    • Рабочие проверяют совместимость исходной базы данных и целевой базы данных с помощью пакета DTS .
    • При обновлении исходной базы данных работники обязательно сравнивают ее с целевой базой данных.
    • Нагрузочное тестирование базы данных измеряет способность сервера базы данных обрабатывать запросы, а также время ответа сервера базы данных и клиента. [6]
  • При тестировании базы данных часто рассматриваются такие вопросы, как атомарность, согласованность, изоляция, долговечность, целостность, выполнение триггеров и восстановление.
  1. Установка для тестирования баз данных является дорогостоящей и сложной в обслуживании, поскольку системы баз данных постоянно меняются с ожидаемыми операциями вставки, удаления и обновления.
  2. Дополнительные издержки необходимы для определения состояния транзакций базы данных.
  3. После очистки базы данных необходимо разработать новые тестовые примеры. [ нужна ссылка ]
  4. Генератор SQL необходим для преобразования операторов SQL и включения семантики SQL в тестовые примеры базы данных.


См. также [ править ]

Ссылки [ править ]

  1. ^ Корт, Генри (2010). Концепции системы баз данных . Макгроу-Хилл. ISBN  978-0-07-352332-3 .
  2. ^ Эмблер, Скотт (2003). Методы гибкой работы с базами данных: эффективные стратегии для гибкого разработчика программного обеспечения . Уайли. ISBN  978-0-471-20283-7 .
  3. ^ Прессман, Роджер (1994). Тестировщик программного обеспечения: подход практикующего специалиста . Макгроу-Хилл Образование. ISBN  978-0-07-707732-7 .
  4. ^ Чжан, Яньчунь (1999). Кооперативные базы данных и приложения '99: материалы Второго международного симпозиума по кооперативным системам баз данных для передовых приложений (CODAS '99), Вуллонгонг, Австралия, 27–28 марта 1999 г. Спрингер. ISBN  978-981-4021-64-7 .
  5. ^ Кан, Стивен. Метрики и модели в инженерии качества программного обеспечения . Пирсон Образование. ISBN  978-81-297-0175-6 .
  6. ^ «ИнфоМир» . ИнфоУорлд Медиа Групп, Инк . 15 января 1996 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 818ff941b2103cadb5cd10f1e684b628__1691684460
URL1:https://arc.ask3.ru/arc/aa/81/28/818ff941b2103cadb5cd10f1e684b628.html
Заголовок, (Title) документа по адресу, URL1:
Database testing - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)