Програмна платформа автоматизованого тестування веб-сервісів

Автор: Костів Назар Андрійович
Кваліфікаційний рівень: магістр
Спеціальність: Комп'ютерні системи та мережі
Інститут: Інститут комп'ютерних технологій, автоматики та метрології
Форма навчання: денна
Навчальний рік: 2020-2021 н.р.
Мова захисту: українська
Анотація: В магістерській кваліфікаційній роботі спроектовано та розроблено програмну платформу автоматизованого тестування веб-сервісів, в тому числі забезпечено можливість застосування набору скриптів тестових сценаріїв та генерування звітів про результати автоматизованого тестування. Тестування ПЗ є одним з основних частин життєвого циклу ПЗ та процесу контролю якості, оскільки дозволяє перевірити і оцінити відповідність роз- робленого ПЗ до вимог його документації та функціональності. В першому розділі проаналізовано проблему автоматизації тестування веб- сервісів, досліджено типи та види тестування, їх переваги та недоліки. Оглянуто проблему автоматизованого тестування, проаналізовані способи оцінки ефективності автоматизованого тестування, оглянуто програмні засоби та технології автоматизованого тестування. У другому розділі обґрунтовано обраний напрямок проектування, що базується на параметризованому підході до автоматизованого тестування. Третій розділ присвячено проектуванню програмної платформи автоматизованого тестування веб-сервісів, розглянуто основну функціональність програмної платформи, наведено структуру програмної платформи та алгоритм її роботи, розглянуто організацію файлової структури проекту. Алгоритм роботи програмної платформи складається з наступних кроків: завантаження тестових даних – крок підключення до джерела даних, отримання та опрацювання даних; вибір конфігурації – крок вибору браузера, розширення 5 та інших параметрів; вибір чи використовувати браузер – для певних сценаріїв браузер не є необхідним, тому його створення є надлишковим; запуск браузера – крок створення екземпляру драйверу та його налаштування; запис відео та скріншотів – початкова точка коли починають запис відео та створення скріншотів під час проходження тесту; проходження тесту – крок виконання тесту згідно тестового випадку(test case); закриття процесів та підключень – зупинення процесів та підключень що більше не є необхідними після виконання тесту; опрацювання помилки – етап обробки помилки та додавання інформації що пішло не так до звіту; видалення логів – крок при успішному виконанні тесту, коли відео, скріншоти, є непотрібними і їх непотрібно опрацьовувати; публікація звіту – крок опрацювання та надсилання звіту про тест чи набір тестів на опрацювання інженеру, що містить в собі повну інформацію про виконання тесту. Четвертий розділ присвячено розробці програмної платформи автоматизованого тестування веб-сервісів, зокрема наведено опис застосування програмної технології Selenium WebDriver для реалізації програмної платформи, наведено опис розробленої діаграми класів програмної платформи, наведено опис реалізації основних класів та методів, розглянуто обробку даних для тестування та створення кроків виконання сценаріїв тестування веб-сервісу. П’ятий розділ присвячено дослідженню, тестуванню та налагодженню роботи програмної платформи. В шостому розділі наведено економічне обґрунтування розробленого рішення. Об’єкт дослідження – автоматизоване тестування веб-сервісів Предмет дослідження – програмна платформа для автоматизованого тестування веб-сервісів. Мета дослідження: Розробити програмну платформу для автоматизованого тестування веб-сервісів, що буде ефективнішою за аналоги. 6 Ключові слова - тестування, тестування веб-сервісів, автоматизоване тестування, платформа. Перелік використаних літературних джерел. 1. Pierre Audoin Consultants (PAC), "Software testing spends to hit Euro 100bn by 2014” 2014. 2. Alan Page, Ken Johnston, Bj Rollison (2009) How We Test Softwre at Mi-crosoft 3. Garousi, V., & Elberzhager, F. (2017). Test Automation: Not Just for Test Execution. IEEE Software, 34(2), 90- 96. 4. Implementing Automated Software Testing [Електронний ресурс] Режим доступу: http://methodsandtools.com/archive/archive.php?id=94. 5. Whittaker J.A. How to Break Web Software: Functional and Security Testing of Web Applications and Web Services/ M. Andrews, J. A. Whittaker // Addison-Wesley Professional, – 2006. –219p. 6. M. Polo, P. Reales, M. Piattini, and C. Ebert, ‘Test automation’, IEEE Softw., vol. 30, no. 1, pp. 84–89, 2013 7. Selenium [Електронний ресурс]: Режим доступу: https://www.selenium.dev/ 8. Костів Н. А. Розробка фреймворку для автоматизованого тестування WEB-сервісів [Електронний ресурс] // Сучасний стан та перспективи розвитку комп’ютерних систем та мереж : матеріали щорічного семінару магістрів кафедри Електронні обчислювальні машини, Львів, 7–9 жовтня 2020 р. – 2020. [н.к. - Бочкарьов О.Ю.]