Details

Title: Разработка инструментов мокирования Feature Toggle и внешнего API для автоматизированных тестов на платформе Android: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators: Дюрдева Дарья Сергеевна
Scientific adviser: Маслаков Алексей Павлович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint: Санкт-Петербург, 2024
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: Android; MockWebServer; feature toggle; тестовые дублеры; мокирование; test double; mocking
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2024/vr/vr24-3019
Rights: Доступ по паролю из сети Интернет (чтение)
Additionally: New arrival
Record key: ru\spstu\vkr\30402

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Разработка инструмен-тов мокирования Feature Toggle и внешнего API для автоматизированных тестов на платформе Android». Целью работы является разработка нового подхода для работы с feature toggle в инструментальных Android тестах портала «Одноклассники», а так-же рассмотрение возможности интеграции инструмента мокирования внешнего API с учетом специфики проекта и оценка его эффективности. В данной работе был произведен анализ существующих инструментов для мокирования внешнего API в автотестах, приведено обоснование выбо-ра используемой библиотеки, сделанного с учетом специфики приложения, а также были сформулированы требования к новому подходу мокирования feature toggle, на основе текущих проблем. В ходе выполнения работы были реализованы аннотации позволяю-щие управлять значением feature toggle из автотестов. Также на основе су-ществующих форматов записи конфигурации значения feature toggle и ар-хитектуры взаимодействия приложения с PMS, был реализован алгоритм позволяющий проводить аудит, с целью актуализации используемых в ав-тотестах значений feature toggle и зависящих от них тестовых сценариев. Была произведена базовая настройка мок-сервера и написаны первые тесто-вые сценарии с его использованием. Отдельное внимание было уделено оценке эффективности использования мокирования внешнего API. Результатом работы стал усовершенствованный способ мокирования feature toggle в автотестах, а также поддержка возможности писать автоте-сты с использованием мокирования внешнего API.

The topic of the final qualifying work: «Development of Feature Toggle and external API mocking tools for automated tests on the Android Platform». The goal of the work is to develop a new approach for working with feature toggles in instrumental Android tests for the «Odnoklassniki» portal, as well as to consider the possibility of integrating an external API mocking tool considering the projects specifics and evaluating its effectiveness. The paper includes an analysis of existing tools for mocking external APIs in automated tests, justification for the choice of the library used, considering the applications specifics. It also formulates requirements for a new feature toggle mocking approach based on current issues. During the project implementation, annotations were implemented to man-age feature toggle values from automated tests. An algorithm was developed based on existing configuration value formats for feature toggles and the applications interaction architecture with PMS to conduct an audit to update the values of fea-ture toggles used in automated tests and their dependent test scenarios. Basic setup of a mock server was performed, and initial test scenarios were written using it. Special attention was given to evaluating the effectiveness of using external API mocking. The outcome of the work was an improved method of mocking feature tog-gles in automated tests and support for writing tests using external API mocking.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read
Internet Authorized users SPbPU Read
-> Internet Anonymous

Table of Contents

  • РЕФЕРАТ
  • СОДЕРЖАНИЕ
  • ВВЕДЕНИЕ
  • ГЛАВА 1. ОБЗОР И СРАВНЕНИЕ СУЩЕСТВУЮЩИХ РЕШЕНИЙ
    • 1.1. Изучение тестовых дублеров
    • 1.2. Обзор существующих инструментов мокирования внешнего API
    • 1.3. Выявление существующих проблем в текущем подходе работы с feature toggle
    • 1.2. Требования к новому подходу работы с feature toggle
  • ГЛАВА 2. ОБОСНОВАНИЕ ВЫБОРА ТЕХНОЛОГИЙ И СРЕДСТВ РАЗРАБОТКИ
    • 2.1. Язык программирования
    • 2.2. Система контроля версий и репозиторий
    • 2.3. Система сборки проекта
    • 2.4. Фреймворк для тестирования
    • 2.5. СI/CD сервер
    • 2.6. Инструмент для мокирования внешнего API
  • ГЛАВА 3. ПРОЕКТИРОВАНИЕ И АРХИТЕКТУРА
    • 3.1. Архитектура работы Android приложения с PMS
    • 3.2. Архитектура тестового окружения
    • 3.3. Архитектура работы тестов с MockWebServer
  • ГЛАВА 4. РЕАЛИЗАЦИЯ НОВОГО ПОДХОДА РАБОТЫ С FEATURE TOGGLE
    • 4.1. Реализация способов переопределения значений feature toggle в автотестах
    • 4.2. Чтение значений feature toggle
    • 4.3. Организация процесса аудита используемых в тестах feature toggle
  • ГЛАВА 5. НАСТРОЙКА МОК-СЕРВЕРА
    • 5.1. Конфигурация MockWebServer
    • 5.2. Утилитный код
    • В тестах достаточно в before методе создать заглушки для всех необходимых запросов и вызвать метод mockResponses (см. листинг 15).
  • ГЛАВА 6. РЕЗУЛЬТАТЫ РАБОТЫ
    • 6.1. Переход на новый подход работы с feature toggle
    • 6.2. Оценка эффективности использования мокирования внешнего API в тестах
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics