Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические занятия / T5_Пример презентации

.pdf
Скачиваний:
1
Добавлен:
26.09.2026
Размер:
622 Кб
Скачать
☆
Выполнила: Проектная команда 1 (МБД2431)
Сервис автоматизированного
тестирования программных продуктов
на основе AI
Product Development
BugHunter AI
Выбор метода разработки
автоматизированного тестирования программных продуктов на основе
AI, требует гибкого подхода. Поэтому выбор методологии Agile является
наиболее оптимальным решением.
Agile наиболее подходит для проекта по следующим причинам:
• Проект предполагает постоянное взаимодействие с пользователями
(командами разработчиков, QA-специалистами) и адаптацию к их
потребностям и средам разработки.
• Необходимость быстрого внедрения новых функций на основе обратной связи от пользователей и результатов тестов.
• Agile позволяет оперативно реагировать на изменения рынка, добавлять новые алгоритмы и инструменты тестирования (например, новые AI-модели), а также быстро тестировать MVP для проверки гипотез.
Что может являться продуктом для этого
проекта?
Продукт — это веб-сервис (или облачная платформа),
предоставляющий автоматизированное тестирование на базе
искусственного интеллекта. Ключевые компоненты могут включать:
1. Модуль генерации тест-кейсов: На основе анализа исходного кода, документации или API.
2. Исполняющая среда: Среда, в которой тесты автоматически
запускаются (включая виртуальные машины или контейнеры).
3. Аналитический блок: Оценка результатов тестирования, формирование метрик покрытия кода и обнаруженных дефектов.
4. Интеграции: Поддержка CI/CD-инструментов, баг-трекинговых
систем и средств мониторинга.
5. Панель управления: Веб-интерфейс для настройки
автоматизированных тестов, просмотра отчетов, анализа метрик.
Как для этого
продукта будет
выглядеть MVP?
MVP — это тестовая версия сервиса с минимальным набором функций,
позволяющих проверить гипотезу о востребованности и эффективности AI-
подхода:
• Базовый модуль генерации тест-кейсов: Генерация тестовых сценариев на
основе ограниченного набора языков программирования или фреймворков.
• Запуск автотестов: Выполнение сгенерированных тестов на тестовом
окружении (например, docker-контейнерах).
• Отчет по результатам: Просмотр отчета об ошибках, покрытии кода и
основных метриках (точность, время выполнения).
• API/Интерфейс для интеграции: Возможность быстро интегрировать сервис
в существующий CI/CD-процесс.
• Простая панель управления: Минимальный веб-интерфейс или CLI для
запуска тестов и просмотра результатов.
Основные требования к сервису делятся на функциональные и нефункциональные. Функциональные требования:
1. Регистрация и управление учетными записями: Различные роли (администратор,
разработчик, QA-инженер).
2. Генерация тест-кейсов на основе AI: Использование алгоритмов машинного обучения
для анализа кода и создания тест-сценариев.
3. Управление тестовыми наборами: Создание, хранение, обновление и удаление тест-
наборов.
4. Автоматический запуск тестов: Интеграция с популярными CI/CD-инструментами
(Jenkins, GitLab, GitHub Actions).
5. Мониторинг и отчётность: Сбор и визуализация показателей (покрытие кода,
количество обнаруженных дефектов, время выполнения).
6. Поддержка нескольких языков программирования (в зависимости от приоритетов
рынка: Python, Java, JavaScript и т.д.).
7. Расширяемая архитектура AI-модулей: Возможность добавлять новые модели или
обучать существующие.
Постановка требований
Нефункциональные требования:
1. Безопасность данных: Шифрование результатов тестирования,
защита исходного кода и конфигураций пользователей.
2. Масштабируемость: Возможность увеличивать объём
вычислительных ресурсов для параллельного запуска множества тестов.
3. Надёжность и устойчивость: Работа без сбоев при высокой нагрузке.
4. Производительность: Быстрая генерация тест-кейсов и минимальная задержка при запуске тестов.
5. Удобство использования: Интуитивно понятный веб-интерфейс
и готовые интеграции.
6. Поддержка различных окружений: Контейнеризация,
локальные и облачные решения.
Постановка требований
Административное противоречие
Проблема: Руководства компаний хотят снизить траты на тестирование продуктов при это не потеряв в эффективности
тестирования.
Решение: Приложение для автоматизированного тестирования с помощью AI.
2. Техническое противоречие
Проблема: Большие объёмы данных и сложные AI-алгоритмы vs ограниченные ресурсы вычислений и время на тест. Решение: Гибридный подход — часть вычислений может осуществляться в облаке с использованием GPU/TPU, а
базовый анализ выполняется локально для быстрой обратной связи.
3. Физическое противоречие
Проблема: Необходимость быстро запускать массовые тесты (большие ресурсы) vs желание снизить стоимость инфраструктуры и время ожидания.
Решение: Грамотная балансировка нагрузки, динамическое масштабирование в облаке; использование кластеров Kubernetes или Amazon ECS/Fargate для “автомасштабирования”.
Противоречия
Ограничение в людских ресурсах:
Уменьшает потребность в ручном написании тестов, освобождая
QA-инженеров от рутины.
Длительные сроки релизов:
Благодаря автоматизации удаётся
значительно сократить цикл
тестирования и выпускать обновления быстрее.
Недостаточное покрытие тестами:
AI-модули позволяют
генерировать нетривиальные
сценарии и быстро расширять тест-пул.
Ограничения
Draw.io, Miro – для создания блок-схем
и диаграмм архитектуры.
Figma, InVision – для прототипирования
веб-интерфейса панели управления.
Jira, Trello – для управления проектом,
бэклогом и задачами в Agile-формате.
Jupyter Notebook/Google Colab – для
быстрой разработки и тестирования
моделей машинного обучения.
Docker, Kubernetes – для создания
изолированных окружений тестирования и масштабирования приложения.
CI/CD-платформы (Jenkins, GitLab,
GitHub Actions) – для непрерывной
интеграции, доставки и автоматических запусков тестов.
Умное проектирование