Тестирование производительности БД
План тестирования БД
План тестирования БД будет включать 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!