Тестирование производительности БД

План тестирования БД

План тестирования БД будет включать 6 пакетов с набором тестов:

1. Тестирование инсталлирования БД.

2. Тестирование логической модели.

3. Тестирование физической структуры базы данных.

4. Тестирование производительности базы данных.

Тестирование инсталлирования БД

При проведениитестированияданноготипаособоевниманиебудетуделеноследующим тестам (см. табл. 3.5).

Таблица 3.5 – Набор тестов для тестирования инсталлирования БД

№ теста Описаниетеста Ожидаемый результат
1 Размер розпакованого ПО на ПК  До 5 Мб
2 Проверкасоответствия с ОС Подходиттолько для ОС семейства Windows
3 Проверкаработоспособности БД Работаеттолько при наличии пакета NetFramework 4.0 и выше
4 Повторный запуск инсталляции после фатальной ошибки, приведшей к невозможности продолжения инсталляции Провести через 2 минутыпослезавершенияпредыдущей установки, перезапустив предварительно ПК
5 Повторная установка приложения с целью устранения возникших проблем Провести через 1 минутыпослезавершенияпредыдущей установки
6 Удаление приложения Продолжительность до 1 мин.

 

Тестированиелогическоймодели БД

Особенностьюданноготипатестирования БД является то, что он включает в себяпроведениенормализации и денормализацииотношений и набор тестов для тестирования конкретних функций БД (внешние ключи, ограничивающие условия, триггеры) и доказательства того, что она работает в соответствии с заявленными в спецификации требованиями (см. табл. 3.6).

 

Таблица 3.6 – Набор тестов для тестирования логической схемы БД

№ теста Описаниетеста Ожидаемый результат
1 Проверка атрибута “Номер_пользователя”сущности “Журнал” на наличее внешней ссылки Переход на сущность“Пользователь” для просмотра информации о конкретном пользователе.
2 Проверка атрибута “Номер_пользователя_отпрваитель” сущности “Переписка” на наличее внешней ссылки. Переход на сущность“Пользователь” для просмотра информации о конкретном пользователе.
3 Проверка атрибута “Номер_пользователя_получатель” Сущности “Переписка” на налиее внешней ссылки. Переход на сущность“Пользователь” для просмотра информации о конкретном пользователе.
4 Проверка атрибута “Код_шифра” сущности “Переписка” на наличее внешней ссылки. Переход на сущность“Шифр” для просмотра информации о конкретном шифре.
5 Проверка атрибута “Метка” сущности “Пользователь” на наличееограничевающего условия Вводтолько чисел 1,2 или 3
6 Проверка атрибута “Состояние” сущности “Переписка” на наличееограничевающего условия Вводтолько“no”или“yes”

 

Тестированиефизическойструктуры БД

Данный тип тестрования БД включает в себя набор тестов, которыепозволятпроверить на корректностьвводаданныхопределенноготипа для каждогоизартибутовтаблицы в соответствии с их описаним. В таблице 3.7 представлен набор тестов для тестированияданных в таблице “USERS”.

                                                                                                      

Таблица 3.7 – Набор тестов для тестирования атрибутов таблицы “USERS”.

Название атрибута Номер теста Входные данные Ожидаемый результат
Iduser     1 Положительное число типа Number, которое зависит отколичество записей в таблице и генерируется автоматически при вставке данных в таблицу. Сохранение в БД номера записи.

 

Login

  2 Длина атрибута равна 0. Вывод сообщения “Все атрибуты пользователя должны быть заполнены.”
  3 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string. Данное значение пройдет проверку и будет сохранено в БД.
  4 Длина атрибута >= 51, заполнено данными типа string. Вывод сообщения “Большая длина строки. Не все атрибуты пользователя заполнены”.
    5 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string, но такие данные уже существуют в БД. Вывод сообщения “Дублирование данных при вставке. Неверный логин”.
      6 Длина атрибута равна 0.   Вывод сообщения “Все атрибуты пользователя должны быть заполнены.”

Продолжение таблицы 3.7.

 

Password

  7 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string. Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string.
  8 Длина атрибута >= 51, заполнено данными типа string. Вывод сообщения “Большая длина строки. Не все атрибуты пользователя заполнены”.

 

 

Label

  9 Положительное число типа numberв интервале от 1 до 3. Данное значение пройдет проверку и будет сохранено в БД.
    10 Отрицательное число. Вывод сообщения “Неверный формат строки. Все атрибуты пользователя должны быть заполнены.”
11 Положительное число типа numberбольше 3 Вывод сообщения “Неверный формат строки. Все атрибуты пользователя должны быть заполнены”.

 

Тестирование производительности БД

Для реализации данного типа тестирования БД существуют 2 способа (см. табл. 3.8).

Таблица 3.8 – Таблица описания тестирования производительности БД.

№ теста Описание теста Ожидаемый результат
1 Нагрузочный тест Стандартное кол-во пользователей, которое может выдержать БД одновременно составляет 1-14.
2 Стресс-тест Кол-во пользователей, которые одновременно работают с БД, что повлечет за собой сбой, зависание сервера или увеличение времени обработки запросов = от 14 и больше

 

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

Результаты тестирования БД представлены в приложении З.

 

Приложение З. Результаты тестирования базы данных программного обеспечения “Astra”

    В данном приложении представлены результаты тестирования БД.

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

    В таблице З.1 представлены результаты тестирования инсталляции БД.

Таблица З.1 – Результаты тестирования инсталлирования БД.

№ теста Описаниетеста Полученный результат
1 Размер розпакованого ПО на ПК 2 Кб
2 Проверкасоответствия с ОС Подходиттолько для ОС семейства Windows 7
3 Проверкаработоспособности БД Работаеттолько при наличии пакета NetFramework 4.0 и выше
4 Повторный запуск инсталляции после фатальной ошибки, приведшей к невозможности продолжения инсталляции Проводится через 1минутупослезавершенияпредыдущей установки. Перезапуск ПК не требуется
5 Повторная установка приложения с целью устранения возникших проблем Провести через 1 минутыпослезавершенияпредыдущей установки. Дополнительноможно перезапустить ПК.
6 Удаление приложения Продолжительность до 1 мин. Фактический результат 5-20 секунд.

 

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

Приведя отношения и атрибуты БД к состоянию, соответствующего критериям нормализации, я уменьшил скорость операций чтения из БД, но за счет этого обеспечил отсутствие возможных логических ошибок при обновлении и выборке данных[10].  Однако, при большом объеме данных, хранящихся в БД, операции выборки данных может привести к зависанию сервера БД. В следствие этого проведена денормализация.

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

Данные поля заполняются после того, как от сервера ПО приходит сообщение, что указанный пользователь не подключен к сети. Эти данные аналогичны последним данным, по указанному пользователю, которые заполняются в таблице “COMM” с меткой “no”.

 После того как сервер выдаст ответ, что пользователь имеет непрочитанное сообщение, избыточные данные в таблице “USERS” удаляются.

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

Тестирование физической структуры БД показало, что если входные данные не соответствуют типам атрибутов сущностей или не входят в заданный интервал, то возникает системная ошибка, которая приводит к зависанию ПО. Проанализировав полученные результаты я решил создать обработку входных данных еще до их сохранения в БД, что позволило предотвратить возникновения системный ошибок, вызванных разностью форматов данных.

В таблице З.2 представленырезультатытестированияданных в таблице “USERS”.        

Таблица З.2 – Результаты тестирования атрибутов таблицы “USERS”.

Название атрибута Номер теста Входные данные Полученный результат
Iduser     1 Положительное число типа Number, которое зависит отколичество записей в таблице и генерируется автоматически при вставке данных в таблицу. Сохранение в БД номера записи.

 

Login

  2 Длина атрибута равна 0. Вывод сообщения “Все атрибуты пользователя должны быть заполнены.”
  3 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string. Данное значение пройдет проверку и будет сохранено в БД.
  4 Длина атрибута >= 51, заполнено данными типа string. Вывод сообщения “Большая длина строки. Не все атрибуты пользователя заполнены”.
    5 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string, но такие данные уже существуют в БД. Вывод сообщения “Дублирование данных при вставке. Неверный логин”.
    Password   6 Длина атрибута равна 0.   Вывод сообщения “Все атрибуты пользователя должны быть заполнены.”

Продолжение таблицы З.2.

 

  7 Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string. Длина атрибута >=1, но меньше 51, заполнено символьными данными типа string.
  8 Длина атрибута >= 51, заполнено данными типа string. Вывод сообщения “Большая длина строки. Не все атрибуты пользователя заполнены”.

 

 

Label

  9 Положительное число типа numberв интервале от 1 до 3. Данное значение пройдет проверку и будет сохранено в БД.
    10 Отрицательное число. Вывод сообщения “Неверный формат строки. Все атрибуты пользователя должны быть заполнены.”
11 Положительное число типа numberбольше 3 Вывод сообщения “Неверный формат строки. Все атрибуты пользователя должны быть заполнены.”

 

Тестирование производительности БД показало, что количество пользователей, которых может одновременно обслужить и сервер ПО и БД равно 14. Превышение данного количества пользователей приведет приостановке работы ПО, что может вызвать его зависание.

 

 


Дата добавления: 2018-04-15; просмотров: 1151; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!