Для организации тестирования сайта существует
специально разработанная методика, по которой и осуществляется вся проверка.
.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/.