Розроблення комп’ютерної системи автоматизації розподілених програмних застосунків
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
НУБІП України
Abstract
Пояснювальна записка: 56 сторінок, 19 лістингів, 11 джерел Автоматизація тестування, розподілені застосунки, Jenkins, CI/CD, пайплайн, Docker, Python, програмне забезпечення, контроль якості. Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків Об’єкт аналізу – Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків. Мета роботи – Розроблення комп’ютерної системи автоматизації процесу тестування розподілених програмних застосунків. Проект складається з чотирьох розділів. Проєкт складається з чотирьох розділів.
У першому розділі проаналізовано вимоги до системи, здійснено огляд сучасних підходів до тестування розподілених застосунків, а також вивчено існуючі інструменти автоматизації. Другий розділ присвячено вибору архітектури, мови програмування, середовища виконання, а також обґрунтуванню вибору інструментів автоматизації, таких як Jenkins та Docker. У третьому розділі представлено реалізацію Jenkins-пайплайну для автоматичного запуску тестів, приклади налаштування середовища та програмного коду. Четвертий розділ містить опис практичного розгортання проєкту, створення сервісу на Python, приклади тестів та їх інтеграцію в процес CI/CD. Сучасні інформаційні технології швидко розвиваються, охоплюючи все більше сфер людської діяльності. Зокрема, дедалі більшого поширення набувають розподілені програмні застосунки, що функціонують у розподіленому середовищі, взаємодіючи через комп’ютерні мережі. До таких систем належать хмарні сервіси, мікросервісні архітектури, вебзастосунки, мобільні клієнти з серверною частиною тощо. Їхні переваги – масштабованість, надійність, гнучкість та висока продуктивність – забезпечують вирішення складних задач у режимі реального часу. Водночас складність розподілених систем створює значні виклики у процесі їх тестування.
Однією з основних проблем у розробці розподілених застосунків є забезпечення якісного, всебічного та ефективного тестування. Це зумовлено наявністю великої кількості взаємодіючих компонентів, які можуть працювати на різних фізичних або віртуальних машинах, використовувати різні протоколи передачі даних та функціонувати в умовах змінного навантаження або непередбачуваних мережевих затримок. Ручне тестування в таких умовах виявляється недостатнім або надто затратним за часом і ресурсами. Тому актуальною задачею є автоматизація процесу тестування, яка дозволяє не лише знизити трудовитрати, а й підвищити достовірність, повторюваність та повноту перевірок. Сьогодні існує чимало інструментів і підходів до автоматизованого тестування, однак більшість із них зосереджені на класичних клієнт-серверних або монолітних архітектурах. Для розподілених застосунків виникає потреба у гнучких рішеннях, здатних імітувати паралельну взаємодію компонентів, враховувати враховувати мережеву топологію, обмеження пропускної здатності, помилки передачі тощо. Крім того, важливо мати можливість централізованого контролю за сценаріями тестування, ведення журналів, збору статистики та аналізу результатів у реальному часі. Враховуючи ці потреби, виникає необхідність у створенні спеціалізованих систем, які дозволяють автоматизувати повний цикл тестування розподілених програмних продуктів. Актуальність теми дипломної роботи полягає саме в тому, що вона орієнтована на створення комп’ютерної системи, яка забезпечує автоматизацію тестування розподілених застосунків із врахуванням вищезазначених викликів. Така система має забезпечувати: зручне визначення сценаріїв тестування, запуск багатьох екземплярів клієнтів або служб, моделювання типових ситуацій роботи мережі, логування помилок, збір метрик продуктивності тощо. Мета даної роботи – розробити комп’ютерну систему для автоматизації процесу тестування розподілених програмних застосунків, яка дає змогу скоротити час перевірки, покращити якість продукту, зменшити ризики помилок у продакшн-середовищі та підвищити загальну ефективність процесу розробки. Для досягнення мети передбачається вирішити такі завдання: - проаналізувати існуючі підходи та інструменти автоматизованого тестування розподілених систем; - визначити основні вимоги до функціоналу майбутньої системи; - спроєктувати архітектуру програмного засобу; - реалізувати функціональні модулі системи; - провести експериментальне тестування розробленого рішення; - оцінити ефективність запропонованого підходу. Об’єктом дослідження є процес автоматизації тестування розподілених програмних застосунків. Предметом дослідження є методи, засоби та архітектурні рішення, які забезпечують реалізацію такої автоматизації. Практичне значення роботи полягає у створенні програмного засобу, який може бути використаний у середовищі розробки для перевірки надійності, стабільності та продуктивності розподілених застосунків, зокрема на етапі інтеграційного та навантажувального тестування. Таким чином, тема дипломної роботи є актуальною, має практичне спрямування та сприяє розвитку методів забезпечення якості програмного забезпечення в умовах зростаючої складності сучасних розвитку.
Description
Keywords
розроблення комп’ютерної системи автоматизації, програмні застосунки, сучасні інформаційні технології, автоматизація процесу тестування, development of a computer automation system, software applications, modern information technologies, automation of the testing process
Citation
Юденко О.А. Розроблення комп’ютерної системи автоматизації розподілених програмних застосунків : дипломна робота … бакалавра : 123 Комп’ютерна інженерія . Київ, 2025. 57 с.