Материал: Программа для поддержки процессов выявления проблемных запросов в СУБД Oracle

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

.1 Методика тестирования ПП

Процесс тестирования по пунктам:

Функциональное тестирование - самая продолжительная стадия, в процессе которой проходит проверка всего заявленного функционала:

проверка корректной работы всех функций веб-сайта;

проверка работоспособности форм;

поиск нерабочих гиперссылок;

тестирование работы счетчиков на страницах веб-сайта;

проверка подгрузки и выгрузки файлов;

просмотр содержимого сайта на соответствие должному контенту.

Тестирования верстки веб-сайта - при проверке верстки в начале проверяется общий вид, соответствие расположения элементов разработанным макетам, также проверяется оптимизация графики и изображений.

После этого осуществляется валидация кода. В процессе верстки очень важно соблюдать правильную иерархию объектов, после завершения всех работ стоит удостовериться в её корректности. Несмотря на ошибки в коде, браузер все равно постарается отобразить страницу, но каждый браузер может сделать это по-своему, в результате в различных браузерах страницы будут выглядеть по-разному. Исправление таких ошибок приведет к стабильному результату.

Также важна проверка на корректную работу сайта в различных браузерах, то есть кроссбраузерность, а также при разных размерах экрана.

Сегодня существует несколько популярных браузеров - Google Chrome, Mozilla Firefox, Safari, Opera и Internet Explorer, и каждый из этих браузеров придерживается общих рекомендаций по представлению веб-страницы, но также каждый из них обрабатывает программный код в соответствии с особенностями собственного движка. Также процесс проверки осложняется тем, что часто браузеры обновляются, появляются новые версии, и в новых версиях веб-сайт не обязательно будет выглядеть корректно.

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

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

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

Для проверки основных функций ПП создана тестовая таблица moni_test.

Таблица заполнена данными с помощью следующего кода:i in 1..200000 loopinto moni_test values(1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');loop;;

Для проверки получения плана запроса - с помощью SQL Plus был получен план исполнения для следующего запроса:

SELECT count(*) FROM moni_test tab1, moni_test tab2 tab1.c=tab2.c AND tab1.c=1;

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

Рисунок 4.1 - План выполнения запроса, полученный с помощью SQL Plus

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

Рисунок 4.2 - План исполнения запроса в виде таблицы

План исполнения запроса представлен наглядно - в виде таблицы. Потенциально проблемные места плана выделяются цветом. Данный план запроса идентичен представленному раннее (рисунок 4.1).

Для тестирования выявления проблемных запросов использовался следующий запрос:

SELECT count(*) FROM moni_test tab1, moni_test tab2 tab1.c=tab2.c AND tab1.c=1;

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

Рисунок 4.3 - Таблица с длительно выполняющимися запросами

Как видно запрос имеет значительные показатели ELAPSED_TIME и CPU_TIME.

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

.3 Тестирование веб-интерфейса

Использование Bootstrap позволяет создавать адаптивные пользовательские интерфейсы, которые будут корректно отображаться на устройствах с различным расширением экрана. На рисунке 4.5 представлен вид пользовательского интерфейса на экране смартфона, рисунок 4.4 - обычное расширение экрана.

Рисунок 4.4 - Панель мониторинга

Пользовательский интерфейс на экранах разных расширений выглядит по-разному, на экранах компьютеров основная часть страницы, если это необходимо, делится на несколько колонок, на рисунке 4.4 верхняя панель содержит три колонки: информация о базе данных, диаграмма о размере базы данных, и информация о текущем подключении, при более маленьких экранах такое расположение элементов неудобно - страница попросту не поместится и пользователя придется листать влево и вправо, чтобы посмотреть все содержимое, поэтому на экранах смартфона веб-страница отображается в одну колонку. На рисунке 4.5 изображена та же самая страница, но на экране смартфона - все содержимое размещается друг под другом, что обеспечивает достаточно удобный просмотр. Боковое меню на маленьких экранах сворачивается до более компактного вида.

Рисунок 4.5 - Панель мониторинга на экране смартфона

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

Для тестирования кроссбраузерности сайтов использовался Browser Sandbox, который позволяет запускать различные версии браузеров без установки. Тестирование веб-сайта проводилось в наиболее используемых браузерах.

Рисунок 4.6 - Мировая статистика использования браузеров

Наиболее проблемным браузером является Internet Explorer, но использование Bootstrap также позволило реализовать интерфейс, который будет корректно отображаться в разных браузерах.


ЗАКЛЮЧЕНИЕ

В ходе ВКР было разработано программное средство для поддержки процесса выявления проблемных запросов в СУБД Oracle.

На этапе аналитического обзора были рассмотрены проблемные запросы, причины их неэффективности, а также методы и средства диагностики производительности запросов.

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

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

На этапе тестирования проведено функциональное тестирование и тестирование пользовательского интерфейса.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Cumming, A. SQL Hacks / A. Cumming, G. Russel. - New York: O’Reilly Media, 2006. - 388 c.

Миллсап К., Oracle. Оптимизация производительности / К. Миллсап, Д. Хольт. - Санкт-Петербург: Символ-Плюс, 2006. - 464 с.

Alapati R., Expert Oracle9i Database Administration / R. Alapati, - New York: Apress, 2003. - 1248 c.

Михеевич, В. Опыт и рекомендации по оптимизации SQL-запросов / В.Михеевич // FORS. - 2015. - №7. - С. 92 - 99.EXPLAIN PLAN: [Электронный ресурс]: офиц. сайт. - Режим доступа: https://docs.oracle.com/cd/B28359_01/server.111/b28274/ex_plan.htm.Tom: On Query Tuning: [Электронный ресурс]: офиц. сайт. - Режим доступа: http://www.oracle.com/technetwork/issue-archive/2014/14-nov/o64asktom-2298498.html.Oracle Query Plan: [Электронный ресурс]: офиц. сайт. - Режим доступа: https://dwbi.org/database/oracle/38-oracle-query-plan-a-10-minutes-guide.Definitive Guide to Yii 2.0: [Электронный ресурс]: офиц. сайт - Режим доступа: http://www.yiiframework.com/doc-2.0/guide-index.html..js: [Электронный ресурс]: офиц. сайт - Режим доступа: http://backbonejs.org.started - Bootstrap: [Электронный ресурс]: офиц. сайт - Режим доступа: http://getbootstrap.com/getting-started/.