Научная статья на тему 'ОБЛАЧНЫЕ ТЕХНОЛОГИИ В ЗАДАЧЕ АВТОМАТИЗАЦИИ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

ОБЛАЧНЫЕ ТЕХНОЛОГИИ В ЗАДАЧЕ АВТОМАТИЗАЦИИ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
40
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
программное обеспечение / тестирование / облачные технологии / разработка / автоматизация / программа / software / testing / cloud technologies / development / automation / program

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — А В. Уткин, Ю Д. Козлова

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — А В. Уткин, Ю Д. Козлова

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

CLOUD TECHNOLOGIES IN THE TASK OF AUTOMATING DEVELOPMENT AND TESTING SOFTWARE

The article is devoted to the use of innovative technologies in the field of software development. It is the development of software solutions that an integral part of the modern world allowing you to automate and optimize tasks in completely different areas. However, at the current moment, issues related to increasing efficiency in the development of software solutions are being update. Because of the article, the key factors and advantages of using cloud technologies in the task of automating software development and testing are reflected. The author confirms the high level of relevance and necessity of using cloud technologies in these tasks.

Текст научной работы на тему «ОБЛАЧНЫЕ ТЕХНОЛОГИИ В ЗАДАЧЕ АВТОМАТИЗАЦИИ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

ОБЛАЧНЫЕ ТЕХНОЛОГИИ В ЗАДАЧЕ АВТОМАТИЗАЦИИ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

А.В. Уткин1, старший системный инженер

Ю.Д. Козлова2, ведущий инженер по обеспечению качества

1Международный системный ИТ-интегратор "Digital-IQ"

2Международный разработчик программного обеспечения "8™Ыг8оЛ"

^Соединенные Штаты Америки, г. Дирфилд Бич)

2(Россия, г. Ульяновск)

DOI:10.24412/2500-1000-2024-4-5-146-151

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

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

В период последних 10 лет с 2014 по 2024 годы наблюдается устойчивый рост рынка информационных технологий (далее - ИТ) и программного обеспечения (далее - ПО), в частности. Это связано с возможностью автоматизации и оптимизации процессов в совершенно различных как бытовых, так и профессиональных сферах жизнедеятельности человека [1]. При этом значительно увеличение объема данного рынка требует интеграции новых подходов к разработке и тестированию программного обеспечения. Одними из наиболее актуальных направлений решения данной задачи является использование различных интеллектуальных и облачных технологий.

Наиболее актуальное направление при повышении качества и эффективности разработки ПО представляет использование облачных технологий. Это относительно новый тренд в мире ИТ, что, в свою очередь, требует более дательного внимания и анализа факторов, связанных с использованием облачных решений в работе над программным обеспечением [2]. Необходимо подтвердить актуальность и

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

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

Крупные поставщики облачных услуг, такие как AWS, Azure и Google Cloud, также обеспечивают высокий уровень безопасности и соответствия, предоставляя разработчикам уверенность в том, что их данные и приложения защищены [3]. Инструменты аналитики и мониторинга,

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

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

1. Разработка программного обеспечения:

1.1. Масштабируемость по запросу. Облачные платформы позволяют разработчикам масштабировать свои среды разработ-

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

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

1.3. Интеграция сторонних сервисов. Облачные платформы, такие как AWS и Azure (рис. 1), предоставляют широкий спектр сторонних сервисов, таких как базы данных, хранилища и сервисы машинного обучения. Разработчики могут легко интегрировать эти сервисы в свои приложения, устраняя необходимость в локальной установке и обслуживании;

Рис. 1. Рабочие элементы в среде Azure

1.4. Автоматизированные конвейеры томатизируют процесс развертывания про-развертывания. Облачные технологии ав- граммного обеспечения, освобождая раз-

работчиков от ручных задач. Конвейеры непрерывной интеграции/непрерывной доставки (CI/CD) помогают быстро и надежно развертывать изменения в производственных средах;

1.5. Разработка без серверов. Облачные сервисы, такие как AWS Lambda и Azure Functions, позволяют разработчикам создавать приложения без необходимости управления серверами. Это снижает операционные затраты и упрощает разработку.

2. Тестирование программного обеспечения:

2.1. Высокопроизводительное тестирование. Облачные платформы предостав-

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

2.2. Автоматизация тестирования. Облачные сервисы автоматизации тестирования, такие как Selenium Cloud и TestComplete (рис. 2), позволяют командам создавать и выполнять автоматизированные тесты. Это экономит время и повышает точность, освобождая инженеров по тестированию от ручных задач;

Equities

Commodities

Metals

FX Metals

Cryptocurrency

ETFs

Sectors

Trending Markets

^ J J ßrowre Wirket Popular

Hlter markets BiLtluin (1) Bkcoin (AUD) Bitcain (£] Blcco In (€] UK Crude Oil CFD US Crude Oil CFD Alphabet IncACFD AmdiOii.uurn CFD Apple Inc CFD

TRADE ORDER SFTALEHr *

1 6) FacebookCFD <? |

SELL DLV

187.500 187.510

0.01

Order price

Quantity

Good til canceled (5ГС) »

□ Stop T pri-.e poir.i t FVL

1 1

7w. z I E fen wits г_"-с.п0ой S-c'jrcse NerworK РагТогтате Menoty Appltatka) Security Audits ► •<civ _ngcontcnt-cJ9 cla5s="narket-ïnfonta-inn narket-infarTation—disabled">..</divs-»«Jiv _ngcontCTt-c39 clas5-"narKet-prlces"ï * •bapp-flarket-pi'ices _n$content-c39 class="nairt-i> rices ne-tmtouched n(-pristine ng-vaUd" _nghost-c3i>

»<div _miîoritirt-c31 cUss="narkit-i>rlces"> T-=div _i^cûrtt6rit—c3i clasi="inarket-prLcÊi_ilinectinn"» ► <1лЬг1 _ngcontcnt-c31 class="n".l">_>4/Uibe'l> *>tUbcl _ngcontent-c31 clas5-"t)iiy select€il"> <4pèr) JigCÛIltent-£31ьЯЩГн!/4|ИП!»

T«span _ngcpnti?nt-i:3l claiS-"prtcr ng çtir-1nsrrt<!ij">

<sean _nncontert-c31 class="prlce_valie" style xpath="l"-- 1В7.5И '-/spso —

► ^spar _ngcontent-c3l clais="price_direction Mj-star-ir.sertcd"?_s/spare

_</S|Hn>_

... dlv aae-walispace-paneJ dr.' dV app-deal-ticket form dlv app-mafket-prices dlv civ absl span epai.pt1ce_vaJu&

Stylra CoTputfld Event Unterer; DOM Broakpoir-n Pmpwtins Arc inability CnroPn'h

E оИ

il <ю Й© @ ^

✓ d ^ 1 •i plaoel'i-'lear / ■ attribue name

/ ф -1*1 *H»-Il i.ür |il ¡l:h v^ll 1Й1 ] ] ::m iNil I - I l н -:Г ' V I П7 "il Г Ij

fl / 0 :«=Namt prtee_value

—I ^ 1 cssSiKtor diY.tncrmrytnlh-clild |2) diY.mercurif_bady:tilh-cliikl|4) div.mrrcLry_bod_.

/ ф ibïXPattï yh1rnl[1l/bady[1]/apf}-ri»t[1]/div[1]Jdiv[2]/div[1]/app-warkspace[1l/div[1]/a—

И ' 5аап _npccnten:^:î1-f " class-1 arice^'alue1 style-" ' xpatli-'Т><^рап>

ОI Downloadtcr c:hcrlMwvio's I Pis ado review I Join CPCemmLnityl föllffiius IE В 2 5laek I Ott | s'G.1.4

Рис. 2. Автоматизированное тестирование в среде Selenium Cloud

2.3. Тестирование на реальных устройствах: Облачные сервисы, такие как AWS Device Farm и Azure Test Cloud, предоставляют доступ к широкому спектру физических и виртуальных устройств. Это позволяет командам тестировать свои приложения на различных устройствах, конфигурациях и сетевых условиях;

2.4. Непрерывное тестирование. Облачные платформы поддерживают непрерыв-

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

Рис. 3. Управление тестированием в среде TestRail

2.5. Управление тестированием. Облачные инструменты управления тестированием, такие как TestRail и Jira, помогают командам отслеживать, планировать и управлять процессами тестирования (рис. 3). Это обеспечивает видимость и контроль над тестовыми кампаниями.

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

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

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

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

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

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

- автоматизированное тестирование. Облачные сервисы предоставляют ин-

струменты для автоматизации тестирования, что позволяет разработчикам экономить время и повышать охват тестирования [5]. Они могут настраивать автоматизированные тесты, которые запускаются в облаке и обеспечивают быструю обратную связь о любых проблемах;

- кроссплатформенное тестирование. Облачные платформы обеспечивают доступ к различным операционным системам и устройствам [6]. Это позволяет разработчикам выполнять кроссплатформенное тестирование своих приложений, гарантируя их совместимость с несколькими средами (устройствами).

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

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

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

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

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

Также основными преимуществами являются ускоренная разработка и повышение качества тестирования ПО. Облачные технологии позволяют командам разработчиков быстрее выводить продукты на рынок. Быстрое выделение и освобождение ресурсов позволяет командам параллельно запускать несколько тестов и сборок [8]. Кроме того, облачные инструменты управления версиями и непрерывной интеграции автоматизируют процессы разработки, что приводит к более быстрому итеративному развитию. Посредством данных технологий обеспечивается доступ к расширенным инструментам тестирования и анализа, что позволяет командам повысить качество программного обеспечения. Облачные провайдеры предлагают специализированные услуги тестирования, такие как нагрузочное тестирование, тестирование производительности и тестирование безопасности. Эти инструменты помогают выявлять и устранять ошибки на ранних этапах, обеспечивая более надежные и стабильные продукты.

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

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

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

Библиографический список

1. Дудаев А.Р., Соболев А.Ю., Глинских В.Н. Разработка программного обеспечения с облачными вычислениями для обработки и интерпретации каротажных данных // Интерэкспо Гео-Сибирь. - 2017. - №3. - С. 37-40.

2. Пронин А.Д., Тарасова Т.В. Облачные технологии как средство повышения эффективности управления организацией // Международный журнал прикладных наук и технологий «Integral». - 2023. - №3. - С. 514-522.

3. Мирошниченко М.А., Абдуллаева А.А., Дементьев М.А. Облачные технологии -направление развития современных информационных систем компании в цифровой экономике // ЕГИ. - 2023. - №45 (1). - С. 164-171.

4. Гагарина Л.Г., Букарев А.В. Метод автоматизированного тестирования устройств потребительской электроники с помощью удаленного вызова процедур и облачных сервисов // Известия вузов. Электроника. - 2023. - №5. - С. 687-699.

5. Несмеянов П.П. Облачное тестирование программного обеспечения: перспективы и преимущества // Международный журнал гуманитарных и естественных наук. - 2023. -№6-3 (81). - С. 131-135.

6. Несмеянов П.П. Основные проблемы в облачном тестировании // Международный журнал гуманитарных и естественных наук. - 2023. - №6-3 (81). - С. 136-138.

7. Несмеянов П.П. Облачное тестирование в сравнении с традиционным тестированием программного обеспечения // Международный журнал гуманитарных и естественных наук. - 2023. - №6-3 (81). - С. 127-130.

CLOUD TECHNOLOGIES IN THE TASK OF AUTOMATING DEVELOPMENT AND

TESTING SOFTWARE

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

A.V. Utkin1, Senior Systems Engineer I.D. Kozlova2, Lead QA Engineer international System Integrator Digital-IQ international Software Developer "SimbirSoft" 1(United States of America, Deerfield Beach) 2(Russia, Ulyanovsk)

Abstract. The article is devoted to the use of innovative technologies in the field of software development. It is the development of software solutions that an integral part of the modern world allowing you to automate and optimize tasks in completely different areas. However, at the current moment, issues related to increasing efficiency in the development of software solutions are being update. Because of the article, the key factors and advantages of using cloud technologies in the task of automating software development and testing are reflected. The author confirms the high level of relevance and necessity of using cloud technologies in these tasks.

Keywords: software, testing, cloud technologies, development, automation, program.

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