Bu öğeden alıntı yapmak, öğeye bağlanmak için bu tanımlayıcıyı kullanınız: http://elartu.tntu.edu.ua/handle/lib/43169
Tüm üstveri kaydı
Dublin Core AlanıDeğerDil
dc.contributor.advisorКоноваленко, Ігор Володимирович-
dc.contributor.advisorKonovalenko, Ihor-
dc.contributor.authorКовтко, Андрій Михайлович-
dc.contributor.authorЛещук, Назар Володимирович-
dc.contributor.authorKovtko, Andrii-
dc.contributor.authorLeshchuk, Nazar-
dc.date.accessioned2023-12-29T15:55:41Z-
dc.date.available2023-12-29T15:55:41Z-
dc.date.issued2023-12-29-
dc.date.submitted2023-12-20-
dc.identifier.citationКовтко А.М., Лещук Н.В., Розробка і аналіз системи автоматизованого тестування програмних продуктів з використанням javascript (комплексна тема). : кваліфікаційна робота магістра за спеціальністю «151 — Автоматизація та комп’ютерно-інтегровані технології» / А.М. Ковтко, Н.В. Лещук. – Тернопіль: ТНТУ, 2023. – 129 с.uk_UA
dc.identifier.urihttp://elartu.tntu.edu.ua/handle/lib/43169-
dc.descriptionРобота виконана на кафедрі автоматизації технологічних процесів і виробництв факультету прикладних інформаційних технологій та електроінженерії Тернопільського національного технічного університету імені Івана Пулюя Міністерства освіти і науки України. Захист відбудеться «29» грудня 2023р. о 9.00год. на засіданні екзаменаційної комісії №22 у Тернопільському національному технічному університеті імені Івана Пулюя.uk_UA
dc.description.abstractДана магістерська кваліфікаційна стосується розробки засобів автоматизованого тестування програмного забезпечення для підвищення його ефективності, економії часу, ресурсів і витрат. В даній роботі проаналізовано аналоги платформ тестування програмного забезпечення, визначено їх функціональні можливості. Розглянуто різні сучасні інструменти автоматизованого тестування програмного забезпечення. Розроблено програмне забезпечення для автоматизованого тестування веб-сайтів за допомогою двох типів тестування, – UI & API та API тестування. Окремо розроблено архітектуру автоматизованого фреймворку. Для тестування UI частини нашого веб-сайту, було використано інструмент Playwright, для API тестування вибрано інструмент SuperTest. Для запуску тестів використовуємо Jest приєднаними відповідними бібліотеками, котрі додаємо до package.json. Розроблено систему збору аналітичних даних по результатам проведених тестувань. Для цього використані тестові репорти двох типи тестів UI i API і для цього використовуються різні інструменти. Для API це окрема бібліотека яка на основі Jest_runner, котра агрегує дані і генерує репорт. Для UI тестування інструмент Playwright має хороший вбудований репорт. Для зручності додано ще один репорт – Allure, котрий агрерує всі дані і формує один загальний репорт. Досліджено ефективність інструментів автоматичного тестування з використанням автоматичної генерації тестових даних, що має важливе значення для підтримки модульного тестування. У кваліфікаційній роботі проведено порівняння добре відомих загальнодоступні інструменти генерації даних модульного тестування, – TestGen4j , JCrasher та JUB. Їх застосували до класів Java та оцінили ефективність на основі шкали значень їхніх мутації.uk_UA
dc.description.abstractThis master's qualification concerns the development of automated software testing tools to increase its efficiency, save time, resources and costs. In this paper, analogues of software testing platforms are analyzed, and their functionality is determined. Various modern automated software testing tools are considered. Developed software for automated website testing using two types of testing, UI & API and API testing. The architecture of the automated framework was developed separately. For testing the UI part of our website, the Playwright tool was used, and for the API testing, the SuperTest tool was chosen. To run the tests, we use Jest with the appropriate libraries attached, which we add to package.json. A system for collecting analytical data based on the results of the tests has been developed. For this, test reports of two types of UI and API tests are used and various tools are used for this. For the API, this is a separate library based on Jest_runner, which aggregates data and generates a report. For UI testing, the Playwright tool has a nice built-in report. For convenience, one more report has been added - Allure, which aggregates all data and forms one general report. The effectiveness of automatic testing tools using automatic generation of test data, which is important to support unit testing, is investigated. In the qualification work, a comparison of well-known publicly available data generation tools for unit testing, TestGen4j, JCrasher and JUB, was made. They were applied to Java classes and evaluated for performance based on a scale of their mutation values.uk_UA
dc.description.tableofcontentsАНОТАЦІЯ 3 ABSTRACT 4 ЗМІСТ 5 ВСТУП 11 1 АНАЛІТИЧНА ЧАСТИНА 14 1.1 Інструменти автоматизованого тестування програмного забезпечення 14 1.3 Огляд автоматизованих інструментів тестування (з основними функціями) 16 1.3.1 Платформа Katalon 16 1.3.2 Фреймворк Selenium 18 1.3.3 Інструмент автоматизації тестування програмного забезпечення Appium 19 1.3.4 Функціональне тестування інтерфейсу TestComplete 19 1.3.5 Система тестування програмного забезпечення Cypress. 20 1.3.6 Автоматизоване тестування GUI для веб-додатків Ranorex Studio 21 1.3.7 Хмарна платформа автоматизованого тестування Perfecto 22 1.3.8 Хмарна платформа автоматизованого тестування LambdaTest 23 1.3.9 Інструмент автоматизованого тестування API Postman 23 1.3.10 Інструмент тестування API SoapUI 24 1.3.11 Інструмент автоматизації тестування GUI Eggplant, Eggplant Functional 25 1.3.12 Комплексний інструмент автоматизації для веб-тестування Tricentis Tosca 25 1.3.13 Інструмент автоматизованого тестування продуктивності 26 1.3.14 Платформа автоматизації тестування програмного забезпечення Robot Framework 27 1.3.15 Автоматизований інструмент візуального тестування Applitools 28 2 НАУКОВО-ДОСЛІДНА ЧАСТИНА 30 Порівняння інструментів автоматизованої генерації тестів на рівні модуля 30 2.1 Вибір інструментів автоматизованої генерації тестів 31 2.2 Розробка інструментів експериментального дослідження 32 2.3 Суб’єкти та інструменти модульного тестування 33 2.4 Додаткові набори тестів 34 2.5 Перевірка Java класів. 34 2.6 Інструмент тестування мутацій MuJava 35 2.7 Порівняльне експериментальне дослідження інструментів JCrasher, TestGen4J, JUB. 36 2.8 Загрози достовірності результатів 37 3 ТЕХНОЛОГІЧНА ЧАСТИНА 50 3.1 Тестування програмного забезпечення – загальний огляд 50 3.2 Підтримка та покращення якості програмної продукції 51 3.3 Види тестування ПЗ 52 3.4 Підходи до тестування ПЗ 53 3.5 Життєвий цикл тестування програмного забезпечення 54 3.5.1. Аналіз вимог. 54 3.5.2. Планування тестування 55 3.5.3. Розробка тестового випадку 56 3.5.5. Виконання тесту 58 3.5.6. Закриття випробувального циклу 58 3.6 Популярні моделі тестування програмного забезпечення 58 3.6.1. V-модель 59 3.6.2. Тестова модель піраміди 59 3.6.3. Стільникова модель 60 3.8 Порівняння автоматизованого тестування проти ручного 62 4 ПРОЕКТНА ЧАСТИНА 65 4.1 Автоматизоване тестування веб-сайту 65 4.1.1. Стратегія тестування: 65 4.1.2. Підхід до написання автоматизованих тестів: 66 4.1.3. API тестування: 66 4.1.4. Ручне API тестування: 67 4.1.5. Автоматизоване API тестування: 68 4.1.6. Переваги автоматизованого API тестування: 69 4.1.7. Процес тестування API: 70 4.1.8. Реалізація API тестування: 70 4.1.9. Реалізація UI тестування: 74 4.2 Архітектура автоматизованого фреймворку 76 4.2.1. Написання тестів 77 4.2.2. Процес написання тестів: 78 4.2.3. Тестові Layers (шари): 78 4.3 CI/CD + репортинг 79 4.3.1.Тестові репорти: 79 4.3.2. CI/CD: 79 5 СПЕЦІАЛЬНА ЧАСТИНА 82 5.1 Фреймворк для тестування JavaScript Jest. 82 5.1.1. Синтаксис та низький поріг вхідного бар'єру. 82 5.1.2. Автоматичне визначення тестових файлів. 82 5.1.3. Можливості мокування та підробки (Mocking). 82 5.1.4. Розширена підтримка асинхронного коду. 83 5.1.5. Зручний інтерфейс виведення результатів. 83 5.1.6. Сприяння тестам з великим обсягом даних. 84 5.1.7. Підтримка Snapshot-Тестування. 84 5.1.8. Підтримка таймерів. 84 5.1.9. Розширюваність та плагіни. 84 5.1.10. Підтримка серверного та клієнтського коду. 85 5.1.11. Параметризовані тести: 85 5.1.12. Тайм-аути та Retry. 85 5.1.13. Глобальні функції beforeAll, afterAll, beforeEach, afterEach. 85 5.1.14. Тестування Async/await. 86 5.1.15. Динамічні Тести. 86 5.1.16. Виведення покриття коду. 86 5.1.17. Вбудований інтерфейс тестування React. 87 5.2 Детальний розбір бібліотеки SuperTest. 88 5.2.1. Синтаксис та інтеграція. 88 5.2.2. Підтримка різних HTTP-методів. 88 5.2.3. Перевірка заголовків та тіла відповіді. 88 5.2.4. Можливість використання Cookies та Сесій. 89 5.2.5. Асинхронна підтримка. 89 5.2.6. Підтримка JSON та форм-даних. 89 5.2.7. Виведення тестових запитів. 90 5.2.8. Легка інтеграція з іншими фреймворками тестування. 90 5.2.9. Підтримка таймаутів та повторів. 90 5.2.10. Організація тестових середовищ. 91 5.2.11. Підтримка організації тестових сценаріїв. 91 5.2.12. Виведення деталей запиту та відповіді. 91 5.2.13. Використання Promise та Async/await. 92 5.2.14. Підтримка тестового збільшення навантаження. 92 5.2.15. Розширюваність та плагіни. 92 5.3 Детальний розбір Playwright. 93 5.3.1. Багатофункціональність. 93 5.3.2. Підтримка різних браузерів. 93 5.3.3. Асинхронна підтримка та Promise API. 94 5.3.4. Робота з багатьма сторінками, мультиплікація. 94 5.3.5. Засоби для тестування продуктивності. 94 5.3.6. Обробка подій та введення користувача. 95 5.3.7. Взаємодія з фреймами та IFrames. 95 5.3.8. Тестування мобільних веб-додатків. 95 5.3.9. Синхронізація та очікування умов. 95 5.3.10. Скріншоти та відеозаписи тестів:. 96 5.3.11. Інтеграція з іншими інструментами. 96 5.3.12. Обмеження та підтримка конфігурацій. 96 5.3.13. Відлагодження та інспектор браузера. 97 5.3.14. Сценарії тестування інтерактивності. 97 5.3.15. Мови та підтримка тестування на віддалених серверах. 97 5.3.16. Взаємодія з локальним сервером та мокованими даними. 98 5.3.17. Підтримка регулярних виразів для селекторів. 98 5.3.18. Підтримка темниць та робота з Cookies. 98 5.4 Установка Jest. 99 5.5 Запуск тестування Jest. 100 5.6 Установка Playwright. 107 6 ОХОРОНА ПРАЦІ 109 6.1 Визначення оптимальних умов праці інженера-оператора системи мікроклімату 109 6.2 Розрахунок освітленості робочого місця 113 7 БЕЗПЕКА В НАДЗВИЧАЙНИХ СИТУАЦІЯХ 117 7.1 Основні вражаючі фактори ядерних вибухів, їхні параметри і наслідки впливу на людей 117 7.2 Методи захисту та безпека підприємств промисловості, відновлення інженерно-технічного комплексу цеху (заводу) 120 7.3 Висновки розділу 121 ВИСНОВОК 124 ПЕРЕЛІК ПОСИЛАНЬ 127uk_UA
dc.format.extent1-129-
dc.language.isoukuk_UA
dc.publisherТернопільський національний технічний університет ім. І. Пулюя, Факультет прикладних інформаційних технологій та електроінженерії, Кафедра автоматизації технологічних процесів і виробництвuk_UA
dc.subject151uk_UA
dc.subjectавтоматизація та комп’ютерно-інтегровані технологіїuk_UA
dc.subjectавтоматизаціяuk_UA
dc.subjectтестуванняuk_UA
dc.subjectпрограмне забезпеченняuk_UA
dc.subjectаналізuk_UA
dc.subjectгенерація тестових данихuk_UA
dc.subjectjavascriptuk_UA
dc.subjectякість програмного забезпеченняuk_UA
dc.subjectвимогиuk_UA
dc.subjectautomationuk_UA
dc.subjecttestinguk_UA
dc.subjectsoftwareuk_UA
dc.subjectanalysisuk_UA
dc.subjecttest data generationuk_UA
dc.subjectsoftware qualityuk_UA
dc.subjectrequirementsuk_UA
dc.titleРозробка і аналіз системи автоматизованого тестування програмних продуктів з використанням javascript (комплексна тема)uk_UA
dc.title.alternativeDevelopment and analysis of the system of automated testing of software products using javascript (complex topic)uk_UA
dc.typeMaster Thesisuk_UA
dc.rights.holder© Ковтко Андрій Михайлович, Лещук Назар Володимирович, 2023uk_UA
dc.contributor.committeeMemberЧихіра, Ігор Вікторович-
dc.contributor.committeeMemberChykhira, Ihor-
dc.coverage.placenameТернопільський національний технічний університет ім. І. Пулюя, Факультет прикладних інформаційних технологій та електроінженерії, Кафедра автоматизації технологічних процесів і виробництв.uk_UA
dc.subject.udc681.5uk_UA
thesis.degree.grantorЕК №22, 2023 р.-
dc.relation.referencesen1. Apache Jena. A free and open source Java framework for building Semantic Web and Linked Data applications.URL: https://jena.apache.org/index.html.uk_UA
dc.relation.referencesen2. Baader F. The Description Logic Handbook: Theory, Implementation, Applications / F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi, P.F. Patel- Schneider. Cambridge, 2003. 574 P.uk_UA
dc.relation.referencesen3. Bacon Jono. Reviews: Qt. A multi-platform graphical toolkit. 2004. URL: http://preserve.mactech.com/articles/mactech/Vol.20/20.03/QtReview/index.htmluk_UA
dc.relation.referencesen4. Belshe M., Peon R., Thomson M. Hypertext Transfer Protocol version 2. 2015. URL: https://tools.ietf.org/html/draft-ietf-httpbis-http2-17uk_UA
dc.relation.referencesen5. Blomqvist E., Hammar K., Presutti V. Engineering Ontologies with Patterns: The eXtreme Design Methodology, In Ontology Engineering with Ontology Design Patterns. Studies on the Semantic Web, Eds., Hitzler, P., and A. Gangemi, K. Janowicz, A. Krisnadhi, V. Presutti, IOS Press, pp: 23-50, 2016.uk_UA
dc.relation.referencesen6. Crockford D. The application/json Media Type for JavaScript Object Notation (JSON) — Internet Engineering Task Force, 2006. — 10 p.uk_UA
dc.relation.referencesen7. FreeMind – free mind mapping software – URL: http://freemind.sourceforge.net/wiki/index.php/Main_Page .uk_UA
dc.relation.referencesen8. Fuseki: serving RDF data over HTTP. – URL: http://jena.apache.org/documentation/serving_data/uk_UA
dc.relation.referencesen9. Gudgin M., Hadley M., Mendelsohn N., Moreau J.-J., Nielsen H.F., Karmarkar A., Lafon Y. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition). URL:uk_UA
dc.relation.referencesen10. jColibri: CBR Framework jColibri 2.1 Tutorial. URL: http://gaia.fdi.ucm.es/research/colibri/uk_UA
dc.relation.referencesen11. Protocol Buffers. Developer Guide — // Google Developers, April 2, 2012. URL: https://developers.google.com/protocol-buffers/docs/overviewuk_UA
dc.relation.referencesen12. Tagliaferri Lisa. An Introduction to JSON, 2016 URL: https://www.digitalocean.com/community/tutorials/an-introduction-to-jsonuk_UA
dc.relation.referencesen13. Paul Ammann and Jeff Offutt. Introduction to Soft- ware Testing. Cambridge University Press, Cam- bridge, UK, 2008. ISBN 0-52188-038-1.uk_UA
dc.relation.referencesen14. Automated QA. Testcomplete. Online, 2008. http://www.automatedqa.com/ products/ testcomplete.uk_UA
dc.relation.referencesen15. Christoph Csallner and Yannis Smaragdakis. JCrasher: An automatic robustness tester for Java. Software: Practice and Experience, 34:1025–1050, 2004.uk_UA
dc.relation.referencesen16. Parasoft. Jtest. Online, http://www.parasoft.com/jsp/products/home.jsp-product=Jtest .uk_UA
dc.relation.referencesen17. Riasat, Nazir, Zubair. (2021) “Critical Analysis of Software Testing Techniques and Automation Testing Tools. International Journal of Scientific and Engineering Research”. Volume: 12, Issue: 2. ISSN 2229-5518.uk_UA
dc.relation.referencesen18. Albert, Mark (2016-01-01), “Standard Tool Classification for better Data Communication”, Modern Machine Shop (ISSN 0026-8003).uk_UA
dc.relation.referencesen19. Dobslaw, R. Feldt, D. Michaelson, P. Haar, F. G. de Olivera Neto, R. Rorkar, (2019) “Estimating Return On Investment for GUI Test Automation Frameworks”. 1907.03475v2.uk_UA
dc.relation.referencesen20. Automated Testing. (n.d.). [Blog] Katalon Studio versus Selenium-based open source frameworks. Available at: https://www.katalon.com/resources-center/blog/katalon-studio-vs-selenium-based-open-source-frameworks.uk_UA
dc.relation.referencesen21. Проектування мікропроцесорних систем керування: навчальний посібник/ І.Р. Козбур, П.О. Марущак, В.Р. Медвідь, В.Б. Савків, В.П. Пісьціо.–Тернопіль: Вид-во ТНТУ імені Івана Пулюя, 2022.–324с.uk_UA
dc.relation.referencesen22. Я.І. Проць, В.Б. Савків,О.К. Шкодзінський, О.Л. Ляшук. Автоматизація виробничих процесів. Навчальний посібник для технічних спеціальностей вищих навчальних закладів. – Тернопіль: ТНТУ ім. І.Пулюя, 2011. – 344с.uk_UA
dc.relation.referencesen23. Основи наукових досліджень і теорія експерименту : Навчальний посібник / укл. Ю. Б. Капаціла, П. О. Марущак, В. Б. Савків, О. П. Шовкун. Тернопіль : ФОП Паляниця В.А., 2023. 186 с.». http://elartu.tntu.edu.ua/handle/lib/40843.uk_UA
dc.relation.referencesen24. Пилипець М. І. Правила заповнення основних форм технологічних документів : навч.-метод. посіб. / Уклад. Пилипець М. І., Ткаченко І. Г., Левкович М. Г., Васильків В. В., Радик Д. Л. Тернопіль : ТДТУ, 2009. 108 с. https://elartu.tntu.edu.ua/handle/lib/42995.uk_UA
dc.relation.referencesen25. Методичний посібник для здобувачів освітнього ступеня «магістр» всіх спеціальностей денної та заочної (дистанційної) форм навчання «Безпека в надзвичайних ситуаціях» / В.С. Стручок –Тернопіль: ФОП Паляниця В. А., –156 с. https://elartu.tntu.edu.ua/handle/lib/39196.uk_UA
dc.relation.referencesen26. Навчальний посібник «Техноекологія та цивільна безпека. Частина «Цивільна безпека»» / автор-укладач В.С. Стручок – Тернопіль: ФОП Паляниця В. А., – 156 с. http://elartu.tntu.edu.ua/handle/lib/39424uk_UA
dc.identifier.citationenKovtko A.M., Leshchuk N.V., Development and analysis of the system of automated testing of software products using javascript (complex topic). : master's qualification work in the specialty "151 – Automation and computer-integrated technologies" / A.M. Kovtko, N.V. Leshchuk – Ternopil: TNTU, 2023. – 129 p.uk_UA
dc.contributor.affiliationТернопільський національний технічний університет імені Івана Пулюяuk_UA
dc.contributor.affiliationФакультет прикладних інформаційних технологій та електроінженерії (ФПТ)uk_UA
dc.contributor.affiliationКафедра автоматизації технологічних процесів і виробництвuk_UA
dc.citation.epage129-
dc.coverage.countryUAuk_UA
Koleksiyonlarda Görünür:151 — автоматизація та комп’ютерно-інтегровані технології, 174 Автоматизація, комп’ютерно-інтегровані технології та робототехніка

Bu öğenin dosyaları:
Dosya Açıklama BoyutBiçim 
___Avtorska Ковтко Лещук.docАвторська довідка71 kBMicrosoft WordGöster/Aç
KRM Kovtko_AM Leshchuk_NV.pdfКваліфікаційна робота магістра4,51 MBAdobe PDFGöster/Aç


DSpace'deki bütün öğeler, aksi belirtilmedikçe, tüm hakları saklı tutulmak şartıyla telif hakkı ile korunmaktadır.

Yönetim Araçları