Сегодня скидка на заказ ВКР 25%. Пишите в ТГ @Diplomit
Корзина (0)---------

Корзина

Ваша корзина пуста

Корзина (0)---------

Корзина

Ваша корзина пуста

Каталог товаров
Наши фото
2
3
1
4
5
6
7
8
9
10
11
информационная модель в виде ER-диаграммы в нотации Чена
Информационная модель в виде описания логической модели базы данных
Информациооная модель в виде описания движения потоков информации и документов (стандарт МФПУ)
Информациооная модель в виде описания движения потоков информации и документов (стандарт МФПУ)2
G
Twitter
FB
VK
lv
🔥 Последний день скидки 25% на заказ ВКР! 🔥✈️Написать в ТГ
⚡️ АКЦИИ НА ВКР ⚡️
🗓️ Раннее бронирование
Скидка 30% при заказе от 3 месяцев
📅 Выбрать
⚡ Срочный заказ
Без наценки! Срок от 2 дней
Заказать
👥 Групповая скидка
25% при заказе от 2 ВКР
👥 Участвовать

Анализ и генерация тестов для мобильных программных продуктов в компании Яндекс

Диплом на тему Анализ и генерация тестов для мобильных программных продуктов в компании Яндекс

Нужна работа по этой теме для НИТУ МИСИС?
Получите консультацию по структуре и требованиям за 10 минут!

Telegram: @Diplomit
Телефон/WhatsApp: +7 (987) 915-99-32
Email: admin@diplom-it.ru

Оформите заказ онлайн: Заказать ВКР для МИСИС

Стандартная структура ВКР магистра НИТУ МИСИС по направлению 09.04.02: пошаговый разбор

Написание магистерской диссертации по теме анализа и генерации тестов для мобильных приложений крупнейшей российской технологической компании — это проект, сочетающий глубокое понимание методологии тестирования мобильных приложений, современных подходов к автоматизации тестирования и применения машинного обучения для повышения эффективности процесса качества. Для темы «Анализ и генерация тестов для мобильных программных продуктов в компании Яндекс» характерна высокая степень научной новизны и прикладной значимости: необходимо не просто применить существующие инструменты автоматизации, а разработать методику интеллектуальной генерации тестовых сценариев на основе анализа пользовательского поведения и статистики использования приложений, а также систему приоритизации тестов с применением алгоритмов машинного обучения для повышения покрытия критичных сценариев и выявления дефектов на ранних этапах разработки. Согласно требованиям НИТУ МИСИС, объем работы составляет около 75 страниц, однако за этим формальным показателем скрывается значительный объем исследовательской и программной деятельности: анализ 14 мобильных приложений Яндекса (Яндекс.Карты, Яндекс.Такси, Яндекс.Музыка и др.), выявление 23 типов дефектов, характерных для мобильных платформ, разработка методики генерации тестов с применением алгоритмов кластеризации пользовательских сценариев и анализа покрытия кода, проектирование архитектуры системы автоматической генерации тестов с интеграцией в CI/CD-процесс Яндекса, программная реализация прототипа системы на Python с использованием библиотек машинного обучения (scikit-learn, TensorFlow), интеграция с инструментами автоматизации (Appium, Espresso, XCTest), тестирование на 32 устройствах и эмуляторах, апробация системы при генерации тестов для 3 мобильных приложений Яндекса с количественной оценкой эффективности. Критически важными являются требования к оригинальности (минимум 75% в «Антиплагиат.ВУЗ»), прохождение нормоконтроля по внутренним шаблонам кафедры «Магистерская школа Информационных бизнес систем» и обязательная публикация результатов в издании, индексируемом РИНЦ. В данной статье мы детально разберем официальную структуру ВКР магистра НИТУ МИСИС, приведем конкретные примеры для темы анализа и генерации тестов для мобильных приложений Яндекса, а также покажем реальный объем трудозатрат. Это поможет вам принять взвешенное решение: посвятить 200+ часов самостоятельной разработке системы тестирования или доверить работу экспертам, знающим специфику требований МИСИС.

Введение

Объяснение: Введение представляет собой автореферат всей работы. Согласно методическим указаниям НИТУ МИСИС, здесь необходимо обосновать актуальность темы через экономические потери от недостаточного тестирования мобильных приложений в условиях высокой конкуренции и требований к качеству, сформулировать цель и задачи, определить объект (процесс тестирования мобильных приложений) и предмет (методы анализа и генерации тестов), раскрыть научную и прикладную новизну, а также практическую значимость с привязкой к компании Яндекс. Объем — 3-4 страницы (5% от общего объема).

Пошаговая инструкция:

  1. Проанализируйте статистику по качеству мобильных приложений в РФ (данные App Annie, аналитических отчетов за 2023-2024 гг.).
  2. Сформулируйте актуальность через экономические потери: в компании Яндекс ежемесячно выпускается 42 обновления мобильных приложений, при этом ручное тестирование покрывает лишь 38% критичных сценариев, среднее время обнаружения критического дефекта после релиза составляет 14.7 часов, 23% пользователей устанавливают приложение с оценкой ниже 4.0 из-за дефектов, что приводит к годовым потерям 1.84 млрд рублей от оттока пользователей, снижения монетизации и затрат на экстренные исправления.
  3. Определите цель: «Повышение качества и эффективности тестирования мобильных приложений компании Яндекс за счет разработки и внедрения системы интеллектуальной генерации тестовых сценариев на основе анализа пользовательского поведения и статистики использования с применением алгоритмов машинного обучения».
  4. Разбейте цель на 4-5 задач: анализ существующих методов тестирования мобильных приложений и выявление ограничений для условий Яндекса, разработка методики генерации тестовых сценариев на основе кластеризации пользовательских сценариев и анализа покрытия кода, проектирование архитектуры системы автоматической генерации тестов с интеграцией в CI/CD-процесс, программная реализация прототипа системы и интеграция с инструментами автоматизации (Appium, Espresso, XCTest), апробация системы и оценка экономической эффективности.
  5. Четко разделите объект (процесс тестирования 14 мобильных приложений Яндекса) и предмет (методы и средства анализа и генерации тестовых сценариев для мобильных приложений).
  6. Сформулируйте научную новизну (методика генерации тестовых сценариев на основе гибридного подхода с комбинацией кластеризации пользовательских сценариев и анализа покрытия кода с применением алгоритмов машинного обучения для приоритизации тестов) и прикладную новизну (архитектура системы автоматической генерации тестов с интеграцией в CI/CD-процесс Яндекса и поддержкой кроссплатформенного тестирования).
  7. Опишите практическую значимость: повышение покрытия критичных сценариев с 38% до 89%, сокращение времени обнаружения критических дефектов после релиза с 14.7 до 2.3 часа (-84.3%), снижение количества дефектов в релизах на 67%, достижение годового экономического эффекта 1.52 млрд рублей при сроке окупаемости 3.6 месяца.
  8. Укажите связь с публикацией в журнале «Программные продукты и системы» (РИНЦ).

Конкретный пример для темы «Анализ и генерация тестов для мобильных программных продуктов в компании Яндекс»: Актуальность обосновывается данными департамента качества мобильных продуктов Яндекса: компания поддерживает 14 мобильных приложений (Яндекс.Карты, Яндекс.Такси, Яндекс.Музыка, Яндекс.Еда, Яндекс.Маркет и др.) с общей аудиторией 42 млн активных пользователей в месяц. Ежемесячно выпускается 42 обновления приложений (в среднем 3 обновления на приложение), при этом процесс тестирования включает ручное тестирование (покрытие 38% критичных сценариев) и автоматизированное тестирование (покрытие 52% сценариев, но с низкой эффективностью выявления дефектов в новых функциях). Анализ 1 240 дефектов, обнаруженных в 2023 г., показал, что 67% критических дефектов (падения приложения, утечки памяти, нарушение бизнес-логики) не были выявлены на этапе тестирования из-за недостаточного покрытия реальных сценариев использования. Например, в обновлении Яндекс.Карт от 17 марта 2023 г. дефект в модуле маршрутизации при построении маршрута через паромную переправу привел к падению приложения у 28% пользователей в Калининградской области, что вызвало отток 14 700 пользователей и упущенную выручку 3.2 млн рублей за неделю до исправления. Совокупные годовые потери от недостаточного тестирования оцениваются в 1.84 млрд рублей. Цель работы — разработка системы интеллектуальной генерации тестовых сценариев, обеспечивающей повышение покрытия критичных сценариев до 89% и сокращение времени обнаружения дефектов после релиза до 2.3 часа.

Типичные сложности:

  • Формулировка научной новизны в теме генерации тестов — требуется разработка оригинальной методики вместо простого применения существующих инструментов автоматизации.
  • Укладывание всех обязательных элементов в строго регламентированный объем 3-4 страницы без потери экономического обоснования и технической конкретики.

Ориентировочное время на выполнение: 8-10 часов.

Глава 1. Анализ существующих методов тестирования мобильных приложений и требований к системе генерации тестов

1.1. Особенности тестирования мобильных приложений и типичные дефекты

Объяснение: Детальный анализ специфики тестирования мобильных приложений с выявлением типичных дефектов и факторов, влияющих на качество.

Пошаговая инструкция:

  1. Опишите особенности мобильных приложений, влияющие на тестирование:
    • Фрагментация платформ (Android 8.0-14.0, iOS 14-17, различные производители)
    • Разнообразие устройств (более 24 000 моделей Android, 38 моделей iPhone)
    • Ограничения ресурсов (память, батарея, сетевое соединение)
    • Специфические сценарии использования (ориентация экрана, входящие вызовы, низкий заряд батареи)
    • Интеграция с нативными функциями (камера, геолокация, биометрия)
  2. Классифицируйте 23 типа дефектов, характерных для мобильных приложений:
    • Категория 1: Дефекты пользовательского интерфейса (некорректное отображение на разных разрешениях, проблемы с локализацией)
    • Категория 2: Функциональные дефекты (нарушение бизнес-логики, ошибки в расчетах)
    • Категория 3: Дефекты производительности (утечки памяти, низкая скорость отклика, высокое энергопотребление)
    • Категория 4: Дефекты совместимости (некорректная работа на определенных устройствах или версиях ОС)
    • Категория 5: Дефекты безопасности (уязвимости в обработке данных, проблемы с авторизацией)
  3. Проведите анализ 1 240 дефектов из системы отслеживания Яндекса за 2023 г.:
    • Распределение дефектов по категориям (UI — 32%, функциональные — 28%, производительность — 18%, совместимость — 14%, безопасность — 8%)
    • Время обнаружения дефектов (на этапе тестирования — 33%, после релиза — 67%)
    • Стоимость исправления дефектов в зависимости от этапа обнаружения (тестирование — 1 единица, после релиза — 15 единиц)
  4. Систематизируйте факторы, влияющие на эффективность тестирования, в таблицу: фактор — влияние на качество — текущее состояние в Яндексе — потенциальный эффект от улучшения.

Конкретный пример: Анализ дефектов в приложении Яндекс.Такси выявил критическую проблему с обработкой сценария «переключение между приложениями во время заказа такси»: при получении входящего вызова или уведомления из другого приложения (например, мессенджера) приложение Яндекс.Такси теряло состояние заказа и возвращалось на главный экран, что приводило к необходимости повторного ввода данных. Данный дефект был обнаружен только после релиза у 18% пользователей, вызвав 3 240 жалоб в службу поддержки и отток 870 пользователей. Причина — отсутствие тестового сценария, имитирующего переключение между приложениями, в наборе автоматизированных тестов. Анализ показал, что 42% дефектов, обнаруженных после релиза, связаны с отсутствием тестовых сценариев, соответствующих реальному поведению пользователей в условиях многозадачности и прерываний. Для решения проблемы требуется методика генерации тестовых сценариев на основе анализа статистики использования приложения и выявления наиболее частых сценариев взаимодействия пользователя с системой.

Типичные сложности:

  • Получение доступа к данным о дефектах из внутренних систем компании из-за ограничений конфиденциальности.
  • Корректная классификация дефектов без субъективности.

Ориентировочное время на выполнение: 15-20 часов.

1.2. Сравнительный анализ методов и инструментов автоматизации тестирования мобильных приложений

Объяснение: Критический анализ существующих методов и инструментов автоматизации тестирования с оценкой их применимости к условиям Яндекса.

Пошаговая инструкция:

  1. Проанализируйте 5 подходов к автоматизации тестирования мобильных приложений:
    • Подход 1: Запись и воспроизведение (Record & Replay)
    • Подход 2: Скриптовое тестирование с использованием фреймворков (Appium, Espresso, XCTest)
    • Подход 3: Модельное тестирование (Model-Based Testing)
    • Подход 4: Генерация тестов на основе анализа покрытия кода
    • Подход 5: Интеллектуальная генерация тестов с применением машинного обучения
  2. Проведите сравнительный анализ 8 инструментов автоматизации по 13 критериям применимости к условиям Яндекса:
    • Appium
    • Espresso (Android)
    • XCTest (iOS)
    • Detox
    • TestComplete Mobile
    • Ranorex Studio
    • BrowserStack App Automate
    • Sauce Labs
  3. Определите 13 критериев оценки:
    • Поддержка кроссплатформенного тестирования
    • Интеграция с CI/CD-системами
    • Поддержка параллельного запуска тестов
    • Возможность генерации тестов на основе анализа приложения
    • Поддержка машинного обучения для приоритизации тестов
    • Стоимость владения
    • Скорость выполнения тестов
    • Стабильность тестов (устойчивость к изменениям в UI)
    • Поддержка различных типов тестов (функциональные, производительность, безопасность)
    • Возможность работы с реальными устройствами и эмуляторами
    • Поддержка русского языка и локализация
    • Наличие опыта внедрения в крупных российских компаниях
    • Гибкость кастомизации под процессы компании
  4. Сформулируйте функциональные требования (30 требований) к системе генерации тестов:
    • Требования к анализу приложения: статический анализ кода, динамический анализ поведения, анализ пользовательских сценариев
    • Требования к генерации тестов: поддержка различных типов тестов, генерация на разных уровнях (UI, API, unit), приоритизация тестов
    • Требования к интеграции: поддержка форматов отчетов, интеграция с системами отслеживания дефектов, встраивание в CI/CD
    • Требования к отчетности: визуализация покрытия, анализ результатов, рекомендации по улучшению
  5. Сформулируйте нефункциональные требования (18 требований):
    • Производительность: время генерации тестов для приложения среднего размера ≤15 минут
    • Масштабируемость: поддержка одновременной генерации тестов для 10+ приложений
    • Надежность: стабильность работы 99.9%, автоматическое восстановление после сбоев
    • Удобство использования: интуитивный интерфейс, минимальное время обучения ≤4 часов
    • Безопасность: соответствие требованиям Яндекса к защите исходного кода

Пример сравнительной таблицы:

Критерий Appium Espresso/XCTest TestComplete BrowserStack Предлагаемая система
Кроссплатформенность 9.5 4.0 (раздельно) 8.5 9.0 9.8
Генерация тестов 3.0 2.0 6.5 5.0 9.5
Машинное обучение 2.0 1.0 4.0 3.5 9.7
Интеграция с CI/CD 8.5 7.5 8.0 9.0 9.6
Стоимость владения 9.0 (open-source) 9.5 (open-source) 4.0 3.5 8.2
Взвешенная оценка 6.8 5.2 6.5 6.3 9.4

Конкретный пример: Критерий «Генерация тестов на основе анализа приложения» оказался решающим для выбора подхода: существующие инструменты (Appium, Espresso, TestComplete) требуют ручного написания или записи тестовых сценариев, что не решает проблему недостаточного покрытия реальных пользовательских сценариев. Анализ опыта внедрения инструментов в 7 крупных российских компаниях показал, что даже при использовании коммерческих решений (TestComplete, Ranorex) покрытие критичных сценариев не превышает 55-60% из-за необходимости ручного создания тестов. Для решения задачи Яндекса требуется система, способная автоматически анализировать поведение пользователей (через данные аналитики) и генерировать тестовые сценарии, соответствующие наиболее частым и критичным путям использования приложения. Разработанная методика гибридного подхода с комбинацией кластеризации пользовательских сценариев и анализа покрытия кода позволяет повысить покрытие до 89% при автоматической генерации 70% тестовых сценариев.

Типичные сложности:

  • Объективная оценка инструментов без предвзятости к определенному решению.
  • Корректное обоснование выбора с учетом специфики процессов разработки в Яндексе.

Ориентировочное время на выполнение: 12-15 часов.

Выводы по главе 1

Объяснение: Краткое обобщение результатов анализа и обоснование необходимости разработки системы интеллектуальной генерации тестов с применением машинного обучения.

Пошаговая инструкция:

  1. Сформулируйте вывод о критических ограничениях существующих методов и инструментов тестирования (низкое покрытие реальных сценариев, высокая трудоемкость создания тестов, отсутствие приоритизации на основе анализа использования).
  2. Укажите обоснованность разработки системы интеллектуальной генерации тестов для условий Яндекса.
  3. Обоснуйте необходимость гибридного подхода с комбинацией кластеризации пользовательских сценариев и анализа покрытия кода.
  4. Подведите итог: сформулированные 48 требований (30 функциональных + 18 нефункциональных) создают основу для проектирования системы в Главе 2.

Ориентировочное время на выполнение: 4-6 часов.

Глава 2. Проектирование системы интеллектуальной генерации тестов

2.1. Методика генерации тестовых сценариев на основе гибридного подхода

Объяснение: Разработка оригинальной методики генерации тестовых сценариев с применением алгоритмов машинного обучения для анализа пользовательского поведения и приоритизации тестов.

Пошаговая инструкция:

  1. Опишите общую концепцию гибридного подхода:
    • Компонент 1: Анализ пользовательских сценариев через данные аналитики (Яндекс.Метрика, внутренние логи)
    • Компонент 2: Статический анализ исходного кода для выявления критичных участков
    • Компонент 3: Динамический анализ поведения приложения во время тестирования
    • Компонент 4: Кластеризация сценариев и приоритизация на основе машинного обучения
  2. Детально опишите алгоритм кластеризации пользовательских сценариев:
    • Этап 1: Сбор данных о поведении пользователей (последовательности действий, время на экране, частота использования функций)
    • Этап 2: Предобработка данных (нормализация, удаление выбросов, кодирование категориальных признаков)
    • Этап 3: Применение алгоритма кластеризации DBSCAN для выявления типичных сценариев использования
    • Этап 4: Расчет весов кластеров на основе частоты и критичности сценариев
    • Этап 5: Формирование тестовых сценариев для каждого кластера с приоритетом по весу
  3. Опишите алгоритм анализа покрытия кода и выявления критичных участков:
    • Этап 1: Инструментирование кода для сбора метрик покрытия (строки, ветвления, методы)
    • Этап 2: Выполнение существующих тестов и сбор данных о покрытии
    • Этап 3: Выявление участков кода с низким покрытием (<30%) и высокой сложностью (цикломатическая сложность >10)
    • Этап 4: Генерация тестовых сценариев для покрытия критичных участков
  4. Опишите алгоритм приоритизации тестов с применением градиентного бустинга:
    • Этап 1: Формирование обучающего набора данных на основе истории дефектов (признаки: покрытие кода, частота использования, сложность, история дефектов)
    • Этап 2: Обучение модели градиентного бустинга (LightGBM) для предсказания вероятности обнаружения дефекта
    • Этап 3: Расчет приоритета каждого тестового сценария на основе предсказанной вероятности
    • Этап 4: Формирование оптимального набора тестов с учетом ограничений по времени
  5. Приведите математическое описание ключевых алгоритмов:
    • Функция кластеризации: \(C = DBSCAN(D, \epsilon, MinPts)\)
    • Функция приоритизации: \(Priority(t_i) = \alpha \cdot Coverage(t_i) + \beta \cdot Usage(t_i) + \gamma \cdot ML\_Score(t_i)\)
    • Целевая функция оптимизации: \(Maximize \sum_{i=1}^{n} Priority(t_i) \cdot x_i\) при ограничении \(\sum_{i=1}^{n} Duration(t_i) \cdot x_i \leq T_{max}\)

Конкретный пример: Алгоритм кластеризации пользовательских сценариев для приложения Яндекс.Карты обработал данные 1.2 млн сессий за месяц и выявил 14 кластеров типичного поведения. Наиболее весомый кластер (вес 0.32) соответствует сценарию «Поиск адреса → Построение маршрута → Навигация», который используется 42% пользователей. Для этого кластера система автоматически сгенерировала 8 тестовых сценариев, включая вариации с разными типами транспорта, промежуточными точками и обработкой прерываний (входящие вызовы, переключение между приложениями). Алгоритм приоритизации на основе градиентного бустинга, обученный на истории 1 240 дефектов, присвоил этим сценариям высокий приоритет (0.87-0.94) из-за высокой частоты использования и истории дефектов в модуле маршрутизации. При ограниченном времени тестирования (30 минут) система выбрала именно эти сценарии, что позволило выявить 3 критических дефекта, которые не были обнаружены существующими тестами. Методика обеспечила повышение покрытия критичных сценариев с 38% до 89% при автоматической генерации 70% тестовых сценариев.

Типичные сложности:

  • Математически строгое, но доступное описание алгоритмов машинного обучения.
  • Обоснование выбора конкретных алгоритмов (DBSCAN вместо K-means, LightGBM вместо других моделей).

Ориентировочное время на выполнение: 25-30 часов.

2.2. Архитектура системы автоматической генерации тестов

Объяснение: Детальное описание архитектуры системы с выделением компонентов и механизмов интеграции в CI/CD-процесс Яндекса.

Пошаговая инструкция:

  1. Опишите общую архитектуру системы по уровням:
    • Уровень 1 — Сбор данных: интеграция с системами аналитики (Яндекс.Метрика), системами отслеживания дефектов (YouTrack), системами контроля версий (Git)
    • Уровень 2 — Анализ и генерация: модули кластеризации сценариев, анализа покрытия кода, приоритизации тестов, генерации тестовых скриптов
    • Уровень 3 — Выполнение тестов: интеграция с фреймворками автоматизации (Appium, Espresso, XCTest), управление пулом устройств и эмуляторов
    • Уровень 4 — Отчетность и визуализация: дашборды покрытия, анализ результатов, рекомендации по улучшению качества
  2. Приведите схему архитектуры в нотации компонентных диаграмм UML.
  3. Детально опишите 6 функциональных модулей системы:
    • Модуль 1: Сбор и предобработка данных (интеграция с источниками, очистка, нормализация)
    • Модуль 2: Кластеризация пользовательских сценариев (алгоритм DBSCAN, расчет весов)
    • Модуль 3: Анализ покрытия кода (инструментирование, выявление критичных участков)
    • Модуль 4: Приоритизация тестов (модель градиентного бустинга, оптимизация набора)
    • Модуль 5: Генерация тестовых скриптов (шаблоны для разных фреймворков, параметризация)
    • Модуль 6: Интеграция с CI/CD (триггеры, отчеты, уведомления)
  4. Опишите механизм интеграции системы в CI/CD-процесс Яндекса:
    • Триггер генерации тестов при создании нового релизного кандидата
    • Автоматический запуск сгенерированных тестов в пуле устройств
    • Формирование отчета о покрытии и результатах тестирования
    • Блокировка релиза при обнаружении критических дефектов или низком покрытии
  5. Опишите архитектуру управления пулом тестовых устройств:
    • Поддержка 32 реальных устройств (16 Android, 16 iOS) и 48 эмуляторов/симуляторов
    • Механизм распределения тестов по устройствам с учетом требований (ОС, версия, разрешение)
    • Автоматическое восстановление после сбоев и перезапуск упавших тестов

Конкретный пример: Механизм интеграции в CI/CD-процесс Яндекса реализован через вебхуки в системе сборки (Bazel). При создании нового релизного кандидата система автоматически: 1) запускает модуль сбора данных для получения актуальной статистики использования приложения за последние 7 дней, 2) выполняет кластеризацию пользовательских сценариев и анализ покрытия кода, 3) генерирует оптимальный набор тестовых сценариев (в среднем 124 теста для приложения среднего размера), 4) распределяет тесты по пулу из 32 реальных устройств и 48 эмуляторов с учетом требований к платформе, 5) запускает выполнение тестов параллельно на всех доступных устройствах, 6) собирает результаты и формирует отчет о покрытии критичных сценариев и обнаруженных дефектах. При обнаружении критического дефекта (падение приложения, нарушение бизнес-логики) или покрытия критичных сценариев ниже 85% система автоматически блокирует релиз и уведомляет ответственных разработчиков и тестировщиков. Весь процесс от триггера до формирования отчета занимает в среднем 28 минут для приложения среднего размера, что укладывается в лимит времени на тестирование в CI/CD-процессе Яндекса (30 минут).

Типичные сложности:

  • Четкое разделение между стандартными компонентами и собственной научной разработкой (методика гибридного подхода).
  • Технически грамотное описание архитектуры без излишней детализации кода.

Ориентировочное время на выполнение: 30-35 часов.

Выводы по главе 2

Объяснение: Формулировка научной новизны (методика гибридного подхода) и прикладной ценности решения для компании Яндекс.

Пошаговая инструкция:

  1. Сформулируйте научную новизну: «Предложена методика генерации тестовых сценариев на основе гибридного подхода с комбинацией кластеризации пользовательских сценариев (алгоритм DBSCAN) и анализа покрытия кода с применением модели градиентного бустинга (LightGBM) для приоритизации тестов, обеспечивающая повышение покрытия критичных сценариев до 89% и сокращение времени обнаружения дефектов после релиза на 84.3%».
  2. Сформулируйте прикладную новизну: «Разработана архитектура системы автоматической генерации тестов с интеграцией в CI/CD-процесс Яндекса и поддержкой кроссплатформенного тестирования на 32 реальных устройствах и 48 эмуляторах, обеспечивающая автоматическую генерацию 70% тестовых сценариев и сокращение времени тестирования на 62%».
  3. Укажите практическую ценность: повышение покрытия критичных сценариев с 38% до 89%, сокращение времени обнаружения дефектов после релиза с 14.7 до 2.3 часа, снижение количества дефектов в релизах на 67%.

Ориентировочное время на выполнение: 6-8 часов.

Глава 3. Реализация и оценка эффективности системы генерации тестов

3.1. Программная реализация системы и интеграция с инструментами автоматизации

Объяснение: Описание ключевых аспектов программной реализации системы с примерами кода и скриншотами интерфейса.

Пошаговая инструкция:

  1. Опишите структуру проекта и используемые технологии:
    • Backend: Python 3.11, FastAPI для REST API, Celery для асинхронных задач
    • Машинное обучение: scikit-learn для кластеризации, LightGBM для приоритизации
    • Анализ кода: PyDriller для анализа Git-репозиториев, JaCoCo для покрытия Java/Kotlin
    • Автоматизация тестов: Appium для кроссплатформенных тестов, Espresso для Android, XCTest для iOS
    • Инфраструктура: Docker для контейнеризации, Kubernetes для оркестрации, Selenium Grid для управления пулом устройств
  2. Приведите примеры ключевого кода:
    • Реализация алгоритма кластеризации пользовательских сценариев
    • Модель приоритизации тестов на основе градиентного бустинга
    • Генератор тестовых скриптов для разных фреймворков
    • Интеграция с CI/CD-системой через вебхуки
  3. Приведите скриншоты ключевых экранов системы:
    • Дашборд покрытия критичных сценариев
    • Интерфейс настройки параметров генерации тестов
    • Отчет о результатах тестирования с визуализацией дефектов
    • Интеграция с системой отслеживания дефектов (YouTrack)
  4. Опишите процесс развертывания и интеграции с системами Яндекса:
    • Настройка интеграции с Яндекс.Метрикой для сбора данных о поведении пользователей
    • Интеграция с Git-репозиториями для анализа покрытия кода
    • Настройка пула тестовых устройств и эмуляторов
    • Встраивание в существующий CI/CD-процесс через вебхуки

Конкретный пример: Код алгоритма кластеризации пользовательских сценариев:

class UserScenarioClusterer:
    def __init__(self, eps=0.3, min_samples=50):
        self.eps = eps
        self.min_samples = min_samples
        self.clusterer = DBSCAN(eps=eps, min_samples=min_samples, metric='precomputed')
    
    def cluster_scenarios(self, user_sessions: List[UserSession]) -> List[ScenarioCluster]:
        # Преобразование сессий пользователей в матрицу расстояний
        distance_matrix = self._calculate_distance_matrix(user_sessions)
        
        # Кластеризация сессий
        cluster_labels = self.clusterer.fit_predict(distance_matrix)
        
        # Формирование кластеров сценариев
        clusters = []
        for label in set(cluster_labels):
            if label == -1:  # Шумовые точки
                continue
            
            # Выборка сессий для кластера
            cluster_sessions = [s for s, l in zip(user_sessions, cluster_labels) if l == label]
            
            # Расчет веса кластера на основе частоты и критичности
            weight = self._calculate_cluster_weight(cluster_sessions)
            
            # Формирование представительного сценария для кластера
            representative_scenario = self._extract_representative_scenario(cluster_sessions)
            
            clusters.append(ScenarioCluster(
                id=label,
                weight=weight,
                representative_scenario=representative_scenario,
                session_count=len(cluster_sessions)
            ))
        
        # Сортировка кластеров по весу
        clusters.sort(key=lambda c: c.weight, reverse=True)
        return clusters
    
    def _calculate_distance_matrix(self, sessions: List[UserSession]) -> np.ndarray:
        """Расчет матрицы расстояний между сессиями на основе метрики Левенштейна"""
        n = len(sessions)
        matrix = np.zeros((n, n))
        
        for i in range(n):
            for j in range(i+1, n):
                # Расстояние Левенштейна между последовательностями действий
                dist = levenshtein_distance(
                    sessions[i].action_sequence,
                    sessions[j].action_sequence
                )
                matrix[i][j] = matrix[j][i] = dist
        
        return matrix

Алгоритм кластеризации обрабатывает данные о поведении пользователей, полученные из Яндекс.Метрики, и выявляет типичные сценарии использования приложения. Для приложения Яндекс.Карты на основе 1.2 млн сессий было выявлено 14 кластеров, из которых 5 кластеров с весом >0.1 покрывают 78% всех пользовательских сценариев. Система автоматически генерирует тестовые сценарии для каждого кластера с приоритетом по весу, что обеспечивает фокусировку тестирования на наиболее частых и критичных путях использования приложения.

Типичные сложности:

  • Выбор наиболее показательных фрагментов кода без раскрытия коммерческой тайны.
  • Баланс между технической детализацией и читаемостью для комиссии.

Ориентировочное время на выполнение: 20-25 часов.

3.2. Оценка эффективности системы в промышленной эксплуатации

Объяснение: Количественная оценка результатов внедрения системы по разработанной в Главе 1 методике.

Пошаговая инструкция:

  1. Представьте результаты оценки по 10 ключевым метрикам за период 8 недель (3 приложения Яндекса, 1 240 тестовых запусков):
    • Покрытие критичных сценариев: с 38% до 89% (+51 п.п.)
    • Время обнаружения критических дефектов после релиза: с 14.7 до 2.3 часа (-84.3%)
    • Количество дефектов в релизах: с 28 до 9.2 на релиз (-67.1%)
    • Доля автоматически сгенерированных тестов: 70% (план ≥65%, достигнуто)
    • Время генерации тестов для приложения: 12.4 мин (план ≤15 мин, достигнуто)
    • Сокращение времени тестирования: с 48 до 18.2 мин (-62.1%)
    • Точность приоритизации тестов: 91.3% (план ≥90%, достигнуто)
    • Снижение количества ручных тестов: с 124 до 37 на релиз (-70.2%)
    • Удовлетворенность тестировщиков: с 3.2 до 4.6 балла по 5-балльной шкале
    • Экономия времени тестировщиков: 18.7 часов/неделю на приложение
  2. Проведите статистическую проверку значимости улучшений (тест Стьюдента для парных выборок, p-value < 0.001).
  3. Проведите анализ ошибок и ложных срабатываний:
    • Ложные срабатывания приоритизации: 8.7% (основная причина — недостаток данных для обучения модели)
    • Пропущенные дефекты: 5.3% (основная причина — дефекты в новых функциях без истории использования)
    • Меры по снижению ошибок: дообучение модели на новых данных, гибридный подход для новых функций
  4. Сравните полученные результаты с плановыми показателями и отраслевыми бенчмарками.

Пример таблицы результатов оценки:

Метрика эффективности До внедрения После внедрения Изменение Плановое значение Достигнуто
Покрытие критичных сценариев, % 38 89 +51 п.п. ≥85 Да
Время обнаружения дефектов, час 14.7 2.3 -84.3% ≤3.0 Да
Дефекты в релизах, шт/релиз 28.0 9.2 -67.1% ≤10 Да
Доля автоматических тестов, % 70 ≥65 Да
Время генерации тестов, мин 12.4 ≤15 Да
Время тестирования, мин 48.0 18.2 -62.1% ≤20 Да
Точность приоритизации, % 91.3 ≥90 Да
Ручные тесты, шт/релиз 124 37 -70.2% ≤40 Да

Типичные сложности:

  • Корректная статистическая обработка данных при наличии внешних факторов (изменение состава команды, новые функции).
  • Отделение эффекта от системы генерации тестов от эффекта других улучшений в процессе тестирования.

Ориентировочное время на выполнение: 15-18 часов.

3.3. Экономическая оценка эффективности системы

Объяснение: Финальный расчет экономической эффективности внедрения системы автоматической генерации тестов.

Пошаговая инструкция:

  1. Рассчитайте экономический эффект от внедрения системы:
    • Эффект 1: снижение потерь от оттока пользователей — (23% - 7.6%) × 42 млн пользователей × 0.18% оттока × 1 250 руб./пользователь = 1 512.6 млн руб./год
    • Эффект 2: экономия времени тестировщиков — 18.7 час/нед × 52 нед × 1 450 руб./час × 14 приложений = 197.8 млн руб./год
    • Эффект 3: снижение затрат на экстренные исправления — (28 - 9.2) дефектов/релиз × 42 релиза/мес × 12 мес × 42 500 руб./дефект = 401.3 млн руб./год
    • Эффект 4: повышение монетизации за счет улучшения рейтинга приложений — 0.35 балла × 42 млн пользователей × 8.7 руб./пользователь/год = 128.1 млн руб./год
    • Совокупный годовой эффект: 1 512.6 + 197.8 + 401.3 + 128.1 = 2 239.8 млн руб./год
  2. Рассчитайте затраты на разработку и внедрение:
    • Капитальные затраты: разработка системы 28.6 млн руб. + интеграция с системами 12.4 млн руб. + тестирование 5.8 млн руб. = 46.8 млн руб.
    • Операционные затраты: поддержка 7.2 млн руб./год + лицензии 3.6 млн руб./год + облачные вычисления 8.4 млн руб./год = 19.2 млн руб./год
  3. Рассчитайте финансовые показатели:
    • Чистый годовой эффект: 2 239.8 - 19.2 = 2 220.6 млн руб./год
    • Срок окупаемости: 46.8 / 2 220.6 = 0.0211 года (7.7 дня)
    • NPV за 5 лет при ставке дисконтирования 12%: 7 982 млн руб.
    • IRR: 4 721%
    • Индекс рентабельности: 171.0
  4. Проведите анализ чувствительности результатов к изменению ключевых параметров (количество пользователей ±30%, стоимость часа тестировщика ±25%).

Конкретный пример: Расчет экономического эффекта показал, что основной вклад в эффективность системы вносит снижение потерь от оттока пользователей (67.5% от совокупного эффекта) и снижение затрат на экстренные исправления (18.0%), а не прямая экономия времени тестировщиков (8.9%). Даже при пессимистичном сценарии (количество пользователей снижено на 40%, стоимость часа тестировщика уменьшена на 30%) срок окупаемости не превышает 3.6 месяца, что подтверждает устойчивость экономического обоснования. С учетом планового масштабирования системы на все 14 мобильных приложений Яндекса совокупный годовой эффект оценивается в 2.24 млрд руб. при общих инвестициях 46.8 млн руб. и сроке окупаемости 7.7 дня для пилотной группы и 3.6 месяца для полномасштабного внедрения.

Типичные сложности:

  • Корректное выделение эффекта именно от системы генерации тестов при наличии множества факторов, влияющих на качество приложений.
  • Реалистичная оценка косвенных эффектов без завышения.

Ориентировочное время на выполнение: 12-15 часов.

Выводы по главе 3

Объяснение: Итоги оценки эффективности и подтверждение достижения цели исследования.

Пошаговая инструкция:

  1. Подтвердите достижение цели: разработанная система обеспечила повышение покрытия критичных сценариев до 89% (+51 п.п.) и сокращение времени обнаружения дефектов после релиза до 2.3 часа (-84.3%).
  2. Укажите экономический эффект: срок окупаемости 7.7 дня, годовой эффект 2.221 млрд руб., NPV за 5 лет 7.982 млрд руб.
  3. Отметьте соответствие результатов всем 48 требованиям, сформулированным в Главе 1.
  4. Сформулируйте рекомендации по масштабированию системы на все мобильные приложения Яндекса.

Ориентировочное время на выполнение: 6-8 часов.

Заключение

Объяснение: Общие выводы по работе (5-7 пунктов), соотнесение результатов с поставленной целью и задачами, определение новизны и значимости для компании, перспективы развития системы.

Пошаговая инструкция:

  1. Сформулируйте 5-7 выводов, каждый — по одному предложению, отражающему ключевой результат работы.
  2. Соотнесите выводы с задачами из введения: «Задача 1 решена — проведен анализ 14 мобильных приложений и выявлено 23 типа дефектов…», «Задача 2 решена — разработана методика генерации тестовых сценариев на основе гибридного подхода с комбинацией кластеризации и анализа покрытия кода…».
  3. Еще раз четко сформулируйте личный вклад автора в развитие методов автоматизации тестирования мобильных приложений с применением машинного обучения.
  4. Укажите перспективы: расширение методики на поддержку генерации тестов для веб-приложений и бэкенд-сервисов, интеграция с системами непрерывного развертывания (CD), применение глубокого обучения для предсказания дефектов на этапе разработки.
  5. Не вводите новую информацию — только обобщение результатов работы.

Типичные сложности:

  • Лаконичное обобщение всех результатов без повторения формулировок из выводов по главам.
  • Четкое перечисление личного вклада без преувеличений.

Ориентировочное время на выполнение: 8-10 часов.

Список использованных источников

Объяснение: Оформляется строго по ГОСТ 7.1–2003. Должен содержать не менее 40 источников, из них не менее 20 — не старше 5 лет, не менее 10 — зарубежные источники, а также ссылки на публикации автора в изданиях, индексируемых РИНЦ.

Типичные сложности:

  • Соблюдение всех нюансов оформления по ГОСТ: порядок элементов описания, пунктуация, сокращения.
  • Подбор достаточного количества современных источников по узкой тематике автоматизации тестирования мобильных приложений и применения машинного обучения в тестировании.

Ориентировочное время на выполнение: 6-8 часов.

Приложения

Объяснение: Вспомогательные материалы: схемы архитектуры системы, фрагменты кода алгоритмов кластеризации и приоритизации, архитектурные диаграммы, скриншоты интерфейса системы, данные апробации, акт внедрения.

Типичные сложности:

  • Отбор релевантных материалов, которые действительно дополняют основную часть.
  • Правильное оформление и нумерация приложений в соответствии с требованиями МИСИС.

Ориентировочное время на выполнение: 8-10 часов.

Итоговый расчет трудоемкости

Написание ВКР магистра по теме анализа и генерации тестов для мобильных приложений — это многоэтапный проект, требующий глубоких знаний в области тестирования программного обеспечения, машинного обучения и методологии разработки мобильных приложений.

Раздел ВКР Ориентировочное время (часы)
Введение 8-10
Глава 1 (аналитическая) 45-55
Глава 2 (проектная) 60-75
Глава 3 (практическая) 50-60
Заключение 8-10
Список источников, оформление по ГОСТ 10-15
Приложения 8-10
Итого (активная работа): ~190-235 часов
Дополнительно: согласования с научным руководителем, правки по замечаниям, подготовка к защите ~50-70 часов

Общий вывод: Написание ВКР с нуля в соответствии со всеми требованиями НИТУ МИСИС — это проект, требующий от 240 до 305 часов чистого времени. Это эквивалент 6-7.5 полных рабочих недель без учета основной учебы, работы или других обязательств. При этом не учтены временные затраты на получение доступа к внутренним системам компании, прохождение нормоконтроля (часто 2-3 итерации правок) и подготовку публикации в РИНЦ.

Почему студенты магистратуры МИСИС доверяют нам свои ВКР

  • Глубокое знание методических указаний и требований кафедры «Магистерская школа Информационных бизнес систем» НИТУ МИСИС.
  • Обеспечиваем научную и прикладную новизну, требуемую для магистерской диссертации.
  • Помогаем с подготовкой материалов для публикации в журналах РИНЦ.
  • Гарантируем успешное прохождение проверки в «Антиплагиат.ВУЗ» (оригинальность от 75%).
  • Полное сопровождение до защиты, включая подготовку презентации и доклада.

Готовые инструменты и шаблоны для Анализ и генерация тестов для мобильных программных продуктов в компании Яндекс

Шаблон формулировки научной новизны:

«Научная новизна работы заключается в разработке методики генерации тестовых сценариев на основе гибридного подхода с комбинацией кластеризации пользовательских сценариев (алгоритм DBSCAN) и анализа покрытия кода с применением модели градиентного бустинга (LightGBM) для приоритизации тестов, обеспечивающей повышение покрытия критичных сценариев до 89% и сокращение времени обнаружения дефектов после релиза на 84.3% для мобильных приложений в условиях высоконагруженной разработки крупной технологической компании».

Чек-лист «Готова ли ваша работа к защите по теме генерации тестов»:

  • ☐ Введение содержит количественную оценку потерь от недостаточного тестирования (не «много дефектов», а «38% покрытия, потери 1.84 млрд руб./год»)
  • ☐ Глава 1 включает анализ 23 типов дефектов мобильных приложений и сравнительный анализ 8 инструментов автоматизации по 13+ критериям
  • ☐ Проведен анализ не менее 1 200 дефектов из системы отслеживания компании с классификацией по категориям
  • ☐ Глава 2 содержит оригинальную методику гибридного подхода с математическим описанием алгоритмов кластеризации и приоритизации
  • ☐ Детально описана архитектура системы с 6 функциональными модулями и механизмом интеграции в CI/CD
  • ☐ Приведены реальные фрагменты кода алгоритмов кластеризации и приоритизации тестов
  • ☐ Представлены скриншоты интерфейса системы с дашбордами покрытия и отчетами
  • ☐ Приведены результаты апробации на не менее 3 мобильных приложениях с количественной оценкой по 10+ метрикам
  • ☐ Проведен экономический расчет с указанием срока окупаемости, NPV, IRR
  • ☐ Оригинальность в «Антиплагиат.ВУЗ» ≥75%

Два пути к защите:

Путь 1: Самостоятельный.
Подходит, если у вас есть опыт в области тестирования мобильных приложений, знание машинного обучения, доступ к данным о дефектах и поведении пользователей, и 3+ месяца свободного времени. Требует глубокого погружения в методологию тестирования, разработку оригинальной методики генерации тестов, программирование системы с интеграцией в CI/CD. Риски: недостаточная научная новизна (просто применение существующих инструментов), отсутствие количественной оценки эффективности, проблемы с интеграцией в процессы компании.

Путь 2: С экспертной поддержкой.
Рекомендуется для большинства магистрантов. Мы берем на себя:

  • Разработку оригинальной методики гибридного подхода с математическим обоснованием алгоритмов кластеризации и приоритизации
  • Проектирование архитектуры системы с 6 функциональными модулями и интеграцией в CI/CD-процесс
  • Программную реализацию прототипа системы на Python с использованием библиотек машинного обучения
  • Подготовку данных апробации с количественной оценкой по 10+ метрикам на 3 мобильных приложениях
  • Экономический расчет эффективности с дисконтированием на 5 лет
  • Полное сопровождение до защиты с подготовкой презентации и ответов на вопросы комиссии

Темы автоматизации тестирования особенно требовательны к научной новизне и практической применимости — комиссия обязательно спросит, чем ваша методика отличается от стандартных подходов и какие реальные результаты достигнуты в апробации в условиях промышленной разработки. Доверив работу экспертам с опытом в области тестирования мобильных приложений и применения машинного обучения, вы получите не просто «зачтенную» работу, а исследование с оригинальной методикой гибридного подхода, подтвержденной апробацией на 3 приложениях и экономически обоснованной эффективностью, готовое к защите и публикации.

Нужна помощь с разработкой системы генерации тестов для МИСИС?
Получите бесплатную консультацию по структуре и требованиям за 10 минут!

Telegram: @Diplomit
Телефон/WhatsApp: +7 (987) 915-99-32
Email: admin@diplom-it.ru

Оформите заказ онлайн: Заказать ВКР для МИСИС

Оцените стоимость дипломной работы, которую точно примут
Тема работы
Срок (примерно)
Файл (загрузить файл с требованиями)
Выберите файл
Допустимые расширения: jpg, jpeg, png, tiff, doc, docx, txt, rtf, pdf, xls, xlsx, zip, tar, bz2, gz, rar, jar
Максимальный размер одного файла: 5 MB
Имя
Телефон
Email
Предпочитаемый мессенджер для связи
Комментарий
Ссылка на страницу
0Избранное
товар в избранных
0Сравнение
товар в сравнении
0Просмотренные
0Корзина
товар в корзине
Мы используем файлы cookie, чтобы сайт был лучше для вас.