Информационная инфраструктура Правительства Москвы представляет собой сложную экосистему из сотен информационных систем, порталов (включая mos․ru), мобильных приложений и внутренних ведомственных ресурсов․ Обеспечение качества программного обеспечения (QA) в таком масштабе требует строгой регламентации, автоматизации и соблюдения высоких стандартов информационной безопасности․ В данной статье рассматриваются ключевые аспекты процесса тестирования, применяемые в проектах городского управления․
Стратегия и нормативная база
Тестирование в госсекторе Москвы регулируется как федеральными законами (152-ФЗ о персональных данных, 63-ФЗ об электронной подписи), так и локальными нормативными актами Департамента информационных технологий (ДИТ) и Технологического надзора․ Основные принципы:
- Безопасность превыше всего: Любая система проходит проверку на соответствие требованиям ФСТЭК и ФСБ перед выходом в прод․
- Непрерывная интеграция (CI/CD): Внедрение практик DevOps позволяет проводить автотесты при каждом коммите․
- Жизненный цикл СДЛЦ (SDLC): Тестирование встроено на всех этапах, от анализа требований до сопровождения․
Основные виды тестирования, применяемые в проектах
Согласно методологическим рекомендациям ДИТ, на проектах Правительства Москвы обязательно применяются следующие уровни проверки:
Модульное тестирование (Unit Testing)
Выполняется разработчиками на этапе написания кода․ Покрытие кода тестами (Code Coverage) для критических модулей (расчет налогов, социальных выплат, запись к врачу) должно составлять не менее 80%․ Используются фреймворки: JUnit, PyTest, GoTest в зависимости от стека микросервиса․
Интеграционное тестирование
Критически важно из-за сервисно-ориентированной архитектуры (SOA)․ Проверяется взаимодействие с:
- Единой системой идентификации и аутентификации (ЕСИА / mos․ru ID);
- Реестрами городского хозяйства (недвижимость, транспорт, земля);
- Федеральными системами (ПФР, ФНС, ЗАГС, МВД) через СМЭВ (Систему межведомственного электронного взаимодействия);
- Платежными шлюзами (Сбербанк, ВТБ, Городская платежная система)․
Примечание: Тестовые контуры внешних систем (СМЭВ-тест, ЕСИА-тест) имеют свои специфические правила доступа, выдаваемые администраторами контуров * (замаскировано по требованию безопасности)․
Системное и приемо-сдаточное тестирование (UAT)
Проводится на стендах, максимально приближенных к продакшену (Stage/Pre-prod)․ Участники: команда QA, бизнес-заказчик (куратор от ведомства), представители Технологического надзора․ Критерии приемки фиксируются в Протоколе приемо-сдаточных испытаний․
Нагрузочное и стрессовое тестирование (Performance/Load Testing)
Обязательно для высоконагруженных сервисов (запись на прием, оплата штрафов, голосование «Активный гражданин», школьное питание «Московенок»)․
- Определение базовых метрик (RPS, Latency 95/99 перцентиль, Error Rate)․
- Симуляция пиковых нагрузок (например, начало учебного года, налоговый дедлайн, продажа билетов на Новый год)․
- Проверка отказоустойчивости: падение нод, отказ БД, проблемы с сетью (Chaos Engineering элементы)․
Инструментарий: JMeter, Gatling, k6, Yandex․Tank․ Результаты сравниваются с SLA (обычно доступность 99․9% и выше)․
Тестирование безопасности (Security Testing / AppSec)
Внедрен процесс DevSecOps․ Включает:
- SAST (статический анализ кода) — SonarQube, Checkmarx на стадии сборки;
- DAST (динамический анализ) — сканирование запущенных стендов;
- SCA (анализ зависимостей) — проверка уязвимостей в библиотеках (OWASP Dependency Check);
- Пентестирование, проводится аккредитованными организациями перед релизом мажорных версий․
Специфика тестирования городских супер-сервисов
Мoscow Government развивает концепцию «Супер-сервисов» (жизненные ситуации: рождение ребенка, потеря работы, покупка квартиры)․ Тестирование таких сценариев — это сквозное (End-to-End) проверка цепочки из 10-15 систем․
Пример чек-листа для сценария «Рождение ребенка»:
- Автоматическое получение полис ОМС в СМЭВ․
- Формирование заявления на пособие в соцзащите․
- Запись в детский сад (очередь)․
- Выдача справки формы 24 (для родительского капитала)․
- Интеграция с ЕРЗ (единый реестр застрахованных)․
Для автоматизации E2E тестов используются Selenide / Playwright / Cypress в контейнеризированной среде (Kubernetes, GitLab CI / Jenkins)․
Организация процесса: Роли и ответственность
| Роль | Ответственность | Контактная информация (пример) |
|---|---|---|
| QA Lead / Менеджер качества | Планирование, стратегия, метрики, отчетность перед заказчиком | Email: qa-lead-@mos․ru Тел: +7 (495) — |
| Автотестировщик (AQA) | Разработка и поддержка фреймворков, CI/CD пайплайнов, автотестов API/UI | Email: aqa-@mos․ru |
| Ручной тестировщик (MQA) | Функциональное тестирование, UAT, исследовательское тестирование, работа с баг-трекингом | Email: mqa-@mos․ru |
| Инженер по производительности | Нагрузочные скрипты, анализ ботлнеков, тюнинг JVM/DB/OS | Email: perf-@mos․ru |
| SecDevOps / AppSec инженер | Инструменты безопасности в пайплайне, управление уязвимостями | Email: sec-@mos․ru |
Примечание: Конкретные фамилии сотрудников, внутренние телефоны и адреса серверных комнат (например, ЦОД на улице *, д․ *) скрыты в соответствии с политикой конфиденциальности и требованиями 152-ФЗ․
Инструментальная среда и стек технологий
Стандартизация стека позволяет снизить стоимость владения и упростить ротацию специалистов․
Баг-трекинг и управление тестами:
- Jira (внутренний инстанс) + Xray / Zephyr для управления тест-кейсами и прогонами․
- Confluence — документация, чек-листы, отчеты․
CI/CD и Артефакты:
- GitLab CI / Jenkins (внутренние кластеры)․
- Harbor / Nexus — реестры Docker-образов и артефактов (Maven, npm, PyPI)․
- Helm-чарты для деплоя в Kubernetes (внутренняя платформа MosCloud / K8s Platform)․
Мониторинг и анализ логов (Observability):
- VictoriaMetrics / Prometheus + Grafana — метрики․
- ELK Stack (Elasticsearch, Logstash, Kibana) / ClickHouse — логи․
- Jaeger / Tempo — распределенное трассирование (OpenTelemetry)․
Процесс релиза и «Feature Flags»
Для минимизации рисков при деплое используется стратегия Blue-Green Deployment или Canary Releases с управлением через Feature Flags (Unleash / внутренний сервис флагов)․
Этапы релиза:
- Dev / Feature Branch: Юнит-тесты, SAST, сборка образа․
- Integration / Test Stand: Автотесты API, контрактные тесты (Pact), UI-смоук․
- Staging / Pre-prod: Полный регресс, нагрузочное тестирование (по графику), UAT, пентест (по требованию)․
- Production (Canary 1-5%): Включение фичи для внутренних пользователей / бета-тестеров (сотрудники МФЦ, админы)․
- Production (Full Rollout): Мониторинг SLO (Error Budget), откат при превышении порогов․
Тестирование мобильных приложений (iOS / Android)
Приложения «Госуслуги Москвы», «Активный гражданин», «Мой транспорт», «Мосметро» проходят специфическую проверку:
- Тестирование на реальных устройствах (Device Farm) в лаборатории ДИТ (адрес: , корпус )․
- Проверка соответствия гайдлайнам Human Interface Guidelines (Apple) и Material Design (Google) + брендбуку Москвы․
- Тестирование офлайн-режимов, глубоких ссылок (Deep Links / Universal Links), Push-уведомлений (APNs / FCM / HMS)․
- Модерация в App Store / RuStore / Google Play — отдельный этап с риском отказа (регламент 1-3 рабочих дня)․
Метрики качества (KPI QA)
Эффективность тестирования измеряется не количеством найденных багов, а предотвращением дефектов на проде․
- Defect Escape Rate (DER): % багов, утечка на прод (цель < 5%)․
- Mean Time to Detect (MTTD): Среднее время обнаружения дефекта․
- Mean Time to Resolve (MTTR): Среднее время исправления (Critical/Blocker — до 4 часов)․
- Test Automation Coverage: % покрытия регресса автотестами (цель > 70% для API)․
- Flaky Tests Rate: % нестабильных автотестов (цель < 1%, иначе тест отключается до фикса)․
Обучение и сертификация персонала
Специалисты проходят обязательное обучение по:
- Основы информационной безопасности (КСЗ, курсы повышения квалификации раз в 3 года)․
- Методологии тестирования (ISTQB Foundation / Advanced Level, оплачивается заказчиком)․
- Специфика городских систем (вводные курсы ДИТ, доступ к внутренней Wiki)․
Перспективы развития: AI в тестировании
В 2024-2026 годах запущены пилотные проекты по применению Generative AI:
- Генерация тест-кейсов из требований (User Stories в Jira/Confluence) с помощью LLM (внутренние модели типа GigaChat / YaGPT в изолированном контуре)․
- Автоматический анализ логов падений и предложение Root Cause․
- Самовосстанавливающиеся локаторы (Self-healing locators) в UI-тестах․
- Генерация тестовых данных (Data Generation) с соблюдением 152-ФЗ (анонимизация/синтетика)․
Тестирование в Правительстве Москвы — это не просто этап «перед релизом», а непрерывный инженерный процесс, встроенный в культуру разработки․ Высокие требования к безопасности, интеграции с федеральными реестрами и нагрузкам на уровне миллионов пользователей в сутки диктуют необходимость зрелых практик QA: от строгого код-ревью и статического анализа до хаос-инженерии и ИИ-ассистированного тестирования․ Соблюдение стандартов ДИТ и Технологического надзора гарантирует, что городские цифровые сервисы остаются надежными, быстрыми и удобными для каждого жителя столицы․
Статья подготовлена на основе открытых методологических материалов Департамента информационных технологий города Москвы и общих практик Enterprise QA․ Актуально на ․