DOI: 10.12731/2070-7568-2020-2-91-103 УДК 004.054
подходы К ПОДБОРУ удаленных сред для автоматического тестирования ит-продуктов
Кривозятева М.С., ГайковаЛ.В.
В среде конкурирующих компаний тестирование программного обеспечения и готовых систем становится одним из самых популярных направлений использования для виртуальных интернет-платформ. В условиях цифровизации экономики не только все большее число предпринимателей переходит в электронный бизнес, но и тенденции развития в ИТ отрасли также меняют вектор своего действия в сторону удаленных разработок и тестирования посредством интернета и мобильных приложений. В работе проанализированы плюсы и минусы подбора удаленных сред для автоматического тестирования ИТ-продуктов. Выработаны критерии выбора платформ установки тест-кейсов и критерии выбора сервиса для онлайн-тестов. Обозначены критерии подбора инструментов автоматизации тестирования ИТ-продуктов.
Цель исследования: обоснование выбора подходов к подборууда-ленных сред для автоматического тестирования ИТ-продуктов.
Приемы и инструменты анализа и обобщений задач исследования: использованы приемы и инструменты системного анализа и обобщений.
Результаты: для виртуализации процессов тестирования и проведения распределенного тестирования сразу с нескольких рабочих мест, обозначены подходы к подбору удаленных сред для автоматического тестирования ИТ-продуктов, определен инструментарий выбора подходов, обозначены основные виды средств автоматизации тестирования.
Область применения результатов: руководители компаний при решении вопросов внедрения интеллектуальной автоматизации и смарт-аналитики для ускорения процессов принятия ключевых решений и валидации продукта.
Ключевые слова: удаленные среды; тест-кейсы; платформа установки тест-кейсов; сервис для онлайн-тестов; интеллектуальная автоматизация; смарт-аналитика; валидация продукта.
APPROACHES TO SELECTING REMOTE ENVIRONMENTS FOR AUTOMATED IT-PRODUCT TESTING
Krivozjateva M.S., Gajkova L.V.
In a competitive environment, testing software and end-to-end systems is becoming one of the most popular uses for virtual internet platforms. With the digitalization of the economy, not only is an increasing number of entrepreneurs moving into electronic business, but trends in the IT industry are also changing the vector of their action towards remote development and testing through the Internet and mobile applications.
The work analyzed the advantages and disadvantages of selecting remote environments for automatic testing of IT products. Criteria for selecting platforms for installing test cases and criteria for selecting a service for online tests are developed. The criteria for selecting tools for automating testing of IT-products are outlined.
Purpose: rationale for selecting remote environments for automated IT product testing.
Methods and tools of analysis and generalizations of research tasks: methods and tools of system analysis and generalizations are used.
Results: to virtualize testing processes and perform distributed testing from multiple workplaces at once, identify approaches to selecting remote environments for automatic testing of IT products, de-
fine tools for selecting approaches, and identify the main types of test automation tools.
Scope of results: business executives, when addressing the implementation of intelligent automation and smart analytics to accelerate key decision-making and product validation.
Keywords: remote environments; test cases; platform of installation of test cases; service for online tests; intellectual automation; smart analytics; validation of a product.
Введение
В современном мире необходимость иметь единое пространство только с личным доступом с рабочего места становиться не актуально. Сегодня виртуальные интернет-технологии нашли свое применение во многих сферах ИТ для решения самых различных задач [1, 13]. Тестирование программного обеспечения (ПО) и готовых систем - один из самых популярных направлений использования для виртуальных интернет-платформ [13]. Причем, если запустить сразу несколько виртуальных систем на одной рабочей машине, то существенно возрастает гибкость и ИТ-инфраструктуры, и эффективность использования аппаратных ресурсов. В настоящий момент в условиях цифровизации экономики все большее число предпринимателей переходит в электронный бизнес [2, 8, 9, 15].
Тенденции развития в ИТ отрасли меняют вектор своего действия в сторону удаленных разработок и тестирования посредством интернета и мобильных приложений [16]. Одна из известнейших компаний - компания SmartBear Software, занимающаяся разработкой готовых программных продуктов для широкого круга пользователей, уже три года подряд проводит опросы тестировщиков программного обеспечения (ПО).
Итоги опроса показывают, что работа большинства тестиров-щиков из различных компаний направлена на проверку именно веб-приложений (79%) и веб-сервисов (77%). За три года опросов этот показатель не опускался ниже 70% [7] (рисунок 1).
Рис. 1. Процент тестирования приложений по годам [7]
Как правило, в основном, все компании приходят к выводу, что покрытие 50% системы автотестами дает возможность не только вовремя выявить ошибки, но и контролировать работу системы в целом (рисунок 2) [7].
Рис. 2. Процент покрытия системы автотестами по годам [7]
цель исследования
Сегодня все большее число компаний ставят перед собой задачу ускорения процесса принятия ключевых решений и валидации продукта. Для этого внедряют как интеллектуальную автоматизацию, так и смарт-аналитику с целью более эффективного тестирования интеллектуальных устройств нового поколения, инновационных высокоинтегрированных продуктов, с учетом того, что изменения в эти устройства и продукты вносятся постоянно [1, 5, 8]. При принятии решения о проведении тестирования ИТ-продукта нужно четко понимать, какова будет стоимость тестирования и учитывать сложность вычисления показателя возврата инвестиций [4], что необходимо для обоснования целесообразности проведения тестирования.
Поиск научно обоснованного подхода к подбору удаленных сред автоматического тестирования ИТ-продуктов, который будет отображать положительный показатель возврата инвестиций обоснования целесообразности проведения тестирования в условиях возрастающей цифровизации экономики [2, 15], и явился целью настоящего исследования.
Решение этой проблемы найдено в виртуализации процессов тестирования сразу с нескольких рабочих мест. Результаты такого тестирования сохраняются в специализированной базе данных и доступны широкому кругу заинтересованных специалистов [13].
Приемы и инструменты анализа и обобщений задач исследования
Специалисты по качеству ПО приступают к тестированию продукта на основной платформе - платформе разработки.
После того, как продукт будет протестирован на этой платформе лишь в конце всех работ необходимо проводить тестирование продукта в различных операционных системах (ОС) и пользовательских средах. Так называемое конфигурационное тестирование проводится далеко не всегда и, как правило, по нескольким причинам [11, 16] (таблица 1).
Таблица 1.
Причины проведения конфигурационного тестирования
Причина Содержание
Разработка и поддержка продукта ведется только на одной платформе Нет необходимости тестировать продукта на других ОС и платформах, т.к. компания сразу предупреждает своих клиентов, что работать так, как задумано данный продукт будет на одной платформе, и, если на других будут ошибки или недочеты - компания не несет за это ответственность
На тестирование на нескольких платформах не остается времени Тестировщик проверяет работу продукта на основной платформе, а также основные моменты работы продукта на еще одной или паре платформ. На основной платформе есть эталонный вид программы, а на менее рабочих - поддерживаются основные функции работы продукта. При возникновении дефектов сверяются с основной платформой и вносят исправления
В распоряжении сотрудников компании не всегда находится достаточное количество компьютеров На один компьютер, в одной ОС, как правило, нельзя поставить одновременно несколько версий одного программного продукта. Вследствие этого, в ПО команд разработчиков часто встречаются ошибки, связанные с особенностями пользовательских конфигураций
Возникают ситуации, когда при тестировании на побочной платформе у тестировщика попадается дефект, который фиксируется разработчику. При этом у разработчика данный дефект на основной платформе никак не проявляется. В этом случае приходится ставить на машину тестировщика множество отладок, чтобы отловить данный дефект и понять, где необходимо выполнять правки. В таблице 2 обозначены проблемы выбора платформ установки тест-кейсов. Таблица 2. Проблемы выбора платформ установки тест-кейсов
Проблема Содержание
Испытание ПО Необходимо испытать ПО в количестве пользовательских конфигураций больше, чем есть в распоряжении для тестирования рабочих компьютеров сотрудника
Огромные временные затраты на развертывание и настройку тестовых стендов Между тестовыми стендами необходимо обеспечить сетевое взаимодействие
Значительные временные и ресурсные затраты на создание резервных копий систем Сокращение затрат после сбоя вследствие нестабильной работы конфигураций и восстановления системы
Окончание табл. 2.
Воспроизведение дефектов Воспроизводите дефекты как у тестировщика, так и у разработчика без потери времени на его поиск, исправление
Наличие соответствующей аппаратной среды у пользователя Испытания ИТ-продуктов в условиях той аппаратной среды, которая установлена у тестировщика
Переключение между пользователями Возможность быстрого переключения между пользовательскими конфигурациями при тестировании программного продукта
В итоге если подсчитать, сколько времени, трудозатрат и ресурсов уходит на решение этих проблем, то может получиться довольно большая цифра, которая может составить довольно большую часть бюджета проекта [6, 9, 13].
Если необходимо выявить основные виды средств автоматизации тестирования, то это [12]:
1. Инструменты функционального тестирования.
2. Инструменты нагрузочного тестирования.
Инструменты первого вида отвечают, как правило, за проверку
соответствия ПО либо приложений выбранным бизнес-требованиям. Инструменты второго типа отвечают в основном за прогон, проверку тест-кейсов, а также производят оценку производительности ПО либо приложений. Если рассматривать основные инструменты автоматического нагрузочного тестирования, то можно выявить, что практически все ведущие производители подобных инструментов добавляют в них нагрузочное тестирование [5, 6]. Тогда основными критериями, на наш взгляд, при выборе инструмента автоматического тестирования становятся [7, 9]:
1. Понимание того, что именно компания ждет от автоматического тестирования - это будет функциональное тестирование, нагрузочное тестирование или же поддержка автоматического тестирования.
2. Определиться со стоимостью на эти средства. Стоит рассмотреть те продукты, у которых есть возможность аренды лицензии, обычно это выходит намного дешевле.
3. Не стоит пренебрегать полнотой документации. Как правило, грамотно составленная документация позволяет сэкономить деньги компании, так как консультации бывают платными.
4. Оценить сложность перехода на новый инструмент затраты на обучение сотрудников. Возможно стоит приобрести инструмент дороже, но на него не придется переучивать всех сотрудников, что сэкономит финансы.
5. Оценить нагрузку серверов и необходимость покупать дополнительные инструменты.
Результаты исследования и их обсуждения
Грамотное применение технологии виртуализации в процесс разработки и тестирования помогает существенно снизить трудозатраты и значительно повысить эффективность процесса выпуска ИТ-продукта [13]. Автоматизация тестирования в удаленной онлайн-среде позволяет снизить трудозатраты в следствии сокращения количества времени на формирование тестов и проведение контроля качества [5, 6].
Автоматическое удаленное тестирование можно проводить столь часто, как это необходимо системы. Каждый тест выполняется с такой скоростью, с какой ему удобнее [1]. Кроме того, необходимо подходить со всей ответственностью и к подбору сервиса для он-лайн-тестов [3, 13]. В таблице 3 представлены основные критерии такого выбора.
Таблица 3.
Критерии выбора сервиса для онлайн-тестов
Критерий Характеристика
Возможность тестировать большой набор объектов Инструмент для онлайн-тестов должен позволять тестировать как можно больше типов стимульных материалов
Форматы заданий Должна быть возможность создавать качественный дизайн исследования
Возможность собрать как можно больше качественных и количественных данных. Например, запись видео и аудио, переходы по верной ссылке, первый клик по ссылке и т.д.
Возможность получить данные о результатах тестирования в удобном для анализа формате. В качестве результатов тестирования важно получить сводные данные по выполнениям всех тестов в таком формате, чтобы их можно было анализировать в разных разрезах
Окончание табл. 3.
Возможности для подбора тест-кейсов Возможность самостоятельно выбрать тест-кейсы для тестирования конкретной задачи системы. Важно чтобы сервис «помогал» отбирать нужные тест-кейсы
Простота начала своего воспроизведения тест-кейсу Очень важно, чтобы в процессе выполнения автоматического тестирования у тест-кейса возникало как можно меньше зависимостей от системы и других данных, а сама процедура прохождения теста не была громоздкой
Наличие интеграции с другими платформами Принципиально важна интеграция платформы для онлайн-тестов со сторонними сервисами
Стоимость Некоторые сервисы для онлайн-тестов настроены на заключение длительных и дорогих контрактов с конечными клиентами. Тариф должен быть приемлемым для различных компаний
Инструменты автоматизации играют ключевую роль в области тестирования ПО [14].
Наиболее известные инструменты автоматизации тестирования показаны в таблице 4.
Таблица 4.
Наиболее известные инструменты автоматизации тестирования
Инструмент Назначение
Selenium Имеет открытый исходный код, который предназначен для автоматического тестирования веб-приложений. Однако, чтобы начать работать с Selenium, тестировщик должен иметь хорошие знания в программировании
Katalon Studio За счет того, что Katalon Studio является потомком Selenium и Appium он вобрал в себя самое лучшее от этих двух фреймворков. Чтобы начать работать с данным инструментом хватит и начальных знаний в этой области
Unified Functional Testing или UFT Предоставляет полный набор функций для тестирования веб-сервисов, графического интерфейса десктопных, мобильных и веб-приложений на всех существующих платформах
TestComplete Инструмент для тестирования мобильных и веб-приложений
IBM Rational Functional Tester Предназначен для тестирования регрессии ПО. Имеет уникальную функцию, объединяющую автоматическое тестирование и визуализацию в виде последовательных изображений
Таким образом, автоматическое тестирование должно быть простым и универсальным средством проведения качества уже работающей системы, вне зависимости от тематики тестирования.
Выводы
Постоянное совершенствование автоматизации тестирования на сегодняшний день становится основным направлением в развитии разработок программного обеспечения. Компании смогут проводить более эффективно тестирование интеллектуальных устройств нового поколения и высокоинтегрированных продуктов, благодаря таким инновационным мероприятиям. Необходимо создавать интеллектуальные платформы для тестирования, характеризующихся высоким уровнем адаптивности. Обеспечить эффективную поддержку полного жизненного цикла приложения будет возможно именно на основе таких платформ [14].
Каждый из просмотренных выше инструментов имеет свой особенный, неповторимый набор возможностей, который поможет в решении непрерывно меняющихся задач при работе автоматического тестирования программного обеспечения. Благодаря любому из этих инструментов компании совершенствуют и осуществляют постоянное, непрекращающееся тестирование, получая отчеты о проделанной работе [9].
Список литературы
1. Автоматизированное тестирование: как не выстрелить себе в ногу [Электронный ресурс] // MS: [сайт]. Режим доступа: https://techrocks. ru/2018/10/28/test-automation-in-software-development
2. Атурин В.В., Мога И.С., Смагулова С.М. Управление цифровой трансформацией: научные подходы и экономическая политика. Управленец. Уральский государственный экономический университет. Екатеринбург 2020. Том 11, № 2. С. 67-76.
3. Выбираем сервис для удаленного юзабилити-тестирования, [Электронный ресурс] // MS: [сайт]. Режим доступа: https://medium.com/ usethics-doc/remote-user-testing-review-765217c70b15
4. Гайкова Л.В. Динамическое бизнес-планирование инвестиций на основе имитационного моделирования. // Мы продолжаем тради-
ции российской статистики. Новосибирск, НГУЭУ-»НИНХ». 2016. С. 82-89.
5. Дастин Э., Рэшка Д., Пол Д. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация. М.: Изд-во Лори, 2003. 567 с.
6. Карл И. Вигерс, Джой Битти. Разработка требований к программному обеспечению. 3-е изд., дополненное / Пер. с англ. М. : Изд-во «Русская редакция»; СПб. : БХВ-Петербург, 2014. 736 с.
7. Ключевые тренды тестирования ПО из исследования SmartBear: виды тестов и тенденции, [Электронный ресурс] // MS: [сайт]. Режим доступа: https://habr.com/ru/company/netologyru/blog/497320
8. Котляров И.Д. Тенденции революции электронной коммерции // Интернет-маркетинг. Издательский дом «Гребенников». Москва, 2012. №4. С. 252-258.
9. Кривозятева М.С., Гайкова Л.В. Проблемы выборки тест-кейсов для автоматического тестирования ИТ-продуктов. Наука Красноярья. 2020. Т. 9. № 1. С. 83-94.
10. Крылов Е.В., Острейковский В.А., Типикин Н.Г. Техника разработки программ: в 2 кн. Кн. 2. Технология, надежность и качество программного обеспечения: учебник. М.: Высш. шк., 2008. 469 с.
11. Лаврищева Е. М. Software engineering компьютерных систем. На-укова думка, 2013. 283 с.
12. Липаев В.В. Обеспечение качества программных средств. Методы и стандарты. М.: СИНТЕГ, 2001. 380 с.
13. Тестирование ПО на виртуальных машинах [Электронный ресурс] // MS: [сайт]. Режим доступа: https://www.ixbt.com/cm/virtuaHzation-soft-testing.shtml
14. Топ 10 инструментов автоматизации тестирования 2018, [Электронный ресурс] // MS: [сайт]. Режим доступа: https://habr.com/ru/ post/342234
15. Устюжанина Е.В., Сигарев А.В., Шеин Р.А. Цифровая экономика как новая парадигма экономического развития. Национальные интересы: приоритеты и безопасность. ООО «Издательский дом ФИНАНСЫ и КРЕДИТ». Москва. 2017. Том 13, № 10 (355). С. 1788-1804.
16. Ron Patton. Software Testing. Sams Publishing, 2005. 408 с.
References
1. Avtomatizirovannoe testirovanie: kak ne vystrelit' sebe v nogu [Automated testing: how not to shoot yourself in the foot]. MS. https://techrocks. ru/2018/10/28/test-automation-in-software-development
2. Aturin V.V., Moga I.S., Smagulova S.M. Upravlenets. Ural State University of Economics. Ekaterinburg 2020. V. 11, № 2. S. 67-76.
3. Vybiraem servis dlya udalennogo yuzabiliti-testirovaniya [Choosing a service for remote usability testing]. MS. https://medium.com/useth-ics-doc/remote-user-testing-review-765217c70b15
4. Gaykova L.V. Myprodolzhaem traditsii rossiyskoy statistiki [We continue the traditions of Russian statistics]. Novosibirsk, NGUEU-"NINKh". 2016, pp. 82-89.
5. Dastin E., Reshka D., Pol D. Avtomatizirovannoe testirovanie pro-grammnogo obespecheniya. Vnedrenie, upravlenie i ekspluatatsiya [Automated software testing. Implementation, management and operation]. M.: Izd-vo Lori, 2003. 567 p.
6. Karl I. Vigers, Dzhoy Bitti. Razrabotka trebovaniy k programmnomu obespecheniyu [Development of software requirements]. M.: Izd-vo «Russkaya redaktsiya»; SPb.: BKhV-Peterburg, 2014. 736 p.
7. Klyuchevye trendy testirovaniya PO iz issledovaniya SmartBear: vidy testov i tendentsii [Key trends in software testing from the SmartBear study: types of tests and trends]. MS. https://habr.com/ru/company/ne-tologyru/blog/497320
8. Kotlyarov I.D. Tendentsii revolyutsii elektronnoy kommertsii [E-commerce revolution trends]. Internet-marketing. Moskva, 2012. №4. S. 252-258.
9. Krivozyateva M.S., Gaykova L.V. Nauka Krasnoyar 'ya. 2020. V. 9. № 1. S. 83-94.
10. Krylov E.V., Ostreykovskiy V.A., Tipikin N.G. Tekhnologiya, nadezh-nost'i kachestvoprogrammnogo obespecheniya [Technology, reliability and quality of software]. M.: Vyssh. shk., 2008. 469 p.
11. Lavrishcheva E. M. Software engineering komp'yuternykh system [Software engineering of computer systems]. Naukova dumka, 2013. 283 p.
12. Lipaev V.V. Obespechenie kachestvaprogrammnykh sredstv. Metody i standarty [Ensuring the quality of software. Methods and standards]. M.: SINTEG, 2001. 380 p.
13. Testirovanie PO na virtual'nykh mashinakh [Software testing on virtual machines].MS. https://www.ixbt.com/cm/virtualization-soft-testing.shtml
14. Top 10 instrumentov avtomatizatsii testirovaniya 2018 [Top 10 Test Automation Tools 2018].MS. https://habr.com/ru/post/342234
15. Ustyuzhanina E.V., Sigarev A.V., Shein R.A. Natsional'nye interesy:pri-oritetyi bezopasnost'. Moskva. 2017. V. 13, №° 10 (355), рр. 1788-1804.
16. Ron Patton. Software Testing. Sams Publishing, 2005. 408 p.
ДАННЫЕ ОБ АВТОРАХ Кривозятева Мария Сергеевна, инженер-тестировщик,
Центр Финансовых Технологий
ул. Мусы Джалиля, 11, микрорайон Академгородок, г. Новосибирск, 630090, Российская Федерация m.krivozjateva@mail.ru
Гайкова Любовь Вадимовна, кандидат экономических наук, доцент Новосибирский государственный университет экономики и управления
ул. Каменская 52/1, г. Новосибирск, 630099, Российская Федерация
gaikovanirs@mail.ru
DATA ABOUT THE AUTHOR Krivozjateva Mary Sergeevna, QA engineer
Center of Financial Technologies
11, Musa Jalil Str., Akademgorodokdistrict, Novosibirsk, 630099,
Russian Federation
m.krivozjateva@mail.ru
Gajkova Luybov Vadimovna, Candidate of Economics (Ph.D.), Associate Professor, IT Department
Novosibirsk State University of Economics and Management 52/1, Kamenskaya Str., Novosibirsk, 630099, Russian Federation gaikovanirs@mail.ru