Открыть сервисСервис

Ат-технологии в разработке ПО

Ат-технологии (от англ. at-technology, также встречается написание «AT-технологии») — обобщающее название для группы методов и инструментов автоматизированного тестирования и автоматизации процессов в разработке программного обеспечения, при которых проверка, сборка, развёртывание или контроль качества выполняются программными средствами без постоянного участия человека. Термин употребляется преимущественно в русскоязычной профессиональной среде и не имеет строгого академического определения: под ним понимают как конкретные фреймворки автоматизации тестов, так и целые направления — автоматизированное тестирование, тестирование на основе моделей, непрерывную интеграцию и связанные с ними практики.

Происхождение и терминология

Единого источника термина не существует. Аббревиатура «АТ» в отраслевой литературе чаще всего расшифровывается как automated testing — автоматизированное тестирование. В русскоязычных публикациях, вакансиях и обучающих курсах встречаются написания «АТ-технологии», «AT-технологии», «автотесты», «автоматизация тестирования». Устойчивого стандарта нет, поэтому под одним и тем же словосочетанием разные авторы могут подразумевать разные наборы инструментов.

Исторически автоматизация проверок возникла вместе с промышленным программированием: уже в 1950–1960-е годы применялись программы, сравнивающие результаты вычислений с эталонными. Массовым явлением автоматизация тестирования стала в 2000-е годы, когда распространились методологии гибкой разработки и потребовалось часто и быстро проверять меняющийся код.

Классификация

Ат-технологии принято разделять по уровню проверки и по типу решаемой задачи.

УровеньЧто проверяетсяТипичные инструменты
Модульное тестированиеОтдельные функции и классыJUnit, pytest, NUnit
ИнтеграционноеВзаимодействие модулей и сервисовPostman, Testcontainers
Системное и end-to-endСценарии работы пользователяSelenium, Playwright, Cypress
НагрузочноеПоведение под нагрузкойJMeter, Gatling, k6
ПриёмочноеСоответствие бизнес-требованиямCucumber, behave

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

Устройство и принципы

Типовая АТ-система включает несколько компонентов:

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

Ключевые принципы: воспроизводимость (тест даёт одинаковый результат при одинаковых условиях), изолированность (проверки не зависят друг от друга), поддерживаемость (тесты легко обновлять при изменении продукта) и скорость выполнения.

Применение

Ат-технологии применяются практически во всех отраслях, где создаётся программное обеспечение: в банковском секторе, телекоммуникациях, промышленной автоматизации, государственных информационных системах, разработке мобильных приложений и веб-сервисов.

В России автоматизация тестирования развивается с 2000-х годов. Крупные компании — операторы связи, банки, ИТ-интеграторы — формируют собственные отделы автоматизации, а вузы включают соответствующие дисциплины в программы подготовки по направлениям «Программная инженерия» и «Информатика и вычислительная техника». Распространены профессиональные сообщества и конференции, посвящённые качеству и тестированию ПО.

Преимущества и ограничения

К достоинствам относят:

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

Ограничения:

Критика

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

Смежные направления

С ат-технологиями тесно связаны непрерывная интеграция и непрерывная доставка (CI/CD), управление версиями, статический анализ кода, мониторинг и наблюдаемость систем, а также методологии разработки через тестирование (TDD) и поведение (BDD).

Источники: отраслевые публикации по тестированию программного обеспечения; документация фреймворков JUnit, Selenium, Playwright, pytest; материалы конференций по качеству ПО; учебные программы технических вузов по направлению «Программная инженерия».

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru