ОБЛАЧНОЕ ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: ПЕРСПЕКТИВЫ И ПРЕИМУЩЕСТВА
П.П. Несмеянов, магистрант
Московский технический университет связи и информатики (Россия, г. Москва)
DOI:10.24412/2500-1000-2023-6-3-131-135
Аннотация. В статье рассматривается роль облачного тестирования программного обеспечения в современном предприятии. С увеличением технологической сложности и проблем с поиском программного обеспечения, тестирование стало сложной задачей для организаций. Облачные вычисления, как новое развитие распределенных вычислений, предлагают экономически эффективную и гибкую рамку для выполнения тестирования как услуги (TaaS). Эта статья обсуждает влияние облачного тестирования на жизненный цикл программного обеспечения, предлагает набор услуг и преимущества облачного тестирования, такие как автоматизация, ускорение процесса тестирования и экономия затрат. Развитие облачного тестирования отражает потребности и ожидания организаций в сфере информационных технологий.
Ключевые слова: облачное тестирование, облачные вычисления, тестирование как услуга, экономическая эффективность, автоматизация, жизненный цикл программного обеспечения.
Тестирование программного обеспечения играет очень важную роль в развитии предприятия. С течением времени функция тестирования программного обеспечения стала сложной задачей для предприятий из-за увеличивающейся технологической сложности и проблем с поиском программного обеспечения. Обычно тестирование программного обеспечения выполняется внутри организации. Тестирование следует своему собственному циклу развития. Это предложило клиентам динамически масштабируемую и экономически эффективную рамку, которая позволила им передавать свои потребности в тестировании сторонним исполнителям [4, с. 51].
Облачные вычисления - это недавнее развитие парадигмы распределенных вычислений, которое может поддерживать совместное использование услуг по требованию с более высоким уровнем гибкости и динамической масштабируемости. Облачные вычисления сыграли значительную роль в способе предоставления вычислений и услуг клиентам [2, с. 64]. Например, они изменяют способ предоставления и управления вычислительными ресурсами, такими как ЦП, базы данных и системы
хранения. Сегодня ведущие игроки, такие как Amazon, Google, IBM, Microsoft и Salesforce.com, предлагают свою облачную инфраструктуру для услуг [1, с. 68] Облачные вычисления - это модель бизнеса и экономики. Эта модель успешно применяется для различных товаров и услуг с момента своего возникновения, но в последние годы она стала более распространена в сфере продуктов и услуг информационных технологий. IT-отрасль на протяжении времени предлагает широкий спектр услуг по требованию. Мы часто сталкиваемся с понятиями "игры как услуга", "Java как услуга", "хранение данных как услуга" и многими другими.
По последнему исследованию Market Research Media, государственные расходы США на облачные вычисления входят в фазу взрывного роста с годовой ставкой роста в 40% в течение следующих шести лет. Расходы превысят 7 миллиардов долларов к 2015 году. Мерил Линч оценивает, что в течение следующих пяти лет годовой мировой рынок облачных вычислений вырастет до 95 миллиардов долларов. Облачные вычисления не только открывают новые бизнес-возможности, но также оказывают значительное влияние на тестирова-
ние и поддержку программного обеспечения. Одним из главных влияний является модель тестирования как услуги (Testing as a Service, TaaS) в облачных системах. Тестирование в облаке использует среды облачных вычислений и стремится имитировать нагрузку или стрессовое тестирование веб-сайтов с целью моделирования реального пользовательского трафика [6, c. 142].
Сегодня модель тестирования как услуги все больше рассматривается как жизнеспособная модель тестирования многими организациями для достижения снижения затрат и улучшения качества предоставляемых ими ИТ-тестовых требований [5, c. 174].
Облачное тестирование. Облачные вычисления оказывают влияние на все этапы жизненного цикла программного обеспечения, включая тестирование. Подобно принятию стандартных терминов, таких как SaaS, PaaS, IaaS в облачных вычислениях, Testing as a Service (TaaS) также считается сегодня неотъемлемой концепцией. Облачное тестирование является важной составной частью облачных вычислений и представляет собой новое направление в информационных технологиях. Облачное тестирование является быстроразвивающейся областью исследований в области программной инженерии [1, c. 72].
Первые научные работы по облачным вычислениям появились два-три года назад. В 2009 и 2010 годах были организованы две специализированные конференции по тестированию программного обеспечения в облаке (Software Testing in Cloud, STITC). Однако исследования в области облачного тестирования отстают от практических результатов в этой области. Riungu, Taipale и Smolander предлагают всестороннюю дискуссию по вопросам облачного тестирования, отражающую практические потребности и ожидания в этой области, и анализируют их с использованием трех категорий: приложение, управление и юридические и финансовые вопросы [1, c. 55].
Облачное тестирование предлагает набор услуг, которые позволяют разработчикам, тестировщикам и менеджерам веб-
сайтов автоматизировать и ускорить процесс тестирования и архивирования своих веб-сайтов с использованием реальных браузеров из облака [3, c. 87]. Облачное тестирование работает по модели SaaS (Software as a Service), поэтому нет необходимости вложений в аппаратное и программное обеспечение или консультационные услуги - наши услуги предоставляют все необходимое.
Облачные вычисления предоставляют экономически эффективный и гибкий способ предоставления масштабируемой вычислительной мощности и различных услуг (аппаратных и программных ресурсов, сетей и вычислительной инфраструктуры), разнообразных прикладных сервисов, бизнес-процессов до персонального интеллекта и совместной работы для пользователей по всему миру в любое время и в любом месте.
Облачные вычисления представляют следующий этап развития Интернета. Характерными свойствами типичного облачного окружения являются упругость и масштабируемость, многопользовательский режим, возможность самоуправления, функции тарификации и измерения, интерфейсы и технологии подключения. Кроме того, облачная платформа поддерживает обширный доступ пользователей с распределенных местоположений через Интернет, предлагает услуги приложений по требованию в любое время и обеспечивает виртуальные и/или физические компоненты. Cуществует три типа облаков:
а) Частные облака (Private Clouds), которые являются внутренними облаками, основанными на частной сети за брандмауэром;
б) Публичные облака (Public Clouds), которые представляют собой облака с общедоступными услугами через Интернет;
в) Гибридные облака (Hybrid Clouds), которые состоят из различных типов облаков, включая публичные и частные облака.
Тестирование в облаке. Облачное тестирование определяется как тестирование в виде сервиса. Индустрии, занимающиеся тестированием продуктов и услуг, все чаще используют модель лицензирования на основе облачных вычислений для своих
конечных клиентов. Предлагаемые услуги включают как функциональное, так и нефункциональное тестирование различных приложений. Облачное тестирование предоставляет услуги в двух режимах:
On premise: Тестирование в виде сервиса может использоваться для валидации и верификации различных продуктов, принадлежащих организациям или отдельным лицам. Тестирование нагрузки доступно в обоих режимах.
On demand: Тестирование по запросу используется для тестирования программного обеспечения по запросу. Все большей популярностью пользуется использование тестирования в виде сервиса для моделирования производственных сред, таких как облачные окружения, вместо традиционных продуктов для тестирования на месте [1, c. 30].
Вкратце, облачное тестирование программного обеспечения означает проведение тестирования и измерительных мероприятий в облачной среде и инфраструктуре с использованием облачных технологий и решений. У него четыре основных цели:
1. Обеспечение качества облачных приложений, развернутых в облачной среде, включая их функциональные сервисы, бизнес-процессы, системную производительность и масштабируемость на основе набора требований, связанных с приложением, в облачной среде.
2. Валидация программного обеспечения в виде сервиса (SaaS) в облачной среде, включая проверку его производительности, масштабируемости, безопасности и измерение на основе определенных экономических показателей и предопределенных SLA (уровней обслуживания).
3. Проверка предоставляемых автоматических функциональных сервисов на основе облачных технологий, например, автоматического предоставления функций.
4. Тестирование совместимости и взаимодействия между SaaS и приложениями в облачной инфраструктуре, например, проверка API SaaS и их совместимости с другими облачными сервисами.
Облачное тестирование предлагает ряд преимуществ, которые делают его привле-
кательным для организаций. Некоторые из ни представлены ниже:
1) Экономическая эффективность: Облачное тестирование позволяет организациям снизить затраты на аппаратное и программное обеспечение, так как они используют облачные ресурсы вместо приобретения и поддержки собственной инфраструктуры. Организации платят только за использование услуг тестирования, что позволяет оптимизировать расходы.
2) Гибкость и масштабируемость: Облачные ресурсы легко масштабируются в зависимости от потребностей организации в тестировании. Они предоставляют гибкую среду, где можно быстро адаптировать объемы тестирования под изменяющиеся требования проекта.
3) Ускорение процесса тестирования: Облачное тестирование позволяет проводить параллельное тестирование на различных платформах, операционных системах и браузерах. Это сокращает время, затрачиваемое на тестирование, и ускоряет выпуск программного обеспечения на рынок.
4) Легкая доступность и глобальное покрытие: Облачное тестирование предоставляет доступ к тестовым средам и реальным браузерам через интернет. Это позволяет тестировщикам работать удаленно из разных местоположений и обеспечить глобальное покрытие, что особенно полезно в случае, когда тестирование требуется для различных регионов или стран.
5) Имитация реальных условий: Облачное тестирование предоставляет возможность имитировать реальные условия использования продукта, включая тестирование под высокой нагрузкой или стрессовые ситуации. Такие тесты позволяют выявить проблемы масштабируемости и производительности и принять соответствующие меры.
6) Повышение качества: Благодаря более широкому охвату тестирования и использованию разнообразных платформ и браузеров, облачное тестирование способствует повышению качества программного обеспечения. Оно позволяет обнаруживать и исправлять проблемы совместимости, функциональности и пользовательского
опыта. мя цикла разработки. Это способствует
7) Гибридные решения: Некоторые ор- более быстрому и частому выпуску обнов-ганизации могут предпочесть использо- лений и улучшений продукта.
вать гибридные модели, комбинируя об- В целом, облачное тестирование пред-
лачные и локальные ресурсы для тестиро- лагает организациям гибкую, экономиче-вания. Это позволяет им сохранить кон- ски эффективную и масштабируемую мо-троль над определенными аспектами те- дель тестирования, которая способствует стирования, в то время как они использу- повышению качества программного обес-ют облачные ресурсы для расширения печения и ускоряет его выпуск на рынок. возможностей и улучшения эффективно- С учетом растущей популярности облач-сти. ных вычислений, облачное тестирование
8) Сокращение цикла разработки: Об- становится все более значимым для пред-лачное тестирование интегрируется в про- приятий в сфере информационных техно-цесс разработки и позволяет быстро выяв- логий.
лять и исправлять ошибки, сокращая вре-
Библиографический список
1. Вилькомир С. Облачное тестирование: обзор уровня развития // Тестирование программного обеспечения. - 2014. - Т. 1, № 1. - С. 25-39.
2. Венгатраман Т., Дхавачелван П., Баскаран Р. Модель облачной среды для тестирования программного обеспечения // Международный журнал компьютерных наук и информационной безопасности. - 2010. - Т. 7, № 3. - С. 320-326.
3. Приядарсини К. Облачное тестирование как сервис // Международный журнал продвинутых инженерных наук и технологий. - 2012. - Т. 6, № 2. - С. 173-177.
4. Дагар Д., Гупта А. Новая парадигма в традиционном тестировании программного обеспечения: облачное тестирование // Журнал компьютерных наук. - 2013. - Т. 1, № 2. -С. 65-72.
5. Мохата В.Б., Дахане Д.М., Пардхи Р.Л. Тестирование в облачных платформах: необходимость тестирования в облачных платформах // Международный журнал приложений и инноваций в инженерии и управлении. - 2013. - Т. 2, № 3. - С. 55-62.
6. Гао Дж., Бай С., Цай У. Облачное тестирование: проблемы, вызовы, потребности и практика // Журнал программной инженерии. - 2011. - Т. 1, № 1. - С. 43-55.
7. Ванита А., Алагарсами К., Катерина К. Тестирование программного обеспечения в облачной платформе: обзор // Международный журнал компьютерных приложений. -2012. - Т. 46, № 6. - С. 12-18.
CLOUD-BASED SOFTWARE TESTING: PERSPECTIVES AND BENEFITS P.P. Nesmeyanov, Graduate Student
Moscow Technical University of Communication and Informatics (Russia, Moscow)
Abstract. The article discusses the role of cloud-based software testing in modern enterprises. With increasing technological complexity and challenges in finding suitable software, testing has become a challenging task for organizations. Cloud computing, as a new development in distributed computing, offers an economically efficient and flexible framework for performing testing as a service (TaaS). This article explores the impact of cloud-based testing on the software development life cycle, presents a set of services, and highlights the benefits of cloud-based testing, such as automation, accelerated testing processes, and cost savings. The evolution of cloud-based testing reflects the needs and expectations of organizations in the field of information technology.
Keywords: cloud-based testing, software testing, testing as a service (TaaS), cloud computing, benefits, scalability, cost-effectiveness, flexibility, quality assurance.