Подробное описание ранее выбранной архитектуры ПО системы

2.2.1  Глоссарий проекта

 

В табл. 2.1 представлен глоссарий к проекту информационно-справочной системы гостиницы.

 

Таблица 2.1- Глоссарий проекта

Авторизация Процесс введения пользователем логина и пароля.
Администратор Личность, которая управляет и поддерживает настройки ПО.
Гость Пользователь, обладающий правами на использование услуг информационно-справочной системы.
Бронирование Системы, в которых отражено наличие реальных номеров в гостиницах и в которых информирование гостиницы о бронировании номера клиентом происходит менее чем за одну минуту с момента бронирования.
Гостинничный номер Одна или несколько комнат в гостинице.

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

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

 

2.2.2 Назначение программного продукта

 

Гостиница - это коллективное средство размещения, состоящее из определенного количества номеров, имеющее единое руководство, предоставляющее набор услуг (минимум - заправку постелей, уборку номера и санузла) и сгруппированное в классы и категории в соответствии с предоставляемыми услугами и оборудованием номеров.

Для работы с предоставленным графическим Web – интерфейсом предусмотрены такие типы пользователей:

- администратор;

- гость.

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

Программное обеспечение в первую очередь должно реализовать следующие функции:

– вести электронный каталог гостиничного фонда.

– вести инвентаризацию номеров гостиничного фонда.

– осуществлять поиск в каталоге информации о конкретном номере по различным критериям

– регистрация, бронирование и аннулирование мест и номеров в гостинице

– регистрация на поселение клиента в номер, расчёта, оформление выезда.

– получение оперативной информации о номерах, зарегистрированных на конкретных гостей.

 

2.2.3  Обоснование выбора архитектуры приложения

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

Схема предполагаемого интерфейса информационно-справочной системы гостиницы в виде диаграммы компонентов представлена на рис.2.2.

 

Рисунок 2.2 - Диаграмма компонентов

 

На диаграмме представлены такие компоненты:

– интерфейс страницы пользователя;

– интерфейс страницы номера и цены;

– интерфейс страницы бронирования;

– интерфейс страницы информации о гостинице.

– интерфейс страницы контакты;

– интерфейс страницы администратора;

– интерфейс страницы работы с номерами;

– интерфейс страницы работы с гостями;

– интерфейс страницы регистрации клиента.

 


 

На рис. 2.3 изображена диаграмма последовательности режима «Изменение данных о гостях».

 

Рисунок 2.3 – Диаграмма последовательности режима «Изменение данных о гостях»

 

 


 

На рис. 2.4 изображена диаграмма последовательности режима «Регистрация гостя».

Рисунок 2.4 – Диаграмма последовательности режима «Регистрация гостя»

        

На рис. 2.5 изображена диаграмма последовательности для режима «Бронирование номера».

Рисунок 2.5 – Диаграмма последовательности режима «Бронирование номера»

 

        


 

На рис. 2.6  изображена диаграмма последовательности режима «Оплата номера».

Рисунок 2.6 – Диаграмма последовательности режима «Оплата номера»

 

На рис. 2.7 изображена диаграмма кооперации режима гостиницы «Изменение данных».

Рисунок 2.6 – Диаграмма кооперации режима гостиницы «Изменение данных о гостях»

 

На рис. 2.7 изображена диаграмма кооперации режима гостиницы «Регистрация гостя».

Рисунок 2.7 – Диаграмма кооперации режима гостиницы «Регистрация гостя»

На рис. 2.8 изображена диаграмма кооперации режима «Бронирование номера».

Рисунок 2.8 – Диаграмма кооперации режима гостиницы «Бронирование номера»

 

На рис. 2.9 изображена диаграмма кооперации режима гостиницы «Оплата номера».

Рисунок 2.9 – Диаграмма кооперации режима гостиницы «Оплата номера»

        

2.2.4 Декомпозиция элементов структуры технологической модели

 

На рис. 2.10 – представлен основной элемент структуры, определены входы, выходы, управление механизмами работы гостиницы.

Рисунок 2.10- Базовый элемент структуры

 

На рис.2.11 - произведена декомпозиция, базового процесса структуры, который состоит из элементов: «Rabota s nomerami», «Rabota s gostiami», «Rabota s bronirovaniem».

PhpMyAdmin

Рисунок 2.11- Декомпозиция базового процесса структуры в нотации IDEF0

 

На рис.2.12 - произведена декомпозиция, базового процесса структуры, который состоит из элементов: «Udalenie gostia», «Dobavlenie gostia», «Poisk gostia», «Redaktirovanie dannih o goste».

PhpMyAdmin

Рисунок 2.12- Декомпозиция базового процесса структуры в нотации IDEF0 «Rabota s gostiami».

На рис.2.13 - произведена декомпозиция, базового процесса структуры, который состоит из элементов: «Dobavit nomer», «Udalit nomer», «Poisk dannih o nomere», «Redaktirovanie dannih o nomere».

PhpMyAdmin

Рисунок 2.13- Декомпозиция базового процесса структуры в нотации IDEF0 «Rabota s nomer ami».

 

На рис. 2.14 – представлен основной элемент структуры, определены входы, выходы, управление механизмами работы гостиницы.

Рисунок 2.14- Базовый элемент структуры

 

На рис.2.15 - произведена декомпозиция, базового процесса структуры, который состоит из элементов: «Rabota s nomerami», «Rabota s gostiami», «Rabota s bronirovaniem».

PhpMyAdmin

Рисунок 2.15- Декомпозиция базового процесса структуры в нотации IDEF0

 

На рис.2.16 - произведена декомпозиция, базового процесса структуры, который состоит из элементов: «Oformit bronirovanie», «Sniatie broni», «Prodlenie broni».

PhpMyAdmin

Рисунок 2.16- Декомпозиция базового процесса структуры в нотации IDEF0 «Rabota s bronirovaniem».

 

2.2.5 Разработка диаграмм деятельности

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

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

На основе описания функциональной модели информационно – справочной системы гостиницы «Нью-Йорк», а так же описания основных прецедентов можно построить UML-диаграмму вариантов использования информационно – справочной системы гостиницы «Нью-Йорк».

 

На Рис. 2.18 приведена UML-диаграмма прецедента «Авторизация»

 

Рисунок 2.18 – UML-диаграмма прецедента «Авторизация»

 

На Рис. 2.19 приведена UML-диаграмма прецедента «Бронирование номера»

 

Рисунок 2.19 – UML-диаграмма прецедента «Бронирование номера»

 

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

 

Рисунок 2.20 – UML-диаграмма прецедента «Получить список свободных номеров»

 


 

На рис.  2.21 изображена диаграмма деятельности информационно-справочной системы гостиницы «Изменить данные о клиенте».

 

 

Рисунок 2.22 – UML-диаграмма прецедента «Изменить данные о клиенте»

 


 

На рис. 2.24 изображена диаграмма деятельности информационно-справочной системы гостиницы «Регистрация номера на клиента».

 

Рисунок 2.24 – UML-диаграмма прецедента «Регистрация номера на клиента»

 

На основании собранных требований, построенных UML – диаграммах прецедента и вариантов использования. Была составлена карта сайта информационно – справочной системы гостиницы «Нью-Йорк» с использованием графического Web – интерфейса.

На Рис.2.25 изображена карта сайта информационно – справочной системы гостиницы «Нью-Йорк».

 

Рисунок 2.25 - Карта сайта информационно – справочной системы гостиницы «Нью-Йорк».


2.3  Выделение сущностей и определение их атрибутов

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

Таблица 2.2- Сущности

Имя Определение
1 Guests (Гости) Список гостей, проживающих в гостинице, и сведения о них.
2 Rooms (Номера) Список номеров и данные о них.
3 Categories_of_Guests Категории гостей (Постоянные/новые гости)
4 Categories_of_Rooms Описание номеров гостиницы по категориям (Люкс, Полулюкс, Эконом класс, Стандарт)
5 Booking Заполнение формы бронирования, с возможностью оплаты/предоплаты.
6 Registration Регистрация гостя дляя последдующей операции бронирования и оплаты номера.
7 Information_of_Rooms(шахматка) Список свободных/забронированых номеров.
8 Fotogallerie Фотогалерея, которая демонстрирует внешний вид каждого номера.

 

После определения сущностей предметной области были определены  атрибуты к сущностям. В табл. 2.3 приведены выбранные сущности с определенными для них атрибутами.

 

Таблица 2.3 –Атрибуты к сущностям

Сущности

Атрибуты

Registration(Регистрация) FIO; Check_in_date; Check_out_date; Room_N;   Categories_of_Room
Booking(Бронирование) Check_in_date; Check_out_date; FIO; Time_of_check_in; Time_of_check_out; Kol_Vzrosl; Kol_Det; Form_of_pay; Food
Guests (Гости) ID_Guest; FIO; Tel_number; ID_Categor_of_guest; Login; Password; e-mail
Room(Номер) Room_N; Categories_of_Room; Check_in_date; Check_out_date; Information_of_pay; Kol_Vzrosl; Kol_Det; Food

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

Information of Rooms(Информация о номерах) «Шахматка» Room_N; Categories_of_Room; Check_in_date; Check_out_date;
Categories of Guest (Категории гостей) ID_Guest; Categories_of_Room;
Categories of Room(Категории номеров) Categories_of_Room; Room_N; Kol_Vzrosl; Kol_Det;

2.4 Выделение связей между сущностями.

2.4.1  Связь один к одному.

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

В разрабатываемом ПО нет связей один к одному между таблицами.

2.4.2 Связь один ко многим.

В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью.

Все связи между сущностями в данном ПО – это связи один ко многим. Они делятся на идентифицирующие и неидентифицирующие.

Идентифицирующие:

- Таблицы «Guests» – «Registration»:

Каждая запись по предоставлению номера может быть лишь для одного гостя, в то время как один гость может брать номера множество раз (создается много записей о предоставлении номера для одного гостя).

- Таблицы «Rooms» – «Registration»:

Для каждого номера существует единый инвентарный номер в гостиничном фонде. Но каждый номер из гостиничного фонда может предоставляться множество раз.

Неидентифицирующие:

- Таблицы «Categories_of_Guests» – «Guests»:

Каждый гость может состоять только в одной категории гостей. В каждой категории может находиться множество гостей.

- Таблицы «Categories_of_Rooms» – «Rooms»:

Каждому номеру соответствует лиш одна категория номеров, одной категории номеров относится множество номеров.

- Таблицы «Booking» – «Guests»:

Один гость может быть зарегистрирован на несколько номеров, но номер может быть зарегистрирован только на одного гостя.

- Таблицы «Registration» – «Booking»:

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

2.4.3 Связь много ко многим.

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

В разрабатываемом ПО нет связей много ко многим между таблицами.

2.4.4 Транзитивная связь.

В разрабатываемом ПО нет связей между таблицами.

2.5 Построение ER- диаграммы

 

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

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

На этапе концептуального проектирования БД необходимо на основе проведенного анализа требований к ПО информационно-справочного web-сайта гостиницы построить модель «сущность-связь» (ER-модель). 

На рис. 2.26 представлена концептуальная модель информационно-справочной системы гостиницы.

 

Рисунок 2.26 – концептуальная модель информационно-справочной системы гостиницы.

2.6   Разработка алгоритмов клиентской части программного обеспечения информационно-справочной системы гостиницы

 

Основным в процессе разработки программного обеспечения является разработка алгоритма. Алгоритм – это совокупность определённых правил или действий, которая через определённое число шагов приводит к искомому результату.

Алгоритм удовлетворяет следующим основным свойствам [13]:

- конечность (дискретность) команд и выполняемых по ним действий алгоритма;

- выполнимость в определенной операционной среде (в определенном классе исполнителей);

- применимость алгоритма ко всем возможным входным данным конкретного класса задач;

- формализованное, конструктивное описание (представление) команд алгоритма;

- непротиворечивость любых команд алгоритма на любом наборе входных данных.

2.6.1 Разработка алгоритмов работы web-приложения

2.6.1.1  Описание алгоритмов работы web-приложения

Рассмотрим основные алгоритмы работы программного обеспечения информационно-справочного сайта гостиницы:

- общий алгоритм работы web-приложения;

- алгоритм регистрации пользователя;

- алгоритм авторизации пользователя;

- алгоритм бронирования номера..

2.6.1.2 Разработка общего алгоритма работы веб-приложения

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

2.6.1.3 Разработка алгоритма регистрации пользователя

Во время регистрации пользователя выполняются следующие действия:

- ввод личных данных пользователя;

- проверка введённых данных на корректность;

- проверка доступности логина;

- регистрация.

На рисунке 2.28 приведена блок-схема алгоритма регистрации пользователя.

2.6.1.4 Разработка алгоритма авторизации пользователя

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

­ ввод данных пользователя;

­ проверка введённых данных на корректность;

­ соединение с базой данных;

­ проверка прав доступа.

На рисунке 2.29 приведена блок-схема алгоритма авторизации пользователя.

2.6.1.5 Разработка алгоритма бронирования

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

­ выбор определенных критериев номера;

­ ввод данных для добавления;

- проверка корректности введённых данных;

- соединение с БД;

- занесение данных в БД.


 

На рисунке 2.27 приведена блок-схема общего алгоритма работы программного обеспечения.

Начало
Зарегист-рирован

 

 


Регистрация
                        нет                                        

Конец
Рисунок 2.27 – Блок-схема общего алгоритма работы ПО «Информационно-справочного web-сайта гостиницы»  
Автори зация
Администратор
Выбор действия
да
Загрузка главной страницы
Брониро-вание
Выбор действия
Изменение данных
Удаление данных
Просмотр информации
Добавление данных
нет
да
нет
да
нет
да

На рисунке 2.28 приведена блок-схема алгоритма регистрации работы программного обеспечения.

Начало
Ввод регистрационных данных
Ввод регистрационных данных
нет
нет
да
да
Конец
Данные введены правильно
Занесение информации о новом пользователе
Ввод регистрационных данных
Данные введены правильно

 

 


Рисунок 2.28– Блок-схема алгоритма регистрации работы программного обеспечения «Информационно-справочного web-сайта гостиницы»

 

 

На рисунке 2.29 приведена блок-схема алгоритма авторизации работы программного обеспечения.

Начало
Конец
Данные введены правильно
Авторизация пользователя
Ввод логина и пароля
Неверно введены данные
Данный пользователь не существует
Пользователь существует
нет
да
да
нет

 


Рисунок 2.29 – Блок-схема алгоритма авторизации работы программного обеспечения «Информационно-справочного сайта гостиницы»

 

На рисунке 2.30 приведена блок-схема алгоритма бронирования программного обеспечения.

52
да
да
нет
Не все поля заполнены
Все поля заполнены
Данные введены не верно
Данные введены верно
Проверка данных на корректность
Отображение формы для заполнения личных данных
Все поля заполнены
нет
нет
Не все поля заполнены
Начало
Выбор определенных критериев номера

Посылка запроса на довавление
Соединение с БД
51

 


Соединение успешно
нет

Занесение данных в БД
Запись существует в БД
Провеерка данных на существование
Такая запись не существует
Отсутствие соединения с БД
Возврат

да


 

 

нет


 

да

 

 


 

 

да
Рисунок 2.30 – Блок-схема алгоритма бронирования программного обеспечения «Информационно-справочного сайта гостиницы»

2.7  Обоснование выбора языка программирования и инструментальной среды реализации клиентской части программного обеспечения информационно-справочной системы гостиницы

2.7.1 Выбор инструментальных средств для реализации базы данных

Критерии выбора СУБД для трехуровневой архитектуры клиент-сервер программного обеспечения информационно-справочного web-сайта гостиницы:

­ мобильность;

­ распределенность;

­ сетевые возможности;

­ многоязыковая поддержка;

­ возможности разработки Web-приложений;

­ восстановление после сбоев;

­ резервное копирование;

­ поддерживаемые аппаратные платформы;

­ минимальные требования к оборудованию;

­ локализованность;

Таким образом, при выборе критериев приведенных выше для разработки клиентской части программного обеспечения была выбрана инструментальная среда PhpMyAdmin.

2.7.2 Выбор инструментальных средств для реализации клиентской части ПО

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

­ высокая производительность;

­ низкая стоимость;

­ простота изучения и использования;

­ переносимость;

­ надежность;

­ предоставлять средства разработки приложений для операционной системы Windows.

Среди доступных средств разработки, которые предоставляют эти возможности, можно выделить 3 наиболее часто используемых: PHP, С#, Java.

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

­ Скорость разработки (5).

­ Требования к вычислительным ресурсам (5).

­ Предоставляемые возможности (4).

­ Скорость работы готового ПО (3).

­ Легкость инсталяции разработанного программного обеспечения (3).

­ Удобство эксплуатации (3).

В круглых скобках указана важность данной характеристики.

Решение поставленной задачи выбора программного обеспечения методом вариантных сетей Фуксмана показано в таблице 2.4.

 

Таблица 2.4 – Сравнение средств разработки клиентской части ПО

Средство разработки

Характеристика

Сумма
  1 (10) 2 (6) 3 (10) 4 (8) 5 (5)  
PHP 10 5 9 9 3 43
Microsoft Visual C# 8 5 10 7 2 37
Java 4 5 8 7 2 31

        

В результате проведённого исследования получили, что подходящим инструментальным средством для разработки в данном случае является PHP.

 

2.8  Детальное проектирование методов и классов клиентской части программного обеспечения информационно-справочного web-сайта гостиницы «Нью-Йорк»

На этапе детального проектирования проведем анализ классов клиентской части программного обеспечения информационно-справочного web-сайта гостиницы.

Были разработаны следующие основные классы:

– MainPage.php- Главная страница web-сайта «Нью-Йорк», где можно ознайомиться с информацие о гостинице;

– PageRegistration.php-Страница регистрации, которая позволяет зарегистрироваться новому пользователю;

– PageBooking.php- Страница бронирования номера, где пользователь заполняет предоставленную форму с информацией о себе и критериями эелаемого номера;

– PageAuthorization.php-Страница авторизации пользователя;

– PageUslugi.php,-Страница с информацией об услугах, предоставляемых гостиницей «Нью-Йорк»;

– PageNomera.php-Страница с информацией о номерах и фотогалерея, после чего можно забронировать выбранный номер;

– PageAdmin.php-Страница администратора, которая предоставляет работу с БД.

(Описание классов смотрите в приложении Б. PHP-код web-сайта гостиницы)

 


Выводы по разделу 2

 

    В данном разделе выпускной работы было выполнено проектирование и реализация клиентской части информационно-справочной системы гостиницы.

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

   Разработаны UML – диаграммы для программного обеспечения, такие как:

- диаграммы компонентов;

- диаграммы последовательности;

- диаграммы кооперации;

- диаграмма прецедента.

Был обоснован выбор средств для построения алгоритмов функционирования программного обеспечения «Информационно-справочный web-сайт гостиницы».

Выбран способ построения алгоритмов – блок-схема.

Разработан и описан общий укрупнённый алгоритм работы программного обеспечения «Информационно-справочный web-сайта гостиницы».

.


3 ВВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННО СПРАВОЧНОГО WEB-САЙТА ГОСТИНИЦЫ

3.1  Планы тестирования

3.1.1 План автономного тестирования

3.1.1.1 Тестируемые элементы

Автономному тестированию подлежат следующие классы: MainPage.php, PageRegistration.php, PageBooking.php, PageLink.php, PageAuthorization.php, PageUslugi.php, PageNomera.php, PageAdmin.php.

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

Таблица 3.5 - Входные данные и ожидаемый результат для методов, выполняемых классами программного обеспечения

№ тес-та Тестируемый класс Описание входных данных Входные данные

Ожидаемый результат

1 Page-Registration.php 1 Заполнение пользователем формы регистрации (ФИО, email, логин, пароль). 2 Нажатие на кнопку «Зарегистрировать». Данные пользователя (ФИО, email, логин, пароль)

Занесение личных данных пользователя в БД

 

2

PageAuthorization.php

1 Ввод логина и пароля. 2 Нажатие на кнопку «Войти»: - пользователь; - администратор; Логин, пароль

- получение доступа к редактированию и просмотру своей информации;

- получение доступа к просмотру информации.

-  пользователь не найден в БД.     - выдача сообщения о том, что пользователь не зарегистрирован.  

3

MainPage.php

1 Главная страница     Информация о гостинице Информация о гостинице  
2 Выбор пункта меню «Выход» Ссылка на страницу «Авторизация» Загрузка страницы «Авторизация»  

 


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

№ тес-та Тестируемый класс Описание входных данных Входные данные Ожидаемый результат
4 PageBooking.php 1 Выбор определенных критериев номера 2 Выбор ссылки «Назад» Ссылка бронирования Ссылка главной страницы Вывод страницы бронирование с формой заполнения Загрузка главной страницы

5

PageLink.php

1 Выбор конкретной ссылки Ссылки страниц Вывод списка ссылок
2 Выбор ссылки «Назад» Ссылка главной страницы Загрузка главной страницы

6

PageUslugi.php

1 Выбор конкретной ссылки     Список услуг гостиницы Вывод списка услуг гостиницы
2 Выбор ссылки «Назад»   Ссылка главной страницы Загрузка главной страницы

7

PageNomera.php

1 Выбор конкретной ссылки     Информация о номерах Вывод информации о номерах гостиницы
2Выбор ссылки «Назад»     Ссылка главной страницы Загрузка главной страницы

 

3.1.1.2 Подход

Автономное тестирование выполняет разработчик программного обеспечения Пасека Ксения Владимировна.

Средства тестирования: инструментальная PHP, HTML, MySQL, браузер Google Chrome.

3.1.1.3 Критерии адекватного тестирования модулей

Критерии адекватного тестирования модулей приведены в графе “Ожидаемый результат” таблицы 3.5.

3.1.1.4 Задачи тестирования

Задачей автономного тестирования является контроль логики каждого отдельного классов и методов.

3.1.1.5 Необходимое оборудование

Для проведения автономного тестирования необходимо наличие процессора типа Pentium III 800 Мгц, оперативная память 512 Mb, жесткий диск емкостью 60 Gb.

3.1.1.6 Риск и непредвиденные обстоятельства

Обработку исключительных ситуаций выполняет операционная система.

3.2  Спецификация тестирования

3.2.1 Спецификация комплекта тестов

3.2.1.1 Тестируемые функции

Тестированию подлежат следующие функции выполняемые программным обеспечением:

­ регистрация;

­ авторизация;

­ вывод главной страницы;

­ вывод страницы с галереей номеров;

­ вывод страницы бронирования;

3.2.1.2 Подход

Анализ выполнения web-приложением всех функций производится визуально.

Описания и критерии прохождения тестов будут приведены в таблице 3.6.

Таблица 3.6 - Описание и критерии прохождения тестов

Тест Описание теста Критерий прохождения теста

Регистрация

Загружается окно регистрации с полями ФИО, email, Логин, Пароль, кнопкой «Зарегистрировать» Появление регистрационного окна
При нажатии на кнопку «Зарегистрировать» данные пользователя заносятся в БД Занесение данных пользователя в БД

Авторизация

Загружается окно авторизации с полями Логин, Пароль, кнопкой «Войти» Появления окна авторизации
При нажатии на кнопку «Войти» загружается главная страница сайта Появление страницы администратора – в случае, если введены логин и пароль администратора. Появление главной страницы – в случае зарегистрированного пользователя

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

Тест Описание теста Критерий прохождения теста
Выбор вкладки галерея номеров При нажатии на вкладку «Галерея номеров», загружается страница со списком номеров Появление страницы со списком номеров с изображением
Бронирование номера При нажатии на вкладку бронирования, загружается страница с формой заполнения персональных данных Появление страницы с формой заполнения персональных данных

3.2.2 Спецификация автономного тестирования

3.2.2.1 Тестируемые элементы

Данный тест предназначен для тестирования классов: MainPage.php, PageRegistration.php, PageBooking.php, PageLink.php, PageAuthorization.php, PageUslugi.php, PageNomera.php, PageAdmin.php.

3.2.2.2 Спецификация ввода

Входные данные для автономных тестов представлены в таблице 3.7.

 

Таблица 3.7 - Входные данные для автономных тестов

Тестируемый класс № теста Входные данные

PageRegistration.php

1 Не все поля заполнены
2 Логин состоит не только из латинских букв и/или цифр
3 Пароль состоит не только из латинских букв и/или цифр
4 Пароль состоит меньше чем из пяти символов
5 Пользователь уже существует

PageAuthorization.php

1 Не указано значение поля «Логин»
2 Не указано значение поля «Пароль»
3 Логин состоит не только из латинских букв и/или цифр
4 Пароль состоит не только из латинских букв и/или цифр
5 Пароль состоит меньше чем из трёх символов
6 Пользователь не существует
MainPage.php 1 Главная страница не загрузилась
PageBooking.php 1 Данный номер уже забронирован в БД
PageLink.php 1 Cтраница не загрузилась
PageUslugi.php 1 Cтраница не загрузилась
PageNomera.php 1 Cтраница не загрузилась

3.2.2.3 Спецификация вывода

Все возможные выходные сообщения для автономного тестирования совпадают с сообщениями для системного тестирования и представлены в таблице 3.7.

3.2.2.4 Необходимые ресурсы

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

Средства тестирования: инструментальная среда PHP, HTML, MySQL.

3.2.3 Спецификация интеграционного тестирования

3.2.3.1 Тестируемые элементы

Данный тест предназначен для тестировании следующих классов: MainPage.php, PageRegistration.php, PageBooking.php, PageLink.php, PageAuthorization.php, PageUslugi.php, PageNomera.php, PageAdmin.php.

3.2.3.2 Спецификация ввода

Входные данные для интеграционных тестов представлены в таблице 3.8.

 

Таблица 3.8 – Входные данные для интеграционных тестов

№ теста Выбранная операция Входные данные
1 Добавление записи Не все поля формы добавления заполнены
2 Редактирование записи Не все поля формы редактирования заполнены
3 Удаление записи Нет выбранной записи для удаления
4 Регистрация Не все поля заполнены
5 Регистрация Логин состоит не только из латинских букв и/или цифр
6 Регистрация Пароль состоит не только из латинских букв и/или цифр
7 Регистрация Пароль состоит меньше чем из пяти символов
8 Регистрация Пользователь уже существует
9 Авторизация Не указано значение поля «Логин»
10 Авторизация Не указано значение поля «Пароль»
11 Авторизация Логин состоит не только из латинских букв и/или цифр
15 Авторизация Пароль состоит не только из латинских букв и/или цифр
16 Авторизация Пароль состоит меньше чем из трёх символов
17 Авторизация Пользователь не существует

3.2.3.3 Спецификация вывода

Все возможные выходные сообщения для интеграционного тестирования совпадают с сообщениями для системного тестирования и представлены в таблице 3.8.

3.2.3.4 Необходимые ресурсы

Средства тестирования: инструментальная среда PHP, HTML, MySQL.

3.3 Проведение испытаний

3.3.1 Спецификации процедуры автономного тестирования

3.3.1.1 Назначение

Автономное тестирование позволяет произвести контроль логики каждого отдельного класса.

3.3.1.2 Выполнение автономного тестирования

Т.к. в web-приложении есть механизм наследования, то имеет значения очередность тестирования классов.

3.3.1.3 Тестирование классов web-приложения

Результаты автономного тестирования класса PageRegistration.php представлены в таблице 3.12.

Таблица 3.12 - Результаты автономного тестирования класса PageRegistration.php

 

№ тес-та Входные данные Ожидаемый результат Полученный результат Время
1 Нажатие на кнопку «Зарегистрировать», заполнены не все поля При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Не все поля заполнены» Сообщение об ошибке 1 сек.
2 Нажатие на кнопку «Зарегистрировать», пользователь уже существует При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Пользователь уже существует» Сообщение об ошибке 1 сек.
3 Нажатие на кнопку «Зарегистрировать», логин состоит не только из латинских букв и цифр При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Логин должен состоять только из латинских букв и/или цифр» Сообщение об ошибке 1 сек.
4 Нажатие на кнопку «Зарегистрировать», пароль состоит меньше чем из 3-х символов При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Пароль должен состоять минимум из 3-х символов» Сообщение об ошибке 1 сек.
5 Нажатие на кнопку «Зарегистрировать», заполнены все поля При нажатии на кнопку «Зарегистрировать» данные пользователя заносятся в БД Данные пользователя заносятся в БД 1 сек.

 


 

Результаты автономного тестирования класса PageAuthorization.php и MainPage.php представлены в таблице 3.13.

 

Таблица 3.13 - Результаты автономного тестирования класса PageAuthorization.php, MainPage.php

 

№ тес-та Входные данные

Ожидаемый результат

Получен-ный результат

Время

 
1 Нажатие на кнопку «Войти», поля логин и пароль заполнены, пользователь существует

При нажатии на кнопку «Войти», загружается главная форма web-приложения

Главная форма web-приложе-ния загрузи-лась

1 сек.

 
2 Нажатие на кнопку «Войти», пользователь не существует

При нажатии на кнопку «Войти» выдается сообщение об ошибке «Пользователь не существует»

Сообщение об ошибке

1 сек.

3 Нажатие на кнопку «Войти», поле «Логин» не заполнено При нажатии на кнопку «Войти» выдается сообщение об ошибке входа в систему «Поле Логин не заполнено»

Главная форма web-приложе-ния загру-зилось

1 сек.      

4 Нажатие на кнопку «Войти», поле «Пароль» не заполнено При нажатии на кнопку «Войти» выдается сообщение об ошибке «Поле Пароль не заполнено»

Главная форма web-приложе-ния загру-зилось

1 сек.

5 Нажатие на кнопку «Войти», логин состоит не только из латинских букв и/или цифр При нажатии на кнопку «Войти» выдается сообщение об ошибке «Логин должен состоять только из латинских букв и/или цифр»

Сообщение об ошибке

1 сек.

6 Нажатие на кнопку «Войти», пароль состоит меньше чем из 3-х символов При нажатии на кнопку «Войти» выдается сообщение об ошибке «Пароль должен состоять минимум из 3-х символов»

Сообщение об ошибке

1 сек.

                 

Результаты автономного тестирования классов PageAuthorization.php, MainPage.php представлены в таблице 3.14.

 

Таблица 3.14 - Результаты автономного тестирования классов PageBooking.php, PageLink.php, PageNomera.php, PageUslugi.php

 

№ теста Входные данные Ожидаемый результат Получен-ный результат Время
1 Нажатие на ссылку «На главную» При нажатии на ссылку «На главную» загружается главная страница сайта Главная страница загрузилась 1 сек.
2 Нажатие на ссылку конкретного номера При нажатии на ссылку конкретного номера загружается страница с изображением и данными о номере Страница с информацией о данном номере загрузилась 1 сек.
3 Нажатие на ссылку «Услуги» При нажатии на ссылку загружается страница со списком услуг гостиницы Страница списка услуг загрузилась 1 сек.
4 Нажатие на ссылку «Гости» При нажатии на ссылку загружается страница с информацией о гостях гостиницы Страница с данными загрузилась 1 сек.
5 Нажатие на ссылку «Ссылки» При нажатии на ссылку загружается страница со списком ссылок Страница ссылок загрузилась 1 сек.
6 Нажатие на ссылку «Назад» При нажатии на ссылку «Назад» загружается предыдущая страница Предыдущая страница загрузилась 1 сек.

3.3.1.4 Итоговый отчет автономного тестирования

В ходе автономного тестирования тестировались логика классов.

Тестирование осуществлялось в инструментальной среде PhpMyAdmin.

Тестирование проходило в соответствии с разработанным тестовым планом. Проведен 21 тест. В процессе тестирования выявлено 5 ошибок. Процедура тестирования полностью соответствовала описанной спецификации автономного тестирования. Все классы протестированы на максимальных и минимальных объёмах данных.

Время выполнения каждой операции не превышало время, указанное в соглашении по производительности в плане системного тестирования.

Выявленная ошибка устранена.

3.3.2 Спецификация процедуры интеграционного тестирования

3.3.2.1 Назначение

Интеграционное тестирование контролирует взаимодействие между всеми модулями программы.

3.3.2.2 Выполнение интеграционного тестирования

Выполнение интеграционного тестирования классов приведено в таблице 3.15.

 

Таблица 3.15 - Результаты выполнения интеграционного тестирования классов

№ тес-та Входные данные Ожидаемый результат Получен-ный результат Время
1 Добавление записи в БД, все поля заполнены При нажатии на кнопку «Добавить» запись заносится в БД Запись добавлена в БД 1 сек.
2 Добавление записи в БД, не все поля заполнены При нажатии на кнопку «Добавить» выдача сообщения «Не все поля заполнены» Сообщение об ошибке 1 сек.
3 Редактирование записи в БД, все поля заполнены При нажатии на кнопку «Редактировать» запись изменяется в БД Запись изменена 1 сек.
4 Редактирование записи в БД, не все поля заполнены При нажатии на кнопку «Редактировать» выдача сообщения «Не все поля заполнены» Сообщение об ошибке 1 сек.
5 Удаление записи из БД, запись выбрана При нажатии на кнопку «Удалить» запись удаляется из БД Запись удалена из БД 1 сек.
6 Удаление записи из БД, запись не выбрана При нажатии на кнопку «Удалить» выдача сообщения «Запись не выбрана» Сообщение об ошибке 1 сек.
7 Нажатие на кнопку «Зарегистрировать», заполнены не все поля При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Не все поля заполнены» Сообщение об ошибке 1 сек.
8 Нажатие на кнопку «Зарегистрировать», пользователь уже существует При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Пользователь уже существует» Сообщение об ошибке 1 сек.
9 Нажатие на кнопку «Зарегистрировать», пароль состоит не только из латинских букв и/или цифр При нажатии на кнопку «Зарегистрировать» выдается сообщение об ошибке «Пароль должен состоять только из латинских букв и/или цифр» Сообщение об ошибке 1 сек.
10 Нажатие на кнопку «Зарегистрировать», заполнены все поля При нажатии на кнопку «Зарегистрировать» данные пользователя заносятся в БД Данные пользователя заносятся в БД 1 сек.
11 Нажатие на кнопку «Войти», поля логин и пароль заполнены, пользователь существует При нажатии на кнопку «Войти», загружается главная форма web-приложения Главная форма web-приложения загрузилась 1 сек.

 

 

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

№ тес-та Входные данные Ожидаемый результат Получен-ный результат Время
12 Нажатие на кнопку «Войти», введены логин и пароль администратора При нажатии на кнопку «Войти», загружается страница администратора Страница адми-нистратора загрузилась 1 сек.
13 Нажатие на кнопку «Войти», поля логин и пароль заполнены, пользователь не существует При нажатии на кнопку «Войти» выдается сообщение об ошибке «Пользователь не зарегистрирован» Сообщение об ошибке 1 сек.
14 Нажатие на кнопку «Войти», поле логин не заполнено При нажатии на кнопку «Войти» выдается сообщение об ошибке входа в систему «Поле Логин не заполнено» Сообщение об ошибке 1 сек.
15 Нажатие на кнопку «Войти», поле Пароль не заполнено При нажатии на кнопку «Войти» выдается сообщение об ошибке входа в систему «Поле Пароль не заполнено» Сообщение об ошибке 1 сек.
16 Нажатие на ссылку «Номера» При нажатии на ссылку «Номера» загружается страница со списком групп Страница со списком контактов загрузилась 2 сек.
17 Нажатие на ссылку конкретно о номере При нажатии на ссылку конкретного номера загружается страница с информацией о номере Страница с информацией о данном номере загрузилась 1 сек.

3.3.2.3 Итоговый отчет интеграционного тестирования

В ходе интеграционного тестирования осуществлялось тестирование взаимодействия между классами.

Тестирование осуществлялось в инструментальной среде PhpMyAdmin.

В процессе тестирования ошибок не выявлено.

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

Время выполнения каждой операции не превышало время, указанное в соглашении по производительности в плане системного тестирования.

Выводы по разделу 3

 

В этом разделе для тестирования программного обеспечения были разработаны планы интеграционного и автономного тестирований.

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

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

В ходе выполнения автономного тестирования осуществлялась проверка логики работы каждого из 7-ти классов программного обеспечения. Проведен 17 тест. Тестирование проводилось на максимальных и минимальных объёмах данных.

В ходе выполнения интеграционного тестирования осуществлялась проверка взаимодействия между 7-ю классами. Проведено 23 теста. Проконтролированы все возможные варианты сопряжения модулей.

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

Все экранные формы работы программного обеспечения приведены в
приложении В.


 

























Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: