Как облегчить разработку ПО: тестировщики создали софт для тестировщиков
Большинство российских компаний, разрабатывающих ПО, уже используют решения класса TMS для управления тестированием. Рассказываем, как эти специализированные инструменты помогают экономить деньги и время разработчиков.
Особенности современной разработки
Программное обеспечение сегодня разрабатывают вендоры, профильные отделы компаний, которые занимаются внедрением или интеграцией ИТ-систем, а также сами заказчики. Разработку ПО сегодня ведут не только специализированные компании, но и структуры, чей бизнес лежит в других областях. Так, отделы инсорс-разработки есть в банках и других финансовых учреждениях, в производственных и девелоперских организациях, на госпредприятиях и т. д. Почти каждая компания среднего и крупного размера заинтересована как в доработке существующих ИТ-продуктов, так и в разработке новых.
Сегодня уже недостаточно просто создать прототип и выпустить его на рынок — конкуренция среди решений высока, а требования пользователей к удобству и надежности многократно выросли за последние годы. Поэтому разработка стала процессом практически непрерывным. Разработчики добавляют новые функции, обнаруживают уязвимости, исправляют ошибки, а потом процесс повторяется снова и снова.
И если разработка софта — это конвейер, то тестирование — один из обязательных его элементов. Даже еще шире: тестирование — часть процесса контроля качества, который сопровождает разработку ПО так же, как и на любом промышленном производстве.
Создана тестировщиками для тестировщиков
В качестве примера решений, которые могут помочь разработчикам на этапе тестирования ПО, рассмотрим Test IT, так как эта система стала лидером в своем классе на российском рынке по версии Russia Quality Report 2022–2023. Это полностью российская разработка, включенная в Единый реестр отечественного ПО.
Test IT относится к классу TMS (Test Management System, система управления тестированием). Основное предназначение инструментов этого класса — оптимизация управления тестированием программных продуктов на стадии их разработки или обновления.
Такое решение позволяет планировать, отслеживать и по возможности автоматизировать действия, необходимые для процесса тестирования. TMS полезна не только отдельным тестировщикам, но и командам, а также сотрудникам отделов управления качеством (Quality Assurance, QA) и смежным специалистам, которые занимаются исследованием продукта на всех этапах его создания.
Однако при ближайшем рассмотрении TMS оказывается более сложным решением, которое должно взаимодействовать как с техническими инструментами разработки, так и с другими элементами ИТ-рельефа компании: информационными системами, бизнес-решениями и т. д.
Очевидно, что TMS должна быть интегрирована с инструментами, которые непосредственно используют в создании и тестировании программного продукта. Также актуальны интеграции TMS с системами управления знаниями и таск-трекерами, системами управления проектами и процессами. Как видно, TMS — инструмент как для технических специалистов, так и для менеджеров соответствующих департаментов.
Как TMS помогает в тестировании
Test IT упрощает планирование и проведение тестирования, а также управляет базами документации, которая накапливается во время таких работ. Детальные отчеты по обнаруженным дефектам, их причинам, обстоятельствам выявления и данным об исправлениях необходимо хранить в удобной форме. Это позволяет проводить ретроспективный анализ и получать ответы на практические вопросы: когда возникла проблема, кто ее исправлял, кто проверял результаты и т. д. Эта информация полезна для общей оптимизации работы.
Программа реализует удобное управление процессами тестирования. В частности, объединяет в едином тест-плане ручные и автоматизированные тесты, генерирует по ним сводную отчетность и визуализирует ее в проектных дашбордах. Любой профильный менеджер оценит актуальность такого инструмента.
Также Test IT располагает функциональностью для специалистов, которые непосредственно занимаются тестированием. Система позволяет редактировать тестовые модели в библиотеке тестов, что упрощает интеграции с популярными инструментами и фреймворками для проведения автотестирования (их более полусотни!).
Заметим, что в роли тестеров могут выступать как специалисты отдела тестирования/QA, так и разработчики на внутренних этапах работы с кодом. Практику Shift-Left Testing, предусматривающую интеграцию процессов тестирования в каждый этап разработки, уже применяют более четверти российских компаний, создающих ПО (29%), а еще 13% планируют реализовать ее в краткосрочной перспективе. Эти данные основаны на опросе, проведенном «Перформанс Лаб».
Разумеется, при таком многообразии пользователей с разными потребностями нужна развитая и гибкая ролевая политика (она есть), а также интеграция с протоколами AD/LDAP. Чтобы упростить выполнение своих задач, Test IT взаимодействует с внешними специализированными системами для тестеров и разработчиков: от трекеров дефектов до CI/CD-решений. Это является методологически важным элементом для современной индустриальной разработки ПО.
Больше трети пользователей еще на зарубежных решениях
Большинство российских компаний, ведущих разработку программного обеспечения, уже используют решения класса TMS. Только 13% организаций, по данным «Перформанс Лаб», еще не пришли к применению таких систем.
Следует помнить про процессы импортозамещения в сфере ИТ. Больше трети российских пользователей TMS все еще работают с зарубежными решениями, судя по данным упомянутого отчета. Однако большинство глобальных производителей систем управления тестированием разорвали связи с российскими пользователями, поэтому с западных TMS придется мигрировать на санкционно-устойчивые. Использование open source по понятным причинам создает сложности для корпоративного рынка, поэтому бизнес массово переходит на системы российского производства.
Использование специализированных инструментов значительно сокращает ресурсы, которые требуются для тестирования ПО. Это касается как тестировщиков и разработчиков, так и администраторов, которые управляют соответствующими процессами. Использование TMS — важный элемент в рамках процессов TestOps. Напомним, что TestOps, как и более общее понятие DevOps, это совокупность управленческих практик, технологий, инструментов и аспектов корпоративной культуры. В сумме эти компоненты помогают упростить и ускорить процессы при создании ПО на протяжении всего цикла разработки. Применение правильно выбранных программных инструментов позволяет оптимизировать затраты ресурсов и, что еще важнее, существенно сократить time to market — время, нужное для создания востребованного решения как для всего рынка, так и для собственных бизнес-задач компании.