Вам может быть интересно
Ситуация в индустрии разработки настоятельно требует развития DevOps — комплекса организационных, управленческих и программных решений, обеспечивающих слаженную и эффективную работу трех базовых групп специалистов: разработчиков, тестировщиков и обеспечивающих эксплуатацию продукта. Концепция DevOps молодая — она появилась в 2016 году — но в современных условиях без интеллектуального управления командами и высокой степени автоматизации процессов командам сложно оставаться эффективными. По аналогии с DevOps аналогичные комплексы создают и развивают в отдельных направлениях индустриальной разработки программ, например, в тестировании возник TestOps.
CNews: Получается, что инструменты для TestOps вы разрабатываете сами для себя?
Артём Ерошенко: Да, специалисты компаний сами создают решения для автоматизации рутинных операций. Это происходит во всех подразделениях: разработчики, тестировщики и группы сопровождения активно создают, внедряют и развивают приложения, упрощающие или полностью автоматизирующие различные повседневные действия. Впереди всех, конечно, разработчики, которые зачастую самостоятельно создают инструменты под внутренние задачи.
Важно, что такой софт нужен как программистам, так и менеджерам отделов разработки, которые активно применяют различные инструменты для получения данных, нужных для принятия решений: оперативных срезов информации по разработке, ретроспективному анализу по направлениям, отдельным подразделениям, рабочим группам и т.д. Хорошо автоматизирована и работа «эксплуатационщиков»: системы фиксируют каждое обращение в службу поддержки, а также параметры реагирования на проблемы, участие в их решении специалистов разных отделов и т.д.
CNews: Такие аналогичные задачи стоят и перед отделом тестирования?
Артём Ерошенко: Конечно! В современных условиях роль тестирования возрастает — от корректности и стабильности работы программ зависят финансовые результаты компаний!
Ситуацию осложняет рост нагрузки — объемы тестирования стали большими, последнее время я бы отметил, даже гигантскими. Сотни тысяч тестов в день сегодня обычная практика. Некоторое количество в этих тысячах тестов вынужденно выполняют вручную, но большинство — в автоматическом режиме. Однако, этими процессами нужно управлять.
Но при этом тестирование остается «узким местом» в индустрии, отставая от решений для разработчиков и для специалистов служб эксплуатации. Успешно автоматизируя инструменты тестирования, компании сталкиваются с необходимостью автоматизации для менеджмента, а вот тут возникают проблемы. В результате ответа на эти индустриальные вызовы и появился TestOps.
CNews: Что нужно для эффективного управления всем процессом тестирования?
Дмитрий Баев: Управление в TestOps должно быть data-driven, а поэтому нуждается в специализированном решении, которое будет проводить сбор отчетов о тестировании, а также позволять проводить анализ собранных массивов данных. Анализ нужен для получения ответов на ряд простых, но при этом бизнес-значимых вопросов, например, «как и когда баг был пропущен в релиз», «какие тесты выполняются слишком долго», «какой отдел разработки «косячит» больше других» и т.д.
Отделу тестирования требуются свои средства для автоматизации, оптимизированные под профильные задачи и «сочетающие несочетаемое». Решение должно позволять вести автоматический сбор и хранение результатов тестов (специализированная база данных, способная накапливать сотни миллионов записей в разных форматах), располагать элементами для автоматизации docflow и EPR (система генерирует формализованные периодические отчеты, в зависимости от событий инициирует бизнес-процессы как у тестировщиков, так и у смежников) и средствами для прикладного анализа накопленной BigData. Бывает нужен специфический data mining, варианты отчетов могут быть разными и весьма затейливыми.
Автоматизация такого уровня делает процесс тестирования прозрачным, а потому управляемым и масштабируемым. В таком виде TestOps уже является значимым инструментом для системы управления качеством продуктов, с которыми вендоры выходят на рынок.
CNews: Есть ли готовые решения для TestOps, отвечающие перечисленным требованиям?
Артём Ерошенко: В большинстве случаев компании-разработчики закрывают данный спектр функций «лоскутной автоматизацией», приложения для которой пишут самостоятельно. Это никак не отвечает требованиям бизнеса по вполне понятным причинам.
Несмотря на высокую востребованность готовых решений для TestOps, их на рынке совсем немного. Мы создали для TestOps автоматизацию и обеспечиваем процессам юзабилити. Наша программа Allure оказалась актуальна для рынка, как в силу редкости программ такого класса, так и по причине развитости функций.
Дмитрий Баев: Как и большинство других приложений для профессионального применения, система начиналась из набора отдельных прикладных приложений, которые мы писали для своих задач. Приложения развивали, их интегрировали между собой, добавляли к ним коннекторы для связи с внешними системами и т.д. Наступил момент, когда пришлось переписать систему «с нуля». Была нужна как унификация кода, так и переход на новый формат базы. Форматы многолетней давности устарели потому, что их гибкость в современных условиях была недостаточной, и они не могли работать со всей широтой метаданных, собираемых системой.
CNews: Что представляет собой Allure сегодня?
Станислав Селиверстов: Сегодня, спустя семь лет после начала работы набор разрозненных инструментов эволюционировал до целостной системы, которая три года существует в качестве двух вариантов: в свободно распространяемом приложении, обладающее базовой функциональностью, и коммерческого релиза, созданного для применения в больших корпорациях.
CNews: Как сосуществуют друг с другом свободно-распространяемая и коммерческая версии?
Станислав Селиверстов: Коммерческий и открытый продукты ориентированы на решения задач разного уровня, поэтому первый не каннибализирует второй. Разумеется, аналитика доступна в коммерческой версии Allure, к которой прилагаются сервисы по премиальной поддержке. Важно, что продукт обладает безопасностью корпоративного уровня, которую обеспечивает поддержка ряда инструментов: доступ на основе ролей, SSO, токены API, журналы аудита и т.д.
CNews: Что конечный потребитель получает от готового решения?
Станислав Селиверстов: Как готовое решение Allure обладает рядом преимуществ. Во-первых, это функциональная полнота. В добавлении и развитии функций разработчикам программы помогает коммьюнити пользователей, которые крайне активны. Во-вторых, Allure «из коробки» работает с большинством инструментов и фреймворков, применяемом в тестировании. Это удобно как при внедрении, так и при использовании. Это же является важным отличием даже от конкурентов на рынке, большинство из которых предлагают тест-менеджмент системы, с которыми инструменты автоматизации необходимо интегрировать через API. В-третьих, Allure обеспечивает связь с инструментами тестирования, например, с тремя десятками самых распространенных фреймворков. Благодаря наличию коннекторов, просто реализовать бесшовную связь фреймворков и пайплайнов.
Наконец, в-четвертых, в Allure есть аналитика для всего процесса тестирования, причем с метриками, а также собственный язык запросов, позволяющих собирать эти метрики в автоматическом режиме и делать удобные визуализации получаемых отчетов.
Артём Ерошенко: Важно, что мы активно обновляем программу. Релизы мы «выкатываем» примерно раз в неделю. В результате Allure востребована командами разработки по всему миру. Нашей программой пользуются в Apple, Disney, Ericsson, Huawei, Google и других компаниях!
CNews: Расскажите подробнее, насколько распространена программа в мире?
Артём Ерошенко: По нашим оценкам, опенсорсным продуктом пользуются свыше миллиона команд во всем мире. Поставки корпоративного релиза в настоящее время превысили полторы сотни инсталляций, что очень хорошо для специализированного продукта такого класса.
CNews: Покупатели коммерческого релиза для TestOps — кто они?
Артём Ерошенко: Покупатели очень разнообразны. Среди них не только вендоры программного обеспечения, но и ритейлеры, банки, строительные компании и другие бизнесы, которые ведут активную разработку собственных программных решений. Большинство покупателей российские компании, но более трети заказчиков из США и Евросоюза.
CNews: Как вы планируете развивать проект и какие перспективы видите?
Станислав Селиверстов: В наших стратегических планах — развитие как коммерческого релиза, так и опенсорс-версии. Уже в обозримом будущем Allure получит возможность работы с плагинами, что расширит функциональность приложения.
Будут добавлены интеграции с новыми инструментами тестирования. Активная работа идет в плане расширения документации. Для начинающих пользователей будет создана «школа» в виде курса лекций про TestOps и его автоматизацию, размещенных в свободном доступе на YouTube.
Развитие будет связано с расширением форматов приобретения: кроме On-Premise варианта будет доступен SaaS. Вариант с доступом по формату «как услуга», разумеется, расширит аудиторию пользователей коммерческих версий, так как будет удобен для небольших команд разработки и стартапов. За счет снижения требований к уровню специалистов, поддерживающих систему, и позволит контролировать расходы на инфраструктуру.