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


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

1. Развитие low-code и no-code решений
Хотя эти решения не являются новинкой в отрасли, тем не менее ожидается рост использования low-code и no-code технологий в автоматизации тестирования. Платформы low-code обеспечивают упрощенную разработку автотестов (без специфических знаний программирования), что помогает тестировщикам быстро создавать автотесты. По оценкам Gartner, к 2025 году 70 % новых приложений, создаваемых организациями, будут использовать технологии low-code или no-code, а следовательно, постепенно эта технология будет появляться и в тестировании. К примеру, еще в 2020 году, показатель использования low-code или no-code решений составлял всего 25%. В тестировании этот тренд также толкает вперед отсутствие квалифицированных кадров, что заставляет все чаще и чаще мануальных тестировщик начинать строить автоматизацию тестирования на своих проектах. Поэтому тенденция к упрощению автоматизации тестирования приводит к тому, что навыки программирования для создания автотестов становятся менее востребованными в малых и средних организациях, так как любой участник команды уже может написать автотесты. Пока такие решения, как Mabl или Katalon не столь популярны, но я думаю это вопрос времени.

2. Коллаборативные роботы (коботс)
Коллаборативные роботы или когорты роботов направлены на взаимодействие с людьми в различных совместных профессиональных средах. От подъема тяжелого оборудования и товаров на складах до интеллектуального перемещения и обработки грузов в цепочке поставок - роботы могут эффективно решать множество задач для малого и среднего бизнеса. В таких сферах, как WareHouse, Self-driving, Internet of things эти технологии будут набирать популярность, так как позволяют имитировать реальные действия пользователей с системами в режиме реального времени. UiPath, Leapwork, SAP — одни из основных игроков этого рынка, которые воспользовались преимуществами RPA в финансовой индустрии и теперь развивают свои продукты до современных платформ автоматизации.

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

4. Технология NLP (Natural Language Processing)
Интеллектуальная автоматизация (IA) использует множество технологий, центральное место среди которых занимает ИИ. Возможности NLP позволяют тестировщикам на вход давать user story, критерии приемки, описание теста, а также ключевые keywords. Вся информация анализируется с помощью методов NLP и обрабатывается во фреймах, где затем преобразуется в единый язык моделирования (UML). UML — это язык моделирования в разработке программного обеспечения, который превращает требования в набор диаграмм и связей между ними. Используя эти модели NLP может позволить получить тестировщику автоматически сгенерированный автоматизированный тест.

5. Автоматизация определения тестового покрытия (smart testing)
Постепенно ожидается рост smart testing, в котором за счет современных технологий будет автоматически определяться необходимость выполнения тех или иных тестов в зависимости от внесенных изменений. Это позволит командам выполнять только те тесты, которые необходимы для конкретного изменения, и не прововодить полные циклы тестирования для каждого компонента программы. Использование такого подхода не только поможет сэкономить время, но и обеспечит значительную экономию финансовых затрат и ИТ-ресурсов. Кроме того, при возникновении сбоев в тестировании команды могут быстро выявить связь между тестом и проблемным участком кода, чтобы ускорить процесс исправления дефектов.

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

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

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

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

Ноябрь, 11 / 2023

Автор: Александр Мешков
Made on
Tilda