You are on page 1of 6

ТЕСТУВАННЯ

Тестування при максимальному навантаженні


Перевіряємо загальну стабільність системи.
Я тестувала серверну частину, адже вона вміщає у собі усі важливі функції
обробки даних. Для створення максимального навантаження було
відправлено на сервер 10000 запитів майже одночасно за допомогою
написаної мною JS програми, яка в циклі відправляє запити на отримання
усіх бронювань на конкретну дату. У результаті було отримано швидку
відповідь сервера на кожен із запитів (приблизно було витрачено по 0,2
секунді на кожен запит).

Тестування стабільності роботи при різних умовах


Це тестування включає в себе тестування застосунку у різних браузерах,
при низькому, середньому та максимальному навантаженні, а також при
різних значеннях якості інтернет-з’єднання.

Тестування інтерфейсу
Тестування на екранах різних розмірів (змінювала розміри вікна браузера).
АРХІТЕКТУРА

Основою для розробленого застосунку є клієнт-серверна архітектура. Її


сенс полягає в тому, що клієнт взаємодіє з сервером за допомогою HTTP
протоколу, а серверна частина – з сервером БД аналогічним способом.
Використано шаблон MVC, де View виступає клієнтською частиною –
вебсайтом, з яким взаємодіє користувач. А Controller та Model формують
основу для серверної частини та відповідають за обробку даних.

Модуль користувацького інтерфейсу – відповідає за вимальовування


користувацького інтерфейсу, тобто того, що бачить та з чим взаємодіє
юзер.
Модуль бізнес-логіки – відповідає за збереження даних вебсайту,
передавання їх та отримування від серверу.
Модуль навігації – відповідає за навігацію між сторінками.
Модуль часто використовуваних функцій – відповідає за зберігання
функцій, які використовуються у декількох частинах системи.

Модуль шляхів – відповідає за формування ендпоінтів серверу.


Модуль контролерів – відповідає за оброблення користувацьких даних, що
прийшли з клієнтської частини та виклик потрібної функції у якості
реакції на цей запит.

Модуль репозиторіїв – відповідає за обробку даних на сервері.


Модуль часто використовуваних функцій – відповідає за зберігання
функцій, які використовуються у декількох частинах системи.
Модуль моделей – відповідає за збереження моделей, які є відображенням
сутностей бази даних.
Модуль ОРМ – відповідає за взаємодією з сервером БД. ORM-інструмент
Sequelize, за допомогою якого виконуються запити на сервер бази даних.
Його перевага над використанням терміналу є надання базових функцій,
що дозволяють виконувати CRUD операції.
МОДУЛЬНА ЗАЛЕЖНІСТЬ

App – головний файл серверу. Він запускає попередньо сконфігурований


вебсервер.
Routes – відповідає за формування ендпоінтів серверу.
Controller – відповідає за оброблення користувацьких даних, що прийшли з
клієнтської частини та виклик потрібної функції у якості реакції на цей
запит.
Repositories – відповідає за обробку даних на сервері.
Utils – відповідає за зберігання функцій, які використовуються у декількох
частинах системи.
Models – відповідає за збереження моделей, які є відображенням сутностей
бази даних.
ДЕМО

Після успішної авторизації користувач потрапляє на головну сторінку. У


верхній панелі є декілька вкладок, Адмін панель доступна лише для
користувачів з відповідними правами.
На сторінці View availability розміщено таблицю завантаженості кімнат,
календар, фільтрація кімнат та інформація про те, яким кольором
позначаються бронювання доступних команд.
Таблиця завантаженості має 3 вигляди і складається з різної кількості
стовпців, залежно від того, який вигляд обрано. Станом на день
відображаються робочі години офісу, тиждень та місяць – дні. Як ви могли
помітити, різнокольорові позначки змінились лише на забарвлення
оранжевого та червоного кольорів. І вони дають зрозуміти, що на
конкретний день дана кімната зайнята повністю, часткого або вільна.
Використавши параметри фільтрації, користувач отримає лише ті кімнати,
які задовольняють його запити. Якщо таких кімнат не знайдеться,
користувач побачить про це відповідне повідомлення.
Якщо натиснути на чуже бронювання, користувач побачить клавішу, яка
направить його на поштовий агент зі створеною чернеткою повідомлення.
Якщо натиснути на власне бронювання – користувач зможе внести до
нього зміни або скасувати.
Щоб створити власне бронювання, користувачеві потрібно натиснути на
вільний проміжок часу. Тоді у полях для старт та енд тайм буде наведено
лише вільні часові проміжки. Саме у цьому місці застосовується алгоритм,
який був згаданий у презентації. При створенні, редагуванні або
скасуванні бронювання, усі члени запрошеної команди отримають
електронний лист про цю подію.

У вкладці My bookings розміщено бронювання, які створив користувач з


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

В панелі адміністратора можна налаштовувати робочі години офісу,


створювати поверхи та кімнати всередині них, обладнання кімнат, цілі
зустрічей, користувачів та команди.
Вона має не лише фреймворк для побудови вебсерверу, але й
великий вибір інших модулів та бібліотек, що дозволяють розробникам
використовувати вбудовані можливості мови і економити час на створення
подібних функцій. Що стосується наявності документації, то на просторах
Інтернету можна знайти велику кількість ресурсів для вивчення JavaScript,
що є досить важливою перевагою.
Дана бібліотека підтримує гнучкий компонентний підхід до архітектури,
який, у свою чергу, допомагає простіше будувати складні програми. Це
досягається завдяки розбиттю великої частини на декілька складових і
маніпулюванню цими елементами у різних місцях системи. Крім цього,
React.js має високу швидкість оновлення стану сторінки і рівень
продуктивності, оскільки використовує Virtual DOM. Що стосується коду,
то він є лаконічним і легким для читання.

атомарність, узгодженість, ізольованість та довговічність

You might also like