Научная статья на тему 'Обзор лучших практик в управлении командами автотестировщиков'

Обзор лучших практик в управлении командами автотестировщиков Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПО / автотестировщик / управление ИТ-командами / практики управления / тестирование ПО / software / autotester / IT team management / management practices / software testing

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хабибулин Дамир Маратович

На сегодняшний день вопрос об автоматизации системы проверок ПО является решенным и не представляет особых проблем. В прошлом тестировщики были вынуждены выполнять множество операций вручную, но сегодня автоматизация тестирования становится все более распространенной в связи с регулярным обновлением современного программного обеспечения, требующего непрерывных проверок. Но, вопрос управления командами, которые проводят тесты в автоматическом режиме является новым для отечественных исследователей, что определяет его актуальность и необходимость более глубокого изучения. Цель работы – рассмотреть подходы, которые реализуют руководители ведущих тестировщиков ПО, при проверке их деятельности. Для достижения поставленной цели будут использованы такие методы, как сопоставление данных, анализ и синтез информации, обобщение лучших вариантов и сравнение отечественных и зарубежных практик. В результатах отражено, что в большинстве своем, как в отечественной, так и в зарубежной системах существуют проблемы с оперативной проверкой деятельности автотестировщиков. Но, в то же время, в отечественной практике наблюдается иной подход к организации самой деятельности при управлении командами тестировщиков. В заключении сделан вывод, что отечественные разработчики выбрали собственный путь развития и как следствие, руководители команд подстраиваются под требования российской современности, что накладывает свои особенности на систему проверок

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хабибулин Дамир Маратович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Overview of best practices in managing autotest teams

To date, the issue of automating the software verification system has been resolved and does not pose any special problems. In the past, many actions had to be performed manually by testers, but nowadays test automation is becoming more widespread due to the regular updating of modern software, which requires continuous monitoring. However, the issue of managing teams that conduct tests in automatic mode is new for domestic researchers, which determines its relevance and the need for deeper study. The purpose of the work is to consider the approaches that are implemented by the heads of leading software testers when checking their activities. To achieve this goal, methods such as data comparison, analysis and synthesis of information, generalization of the best options and comparison of domestic and foreign practices will be used. The results reflect that for the most part, both in domestic and foreign systems, there are problems with operational verification of the activities of autotesters. But, at the same time, in domestic practice there is a different approach to the organization of the activity itself when managing teams of testers. In conclusion, it is concluded that domestic developers have chosen their own path of development and, as a result, team leaders adapt to the requirements of Russian modernity, which imposes its own characteristics on the verification system.

Текст научной работы на тему «Обзор лучших практик в управлении командами автотестировщиков»

Обзор лучших практик в управлении командами автотестировщиков

СЧ

о

сч

о ш m

X

3

<

m о х

X

Хабибулин Дамир Маратович

ведущий инженер по автоматизированному тестированию, Qatar Insurance Company, Digital Hub, damir.khabibulin@bd.qatarinsurance.com

На сегодняшний день вопрос об автоматизации системы проверок ПО является решенным и не представляет особых проблем. В прошлом тестировщики были вынуждены выполнять множество операций вручную, но сегодня автоматизация тестирования становится все более распространенной в связи с регулярным обновлением современного программного обеспечения, требующего непрерывных проверок. Но, вопрос управления командами, которые проводят тесты в автоматическом режиме является новым для отечественных исследователей, что определяет его актуальность и необходимость более глубокого изучения. Цель работы - рассмотреть подходы, которые реализуют руководители ведущих тестировщиков ПО, при проверке их деятельности. Для достижения поставленной цели будут использованы такие методы, как сопоставление данных, анализ и синтез информации, обобщение лучших вариантов и сравнение отечественных и зарубежных практик. В результатах отражено, что в большинстве своем, как в отечественной, так и в зарубежной системах существуют проблемы с оперативной проверкой деятельности ав-тотестировщиков. Но, в то же время, в отечественной практике наблюдается иной подход к организации самой деятельности при управлении командами тестировщиков. В заключении сделан вывод, что отечественные разработчики выбрали собственный путь развития и как следствие, руководители команд подстраиваются под требования российской современности, что накладывает свои особенности на систему проверок.

Ключевые слова: ПО, автотестировщик, управление ИТ-командами, практики управления, тестирование ПО

Введение

Как было отмечено российским правительством в 2023 году: основная цель всех организаций отказаться от зарубежного ПО и перейти на отечественные разработки, что считается более надежным, практичным и материально выгодным. Однако, важно отметить, что многие исследователи все еще указывают на то, что отечественные программные продукты отстают от зарубежных по качеству и количеству заложенных функций. Но, исследований, которые могли бы обоснованно указать на то, что современные отечественные разработки сильно уступают зарубежным нет, что говорит об обращении к более раннему периоду, когда отечественные разработки были не востребованы и не могли занять достойное место на рынке.

На сегодняшний день отечественные ИТ-компании предоставляют качественные продукты, которые в полном объеме могут удовлетворить потребности рынка. Но, для того что бы соответствовать требованиям потребителей руководству необходимо постоянно заниматься вопросами обновлений и изменений выпущенной программной продукции. В данном направлении действует команда те-стировщиков, которая и должна заниматься проверками новых продуктов на пригодность. И если вопрос ручных проверок рассматривается, как в отечественной, так и в зарубежной литературе, то переход на автоматизированную систему считается вопросом новым и требует особого внимания со стороны исследователей, что определяет актуальность данного исследования.

Цель работы - рассмотреть подходы, которые реализуют руководители ведущих тестировщиков ПО, при проверке их деятельности.

Необходимо отметить, что несмотря на то, что современные исследования говорят о том, что ручное тестирование всегда будет актуальным, сегодня растет спрос на автоматизированное тестирование [1,2]. Это дает компаниям и командам множество преимуществ: экономия времени [3] и широкий охват [4]. Однако вопросы разработки стратегии автоматического тестирования остаются не раскрытыми.

Так, современные исследователи говорят о том, что можно выделить 7 этапов стратегии автоматизации тестирования:

1. Разработка плана автоматизации тестирования. Здесь команды должны определить объем автоматизации и приоритеты тестирования, одновременно оценивая доступные ресурсы и потенциальные риски. После оценки команда может определить план действий с указанием конкретных сроков и ответственности за каждое действие [5].

2. Выбор подходящего подхода к автоматизации имеет основополагающее значение для создания надежных и удобных в обслуживании сценариев тестирования с использованием скриптовых средств. Здесь команды могут выбирать между различными архитектурными решениями: модульной, линейной, библиотечной архитектурой, управляемой данными и гибридной инфраструктурой. Поскольку для этого требуется такая же последовательность, как и для разработки программного обеспечения, очень важно, чтобы внедрение фреймворка для тестирования ПО было четко определенным процессом [6].

3. Приобретение инструментов тестирования. У групп тестирования сегодня есть множество вариантов, поскольку на рынке доступны сотни инструментов. Здесь команды должны разработать стратегию инструментов автоматизации с подробными вопросами о доступных ресурсах и требованиях [7].

4. Настройка среды автоматизации. Этот этап является важным этапом в стратегии автоматизации, поскольку именно здесь планирование начинает действовать. На этом этапе команды проверяют

выбранную среду тестирования и приобретаются необходимые инструменты автоматизации для программного тестирования. Хотя разработка тестирования непредсказуема, для успешной автоматизации тестирования необходима стабильная среда [8].

5. Автоматизация тестирования дизайна. Эта тестовая сборка должна проводиться параллельно с разработкой программного обеспечения, чтобы не отставать от изменений в приложениях. При разработке тестовых примеров важно не забывать соблюдать правильный порядок модулей тестирования и охватывать как позитивные варианты, так и негативные варианты (к примеру, недостоверные попытки входа в программное обеспечение или любые неверные данные, проходящие через приложение) [9].

6. Выполнение автоматизации тестирования. Чтобы увеличить скорость выпуска при сохранении качества продукта, можно использовать такие процессы, как CI/CD. При этом важно учитывать, что некоторые среды тестирования требуют предварительной настройки, например локальной, автономной, CI/CD и т. д. Мок-сер-веры представляют собой вариант решения для учета подобных аспектов, в том числе, относящихся к отчетам об ошибках.

7. Результат, анализ и возможность повторного использования. На этом этапе должен быть план анализа неудачных тестовых случаев и последующих действий для устранения обнаруженной проблемы. Обязательно нужно учитывать время, которое потребуется тестировщикам на заведение отчетов об ошибках и их последующую проверку. Таким образом, четко определенный процесс избавит команды от множества конфликтов и ресурсов при доработке приложения [10].

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

Материалы и методы

В данной работе использованы такие методы, как:

• сопоставление данных, представленных в работах отечественных и зарубежных исследователей, а также находящихся в открытом доступе;

• анализ и синтез информации, о системе тестирования и перехода на автоматизацию данного процесса в ведущих ИТ-компаниях;

• обобщение лучших вариантов управления командами авто-тестировщиков;

• сравнение отечественных и зарубежных практик по реализации программной проверки работоспособности ПО.

Результаты

Рекомендации по разработке программного обеспечения требуют, чтобы до начала проекта была разработана стратегия, направляющая процесс. Четко определенная и действенная стратегия служит дорожной картой того, что программное обеспечение должно делать, чтобы соответствовать требованиям и обеспечивать удовлетворительный пользовательский опыт. Реализация стратегии, специфичной для тестирования, помогает гарантировать, что методы и процессы включают как объективную, так и субъективную оценку и спланированы таким образом, чтобы наиболее эффективно использовать имеющиеся ресурсы. Конечно, все программное обеспечение, которое тестирует ИТ-компания, не обязательно будет на 100% автоматизировано, но разработка стратегии может помочь достичь максимальных результатов, определив, что будет тестироваться, кем и с помощью каких средств.

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

В целом, необходимо отметить, что существует общая система автотестирования, которая может служить опорой для современных ИТ-компаний (рис.1). И как было ранее отмечено, поэтапное планирование и реализация автотестирования - это самостоятельный выбор руководства и команды тестировщиков.

1

Моделирование предметной области

Моделирование о йласгн решения

Рис. 1 Наиболее распространенная система автотестирования

Эффективная стратегия в управлении командами автотестиров-щиков может выстраиваться в рамках следующего алгоритма: Организация ресурсов (так команда остается в рамках графика и бюджета, что важно не только для ИТ-организации, но и для отношений с клиентом). Далее идет процесс работы с самой командой: назначение руководителя группы, а затем определение того, кто будет в команде. Важным вопросом в данный момент является определение набора навыков, умений, мобильности и опыта каждого члена команды.

На данном моменте необходимо сделать отступление и отметить, что отечественные компании переняли у западных идею перспективности работников с опытом. Так, руководители стремились объединить в команды людей, которые работали над похожими проектами, это считается залогом успешности нового продукта и как результат, от таких разработок ожидают большие дивиденды. Но, после внедрения российским правительством программы поддержки молодых разработчиков и программистов, политика ИТ-компаний была пересмотрена и начиная с 2019 года привлекаются талантливые выпускники, которые занимаются основательными разработками и способны подстраиваться под требования автоматизации тестирования программных продуктов.

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

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

Имея на руках эту информацию, коллективные знания команды должны способствовать реализации стратегии. Последняя может быть реализована в рамках системы автотестирования, которая может быть применена к любым программным продуктам (рис.2)

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

X X О го А С.

X

го m

о

м о

M ■р»

сч о сч

о ш т

X

3

<

т О X X

Следовательно, успешность разработки, напрямую связана с работой команды и методами, к которым подходит руководитель, при управлении работой команды автотестировщиков.

Хранолвше кола

Сервер

Менеджер автотестпрованпн

Рис.2 Схема системы автотестирования

Кроме того, от команды так же зависит и выбор правильных инструментов и тестов, который также важен, но их эффективность будет снижена, если команда не будет применять рекомендации по автоматизации тестирования.

Самым главным при этом является то, что комплексная программа тестирования содержит три наиболее важных рекомендаций, включая стратегию управления всеми процессами, руководящий документ с изложением политики ИТ-компании и план обслуживания для определения того, какие тесты и тестовые сценарии будут сохраняться и почему.

Основные п[шнпппы разработки автотестов

X

ПНемвЕслмость

Гибкость платформы (кроссплатформенностъ) Гибкость входных данных

(параметризация) Гибкость изменения кода(модульность, управляемость)

регулярные проверки п работа в новом информационном поле

Простая настройка

Отчеты:

- Временные меткп -Ход тестирования

- Информация о любых ошибках

- Результаты выполнения скрппта(пройдено пли не пройдено)

- Объяснение результатов (файлы не найдены, тест не пройден/все необходимые файлы существуют, тест пройден и т.д.)

Соблюдение предварительных

Используванпе внешних источников данных

Рис. 3 Схема успешной работы автотестировщиков при разработке фреймворка для тестирования ПО

Следовательно, лучшие практики - это в первую очередь успешно реализованные проекты, а это говорит о том, что современные ИТ-компании в той или иной степени, но, уже ориентируются на опыт зарубежных партнеров.

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

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

Обсуждение

Контроль над работой команды автотестировщиков, это в первую очередь проверка качества их работы. За последние годы управление качеством претерпело значительные изменения. Но по-прежнему существует острая необходимость обеспечения стабильного качества во всем портфеле приложений. Вот почему надлежащее управление, которое также охватывает рекомендации и передовой опыт, приобретает все большее значение.

Внедрение системы контроля качества для проведения регулярных проверок соответствия заданным стандартам и руководящим указаниям является дополнительным инструментом обеспечения качества. Это приносит преимущества, особенно в отраслях с высоким уровнем регулирования.

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

• наличие проверок продукта на всем этапе его жизненного цикла;

• выявление и исправление ошибок в режиме реального времени.

Следовательно, ключевой момент в проверке качества работы автотестировщиков - это конечный продукт, который будет жизнеспособен, востребован на рынке и сможет адаптироваться под новые условия и потребности покупателей.

Заключение

В рамках существующей литературы по рассматриваемой теме, можно говорить о том, что на сегодняшний день переход к автотестированию программных продуктов находится на начальном этапе, как в России, так и за рубежом. В то же время, уже сегодня прослеживается разница в проводимой ИТ-компаниями политике. Так, зарубежные компании стремятся формировать команды автотестиров-щиков из людей с опытом и наличием успешных проектов. Такая политика оправдывается стремлением получить как можно больше дивидендов с выпускаемого продукта. Но, российское правительство видит данный вопрос с другой стороны - главной задачей является увеличение числа собственных специалистов и как результат, сегодня активно поддерживаются выпускники и молодые талантливые предприниматели в ИТ-сфере. При условии следования оптимальным алгоритмам и схемам можно предположить, что доля успешности будет так же велика, как и у зарубежных конкурентов. Что указывает на перспективность отечественного ИТ-сектора и возможность дальнейшего изучения данной темы на примерах отдельных отечественных компаний.

Литература

1. Бойко В. А. Анализ особенностей процесса тестирования графического интерфейса пользователя//Приборы и системы. Управление, контроль, диагностика. 2021. № 2. С.16-25

2. Бойко В. А., Легалов А. И., Зыков С. В. Архитектура интеллектуальной системы тестирования // Журнал СФУ. Техника и технологии. 2022. №2. С.274-282. DOI: 10.17516/1999-494Х-0390

3. Гаврильев Э. И., Авдеенко Т. В. Многофакторная регрессионная модель оценки квалификации тестировщика программного обеспечения // Доклады ТУСУР. 2022. №4. С.115-122

4. Минитаева А.М., Пешков Д. В. Нейронная сеть для определения принадлежности к заданному языку//Славянский форум. 2019 № 1 (23). С. 174-181

5. Никулина Н. О., Малахова А. И., Баталова В. И. Методика оценки вклада участников проектной команды в достижение целей ИТ-проекта // Информационные и математические технологии в науке и управлении. 2021. №2 (22). С.94-104

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

6. Avdeenko T.V. Intelligent support of requirements management in agile environment // Studies in Computational Intelligence: Service orientation in holonic and multi-agent manufacturing. 2019.№ 803. P. 97108.

7. Chen J., Xie M., Xing Z., Chen C., Xu X., Zhu L. Object Detection for Graphical User Interface: Old Fashioned or Deep Learning or a Combination?// Proceedings of the Sixth International Conference on Green and Human Information Technology. 2020. №20. Р. 86-90.

8. Deshpande A.P., Mahender C. N. Summarization of graph using question answer approach//Advances in Intelligent Systems and Computing 2020. № 933. Р. 205-216.

9. Florea R. The skills that employers look for in software testers / R. Florea, V. Stray // Software Quality Journal. 2019. № 27. P. 1449-1479.

10. Rahmadi A., Sudaryanto A. Visual Recognition Of Graphical User Interface Components Using Deep Learning Technique//Jurnal Ilmu Komputer dan Informasi. 2020. № 13(1). Р. 25-35.

Overview of best practices in managing autotest teams Khabibulin D.M.

Qatar Insurance Company, Digital Hub

JEL classification: C10, C50, C60, C61, C80, C87, C90

To date, the issue of automating the software verification system has been resolved and does not pose any special problems. In the past, many actions had to be performed manually by testers, but nowadays test automation is becoming more widespread due to the regular updating of modern software, which requires continuous monitoring. However, the issue of managing teams that conduct tests in automatic mode is new for domestic researchers, which determines its relevance and the need for deeper study. The purpose of the work is to consider the approaches that are implemented by the heads of leading software testers when checking their activities. To achieve this goal, methods such as data comparison, analysis and synthesis of information, generalization of the best options and comparison of domestic and foreign practices will be used. The results reflect that for the most part, both in domestic and foreign systems, there are problems with operational verification of the activities of autotesters. But, at the same time, in domestic practice there is a different approach to the organization of the activity itself when managing teams of testers. In conclusion, it is concluded that domestic developers have chosen their own path of development and, as a result, team leaders adapt to the requirements of Russian modernity, which imposes its own characteristics on the verification system.

Keywords: software, autotester, IT team management, management practices, software testing

References

1. Boyko V. A. Analysis of the features of the graphical user interface testing process//Devices and systems. Management, control, diagnostics. 2021. No. 2. pp.16-25

2. Boyko V. A., Legalov A. I., Zykov S. V. Architecture of an intelligent testing system // SibFU Journal. Engineering and technology. 2022. No.2. pp.274-282. DOI: 10.17516/1999-494 X0390

3. Gavrilov E. I., Avdeenko T. V. Multifactorial regression model of software tester qualification assessment // Reports of TUSUR. 2022. No.4. pp.115-122

4. Minitaeva A.M., Peshkov D. V. Neural network for determining belonging to a given language//The Slavic Forum. 2019 No. 1 (23). pp. 174-181

5. Nikulina N. O., Malakhova A. I., Batalova V. I. Methodology for assessing the contribution of project team members to achieving the goals of the OTP project // Information and mathematical technologies in science and management. 2021. No.2 (22). pp.94-104

6. Avdeenko T.V. Intelligent support of requirements management in agile environment// Studies in Computational Intelligence: Service orientation in holonic and multi-agent manufacturing. 2019. № 803. P. 97-108.

7. Chen J., Xie M., Xing Z., Chen C., Xu X., Zhu L. Object Detection for Graphical User Interface: Old Fashioned or Deep Learning or a Combination?// Proceedings of the Sixth International Conference on Green and Human Information Technology. 2020. №20. P. 86-90.

8. Deshpande A.P., Mahender C. N. Summarization of graph using question answer approach//Advances in Intelligent Systems and Computing 2020. № 933. P. 205-216.

9. Florea R. The skills that employers look for in software testers / R. Florea, V. Stray // Software Quality Journal.2019. № 27. P. 1449-1479.

10. Rahmadi A., Sudaryanto A. Visual Recognition Of Graphical User Interface Components Using Deep Learning Technique//Jurnal Ilmu Komputer dan Informasi. 2020. № 13(1). P. 25-35.

I I О го А J=

I ГО

m

о

го о го •рь

i Надоели баннеры? Вы всегда можете отключить рекламу.