Розроблення комп’ютерної системи автоматизації розподілених програмних застосунків

dc.contributor.advisorШкарупило, Вадим Вікторович
dc.contributor.authorЮденко, Олександр Анатолійович
dc.date.accessioned2025-10-02T07:16:27Z
dc.date.issued2025
dc.description.abstractПояснювальна записка: 56 сторінок, 19 лістингів, 11 джерел Автоматизація тестування, розподілені застосунки, Jenkins, CI/CD, пайплайн, Docker, Python, програмне забезпечення, контроль якості. Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків Об’єкт аналізу – Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків. Мета роботи – Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків. Проект складається з чотирьох розділів. Проєкт складається з чотирьох розділів. У першому розділі проаналізовано вимоги до системи, здійснено огляд сучасних підходів до тестування розподілених застосунків, а також вивчено існуючі інструменти автоматизації. Другий розділ присвячено вибору архітектури, мови програмування, середовища виконання, а також обґрунтуванню вибору інструментів автоматизації, таких як Jenkins та Docker. У третьому розділі представлено реалізацію Jenkins-пайплайну для автоматичного запуску тестів, приклади налаштування середовища та програмного коду. Четвертий розділ містить опис практичного розгортання проєкту, створення сервісу на Python, приклади тестів та їх інтеграцію в процес CI/CD. Сучасні інформаційні технології швидко розвиваються, охоплюючи все більше сфер людської діяльності. Зокрема, дедалі більшого поширення набувають розподілені програмні застосунки, що функціонують у розподіленому середовищі, взаємодіючи через комп’ютерні мережі. До таких систем належать хмарні сервіси, мікросервісні архітектури, вебзастосунки, мобільні клієнти з серверною частиною тощо. Їхні переваги – масштабованість, надійність, гнучкість та висока продуктивність – забезпечують вирішення складних задач у режимі реального часу. Водночас складність розподілених систем створює значні виклики у процесі їх тестування. Однією з основних проблем у розробці розподілених застосунків є забезпечення якісного, всебічного та ефективного тестування. Це зумовлено наявністю великої кількості взаємодіючих компонентів, які можуть працювати на різних фізичних або віртуальних машинах, використовувати різні протоколи передачі даних та функціонувати в умовах змінного навантаження або непередбачуваних мережевих затримок. Ручне тестування в таких умовах виявляється недостатнім або надто затратним за часом і ресурсами. Тому актуальною задачею є автоматизація процесу тестування, яка дозволяє не лише знизити трудовитрати, а й підвищити достовірність, повторюваність та повноту перевірок. Сьогодні існує чимало інструментів і підходів до автоматизованого тестування, однак більшість із них зосереджені на класичних клієнт-серверних або монолітних архітектурах. Для розподілених застосунків виникає потреба у гнучких рішеннях, здатних імітувати паралельну взаємодію компонентів, враховувати враховувати мережеву топологію, обмеження пропускної здатності, помилки передачі тощо. Крім того, важливо мати можливість централізованого контролю за сценаріями тестування, ведення журналів, збору статистики та аналізу результатів у реальному часі. Враховуючи ці потреби, виникає необхідність у створенні спеціалізованих систем, які дозволяють автоматизувати повний цикл тестування розподілених програмних продуктів. Актуальність теми дипломної роботи полягає саме в тому, що вона орієнтована на створення комп’ютерної системи, яка забезпечує автоматизацію тестування розподілених застосунків із врахуванням вищезазначених викликів. Така система має забезпечувати: зручне визначення сценаріїв тестування, запуск багатьох екземплярів клієнтів або служб, моделювання типових ситуацій роботи мережі, логування помилок, збір метрик продуктивності тощо. Мета даної роботи – розробити комп’ютерну систему для автоматизації процесу тестування розподілених програмних застосунків, яка дає змогу скоротити час перевірки, покращити якість продукту, зменшити ризики помилок у продакшн-середовищі та підвищити загальну ефективність процесу розробки. Для досягнення мети передбачається вирішити такі завдання: - проаналізувати існуючі підходи та інструменти автоматизованого тестування розподілених систем; - визначити основні вимоги до функціоналу майбутньої системи; - спроєктувати архітектуру програмного засобу; - реалізувати функціональні модулі системи; - провести експериментальне тестування розробленого рішення; - оцінити ефективність запропонованого підходу. Об’єктом дослідження є процес автоматизації тестування розподілених програмних застосунків. Предметом дослідження є методи, засоби та архітектурні рішення, які забезпечують реалізацію такої автоматизації. Практичне значення роботи полягає у створенні програмного засобу, який може бути використаний у середовищі розробки для перевірки надійності, стабільності та продуктивності розподілених застосунків, зокрема на етапі інтеграційного та навантажувального тестування. Таким чином, тема дипломної роботи є актуальною, має практичне спрямування та сприяє розвитку методів забезпечення якості програмного забезпечення в умовах зростаючої складності сучасних розвитку.
dc.identifier.citationЮденко О.А. Розроблення комп’ютерної системи автоматизації розподілених програмних застосунків : дипломна робота … бакалавра : 123 Комп’ютерна інженерія . Київ, 2025. 57 с.
dc.identifier.urihttps://dglib.nubip.edu.ua/handle/123456789/12131
dc.language.isouk
dc.publisherНУБІП України
dc.subjectрозроблення комп’ютерної системи автоматизації
dc.subjectпрограмні застосунки
dc.subjectсучасні інформаційні технології
dc.subjectавтоматизація процесу тестування
dc.subjectdevelopment of a computer automation system
dc.subjectsoftware applications
dc.subjectmodern information technologies
dc.subjectautomation of the testing process
dc.titleРозроблення комп’ютерної системи автоматизації розподілених програмних застосунків
dc.typeThesis
thesis.degree.departamentКомп'ютерних систем, мереж та кібербезпеки
thesis.degree.grantorФакультет інформаційних технологій
thesis.degree.specialtyКомп’ютерна інженерія

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Yudenko_Bakalavrska_Rozroblennia_kompiuternoi_systemy.pdf
Size:
763.37 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description: