Skip to content

Телеграм бот для автоматизации рутинных задач QA

Notifications You must be signed in to change notification settings

MaximMxwave/QA_AI_Bot

Repository files navigation

🤖 QA AI AssistantBot

Telegram бот для автоматизации рутинных задач QA с поддержкой AI-ассистентов

json

🎯 Возможности

  • ⚡ Автоматизация рутинных задач тестировщика
  • 🤖 Интеграция с AI-ассистентами (OpenAI, Anthropic Claude, DeepSeek)
  • 📝 Генерация тестовых данных и документации
  • 🛠️ Набор плагинов для различных задач QA

📸 Скриншоты

Начало работы

start

Создание файла

file

Валидация и проверка API

card

Создание документации

testcase

🛠 Функционал

Плагин Команда Описание
Создать файл /file Создание тестовых файлов различных форматов
Создать Pairwise тест /pairwise Создание оптимальных тестовых комбинаций
Проверить API /api Проверка и валидация API по URL
Проверить JSON XML YAML /datavalidator Проверка и валидация JSON, XML, YAML
Создать документацию /docs Создание документации (тест-кейс, чек-лист, баг-репорт)
Создать тестовые данные /testdata Создание тестовых данных пользователей и банковских карт
Конвертировать Timestamp /timestamp Конвертация Timestamp (секунды/миллисекунды) в дату и время
Сгенерировать SQL /sql Генерация SQL CRUD запросов

🗂 Создать файл

  • Создание тестовых файлов (DOCX, XLSX, TXT, PDF, CSS, HTML, JS, JSON, ZIP, RAR, MP4, AVI)
  • Поддержка изображений (JPG, PNG, GIF, BMP, SVG, ICO)
  • Настройка размеров и параметров

🧪 Создать Pairwise тест

  • Создание оптимального набора тестовых комбинаций
  • Поддержка произвольного количества параметров
  • Сокращение количества тестов при сохранении покрытия

🔍 Проверить API

  • Проверка и валидация API по URL
  • Поддержка методов: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
  • Обработка ошибок (таймауты, сетевые ошибки, недоступность сервера)

📑 Проверить JSON XML YAML

  • Проверка корректности синтаксиса
  • Проверка форматирования, отступы
  • Проверка закрывающих скобок, корректности тегов, структуру данных

📝 Создать документацию

  • Создание структурированных тест-кейсов, чек-листов, баг-репортов
  • Готовые шаблоны с основными полями
  • Быстрый старт для создания артефактов тестирования

👥 Создать тестовые данные

  • Создание профилей тестовых пользователей и банковских карт
  • Создание логинов, паролей, email, имен, адресов, телефонов, даты рождения
  • Создание валидных тестовых номеров карт (по алгоритму Луна)
  • Поддержка систем: Visa, Mastercard, UnionPay, JCB, Mir
  • Генерация CVV/CVC и срока действия

🕐 Конвертировать Timestamp

  • Вывод в нескольких форматах
  • Конвертация Timestamp (секунды/миллисекунды) в дату и время
  • Автоматическое определение формата (timestamp или дата)

🗃 Сгенерировать SQL

  • Генерация CRUD: Мгновенное создание шаблонов INSERT, SELECT, UPDATE, DELETE
  • Создание структуры таблиц и колонок
  • Поддержка условий (WHERE), лимитов и граничных значений

🤖 AI-ассистенты

Бот интегрирован с мощными AI-моделями:

  • 🤖 OpenAI GPT - для сложных аналитических задач
  • 🧠 Anthropic Claude - для детального анализа и генерации текста
  • 🐋 DeepSeek - быстрые ответы и помощь в тестировании

📝 Особенности реализации

  • 🏗️ Модульная архитектура с плагинами
  • 🔄 Асинхронная обработка запросов
  • 📊 Логирование всех событий
  • 📱 Интуитивное меню с кнопками
  • 🤖 Интеграция с несколькими AI-моделями

🛠 Стек технологий

  • 🐍 Python 3.9+ - язык программирования
  • 🌐 aiohttp - асинхронные HTTP запросы
  • 📦 Aiogram - асинхронный фреймворк для Telegram Bot API
  • 🧪 AllPairsPy - комбинаторное тестирование
  • 🔐 python-dotenv - загрузка переменных окружения из файла .env
  • 🖼 Pillow - работа с изображениями
  • 🎲 Faker - генерация тестовых данных
  • 📋 PyYAML, xmltodict, lxml - парсинг и обработка YAML, XML, HTML
  • 📄 python-docx (.docx), openpyxl (.xlsx), reportlab (.pdf) - экспорт документации
  • 🤖 OpenAI API - интеграция моделей GPT
  • 🧠 Anthropic Claude API - использование Claude
  • 🐋 DeepSeek API - работа с моделями DeepSeek

🚀 Как запустить проект

  1. Скачайте проект или клонируйте репозиторий
git clone https://github.com/MaximMxwave/qa_ai_bot.git
cd qa_ai_bot
  1. Создайте Telegram-бота через @BotFather

  2. Скопируйте .env.example в .env

cp .env.example .env
  1. Настройте переменные окружения (.env файл)
BOT_TOKEN=ваш_токен_бота
ADMIN_ID=ID_администратора
OPENAI_API_KEY=ваш_ключ_openai
ANTHROPIC_API_KEY=ваш_ключ_anthropic
DEEPSEEK_API_KEY=ваш_ключ_deepseek
  1. Установите зависимости
pip install -r requirements.txt
  1. Выберите AI-модель (по умолчанию gpt-3.5-turbo). Изменить модель можно в файле .env
DEFAULT_AI_MODEL=openai # openai, claude, deepseek
  1. Запустите бота
python main.py

📁 Структура проекта

qa_ai_bot/
├── logs/                       # Директория для логов
├── plugins/                    # Директория с плагинами
│   └── api_validator.py        # Проверка и валидация API по URL
│   └── data_validator.py       # Проверка и валидация JSON, XML, YAML
│   └── docs_creator.py         # Создание документации (тест-кейс, чек-лист, баг-репорт)
│   └── file_generator.py       # Создание тестовых файлов различных форматов
│   └── pairwise_tester.py      # Создание оптимальных тестовых комбинаций
│   └── sql_generator.py        # Генерация SQL CRUD запросов
│   └── test_data_generator.py  # Создание тестовых данных пользователей и банковских карт
│   └── timestamp_converter.py  # Конвертация Timestamp в дату и время
├── ai_service.py               # Сервис для работы с AI-моделями
├── .env                        # Админ и токены
├── config.py                   # Конфигурация
├── handlers.py                 # Обработчики команд
├── main.py                     # Основной файл бота
├── messages.py                 # Текстовые сообщения
└── requirements.txt            # Зависимости

visual

🔗 Ссылка на бота

t.me/QA_AI_AssistantBot

👨‍💻 Разработал:

Максим Олесов (@Mxwave)

Made by Maxim Olesov

About

Телеграм бот для автоматизации рутинных задач QA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages