Програмне забезпечення для автоматичного тестування GUI на Android
dc.contributor.advisor | Фіногенов, Олексій Дмитрович | |
dc.contributor.author | Дубовик, Андрій Павлович | |
dc.date.accessioned | 2025-01-23T14:12:44Z | |
dc.date.available | 2025-01-23T14:12:44Z | |
dc.date.issued | 2024 | |
dc.description.abstract | Актуальність теми. Тестування є важливим етапом розробки програмного забезпечення та здійснюється або вручну або за допомогою спеціального програмного забезпечення. Проте ручне тестування зазвичай є довготривалим, вимагає виділення додаткового часу, тому актуальною задачею є дослідження та створення методів та засобів для автоматизації тестування. Графічний інтерфейс користувача є однією з найважливіших частин додатку, оскільки саме від нього залежить кінцеве ставлення користувача до програмного продукту. З часом технології, що використовуються для розробки інтерфейсів, втрачають актуальність, а їм на заміну приходять нові. В контексті розробки Android-додатків такою технологією є декларативна парадигма програмування, яка тепер застосовується для розробки інтерфейсів та мова програмування Kotlin. Актуальність цих досліджень полягає у тому, що існуючі інтегровані середовища та інструменти розробки не підтримують автоматичне генерування коду модульних тестів для GUI, розроблених за допомогою мови програмування Kotlin та нової парадигми, що унеможливлює використання цих інструментів під час проведення тестування, тож вимагає проектування нових засобів, що відповідали б вимогам сучасності. Мета досліджень. Розширення рамок використання інтегрованих середовищ розробки під Android шляхом підтримки автоматизованого генерування коду сценаріїв модульних тестів графічного інтерфейсу для декларативної парадигми, що дозволить зменшити час на розробку тестів. Для досягнення поставленої мети було сформовано наступні завдання: – дослідити наявні методи, алгоритми та підходи до побудови сценаріїв автоматизованого тестування графічного інтерфейсу користувача; – дослідити наявні рішення та засоби та виявити їх недоліки; – удосконалити методи та засоби генерування модульних тестів для досягнення максимального покриття коду, розширивши їх на підтримку декларативної парадигми; – провести проектування та розробити плагін до інтегрованого середовища розробки Android Studio для автоматичної генерації коду сценаріїв unit-тестів; – провести оцінку ефективності запропонованого рішення. Об’єкт досліджень. Програмне забезпечення для автоматичної генерації коду тестів GUI Android. Предмет досліджень. Процеси забезпечення якості програмного забезпечення. Методи досліджень. Емпіричні дослідження, системний аналіз, абстрагування, структурно-генетичний аналіз, розробка програмного забезпечення. Наукова новизна даної роботи полягає в удосконаленні методу створення сценаріїв автоматизованого тестування, що відрізняється від існуючих аналогів врахуванням всіх можливих викликів елементів інтерфейсу та комбінацій множин даних та наявністю підтримки автоматизованого генерування коду модульних тестів GUI, розробленого з використанням декларативної парадигми та фреймворку Jetpack Compose, чого раніше не було в середовищах розробки додатків під ОС Android. Практична новизна полягає у створенні плагіну модульного тестування для IDE Android Studio, що дає можливість збільшити покриття компоненту тестами та значно зекономити час розробників. | |
dc.description.abstractother | Relevance of the topic. Testing is an important stage of software development, and it is performed either manually or using the special software. However, manual testing is usually time-consuming and requires additional time, so it is an actual task to research and create methods and tools for automating testing. The graphical user interface is the crucial part of the application, since it determines the final attitude of the user to the software product. Over time the echnologies used to develop interfaces ose their relevance and are replaced by new ones. In the context of Android application development such technology is the declarative programming paradigm, which is now used for interface development along with the Kotlin programming language. The relevance of this research lies in the fact that existing IDEs and tools do not support the automatic generation of unit test code for GUIs, developed using the Kotlin and the new paradigm, which makes it impossible to use these tools during testing, so it requires the design of new tools that would meet the current requirements. Research objective. Expanding the scope of using IDEs for Android by supporting automated code generation of the GUI unit-tests for the declarative paradigm, which will reduce the time for tests development. The following tasks were formulated to achieve this research objective: - study the existing methods, algorithms and approaches to building automated testing scenarios for the graphical user interface; - study existing solutions and tools and identify their shortcomings; - improve the methods and tools for generating unit tests to achieve maximum code coverage by extending them to support the declarative; - design and develop a plugin for the IDE Android Studio for automatic code generation of unit test scenarios; - evaluate the effectiveness of the proposed solution. The object of research. Software for automatic generation of Android GUI test code. The subject of research. Software quality assurance processes. The scientific innovation of the obtained results lies in improvement of the automated testing scenarios creation method, that differs from existing analogues by taking into account all possible interface element events and combinations of data sets and by the availability of support for automated GUI unit test code generation, developed using the declarative paradigm and the Jetpack Compose framework, which was not previously available in Android application development environments. The practical innovation lies in the creation of a unit testing plugin for the Android Studio IDE, which allows testing and generating tests the declarative paradigm of GUI development of Android applications and makes it possible to increase the coverage of a component with tests and significantly save developers' time. | |
dc.format.extent | 105 с. | |
dc.identifier.citation | Дубовик, А. П. Програмне забезпечення для автоматичного тестування GUI на Android : магістерська дис. : 121 Інженерія програмного забезпечення / Дубовик Андрій Павлович. - Київ, 2024. - 105 с. | |
dc.identifier.uri | https://ela.kpi.ua/handle/123456789/72153 | |
dc.language.iso | uk | |
dc.publisher | КПІ ім. Ігоря Сікорського | |
dc.publisher.place | Київ | |
dc.subject | втоматизоване тестування | |
dc.subject | GUI | |
dc.subject | Android | |
dc.subject | Kotlin | |
dc.subject | Jetpack Compose | |
dc.subject | automated testing | |
dc.subject.udc | 004.434 | |
dc.title | Програмне забезпечення для автоматичного тестування GUI на Android | |
dc.title.alternative | Software for Automatic GUI Testing on Android | |
dc.type | Master Thesis |
Файли
Контейнер файлів
1 - 1 з 1
Вантажиться...
- Назва:
- Dubovyk_magistr.pdf
- Розмір:
- 2.53 MB
- Формат:
- Adobe Portable Document Format
Ліцензійна угода
1 - 1 з 1
Ескіз недоступний
- Назва:
- license.txt
- Розмір:
- 8.98 KB
- Формат:
- Item-specific license agreed upon to submission
- Опис: