# Тренды в тестировании программного обеспечения в 2023 году

Аноним Автор

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


Нет той черты где заканчивается разработка и начинается тестирование ПО. Потому что эти активности плотно связаны друг с другом. Некоторые компании считают, что качество это всего лишь результат работы, проделанной разработчиками. Да, это правда, но эта идея может привести нас к некоторым неправильным привычкам. Контроль качества - это одновременно и насущная потребность разработчиков и важнейшее требование ко всему проекту. Некоторые компании нанимают независимые компании для своих нужд в тестировании ПО. В некоторые компаниях по-прежнему есть только один ответственный за все вопросы качества. Конечно, это зависит от множества различных переменных. В 8% организаций есть только один тестировщик, в 30% - 2-5 тестировщиков, а в 25% - от 6 до 15 тестировщиков в 2021 году. Компании начинают понимать, что работа по тестированию - это командная работа с различными идеями и знаниями.


Мы вспомнили, что у нас есть огромное разнообразие. Как все должно работать, когда существует так много идей, ролей и знаний? Таким образом, компании стараются активнее использовать инструменты управления проектами и средства коммуникации. Инструментами управления проектами по-прежнему являются Jira 50% (Trello 18%, Github 14%). Инструменты коммуникации это почта 50% и Slack 48%. Расстановка приоритетов во всем может быть выигрышной стратегией, но в данном случае важно помнить как определяется качество. Важно понимать подходит ли компания к качеству как к основной деятельности или нет. Организации теперь понимают важность следования новым технологиям в мире тестирования.


## Интеграция инструментов


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


## Инструменты автоматизации тестирования


Развитие Agile и DevOps подталкивает нас к все большему использованию автоматизации тестирования в будущем. Таким образом, компании начинают уделять больше внимания автоматизации тестирования и автоматизаторам. Тестировщики говорят, что чаще всего они используют сценарии автоматизации тестирования в "функциональном и регрессионном тестировании" 75%. Затем за ним следует CI/CD 49%. В ответ на эту потребность такие инструменты автоматизации как Selenium, Katalin и TestComplete продолжают обрастать новыми функциями.


## AI и ML для тестирования


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


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


Будут разработаны новые алгоритмы AI/ML, которые используют тестовые отчеты для генерации важных данных для организаций. Кстати, мы не должны забывать о помощи быстрой, мультитул интеграции. Но как? Давайте рассмотрим пример: с помощью новых технологий организации могут собирать данные, являющиеся результатом A/B тестирования к примеру. Эта стратегия позволяет организациями передавать данные непосредственно в облако для детального анализа. Мы продолжаем генерировать данные в огромных объемах. Теперь представьте, что мы внедрили A/B тестирование в популярном приложении. И подумайте над теми данными, которые были получены из отчетов тестирования этого приложения.


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


## Автоматизированное визуальное тестирование


Автоматизированное визуальное тестирование постепенно становится более популярной тенденцией в мире тестирования ПО. Создание и поддержание правильного пользовательского опыта - это большая работа. В этой области есть и доля искусства. Компании постоянно внедряют и выпускают продукты в своих быстро меняющихся мирах. Итак, как вы справляетесь со всеми этими деталями в режиме реального времени? Автоматизированное визуальное тестирование позволяет сэкономить ваше время, гарантируя, что приложение выглядит так, как ожидалось. В таком случае максимально реалистично воспроизводится поведение конечных пользователей в приложениях с использованием визуального AI. В будущем мы увидим больше инструментов, основанных на AI в этой области. Эти инструменты помогают автоматизировать визуальные регрессионные тесты, анализируя визуальные различия, чтобы определить причину визуальных ошибок. По сути, они пытаются воспроизвести движения человеческих глаз и мозга. Мы можем сказать, что сейчас эта работа может значительно сэкономить время при тестировании UI, визуальном регрессионном тестировании и в будущем возможно будет использовано в тестировании UX. Applitools Eyes или Tricentis являются текущими образцами этой концепции.


## Различные тестовые окружения


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


## Автоматизация без скриптов


Еще одним важным аспектом для компаний является автоматизация без скриптов. Концепция лоу код - это большой тренд будущего. Gartner прогнозирует, что к 2024 году 65% деятельности по разработке будет осуществляться с использованием низкоуровнего кода. На самом деле, попытка сделать код более читаемым для всех членов команды требует усилий и времени.


Необходимы крупные инвестиции в тестовую инфраструктуру, наем и обучение квалифицированных автотестировщиков. А теперь вспомним большое отличие современной жизни, вызванное пандемией - внедрение удаленной работы. И более того, удаленный формат усложнил командную работу и общение. Процесс внедрения происходит медленнее, обмен знаниями меньше, а внесение изменений во что-либо требует большого количества встреч. Вот почему читаемость кода и поддерживаемость сейчас еще большая сложность для самих тестировщиков и компаний. Для компании также сложнее установить внутренние стандарты качества для более качественного кода. Вот почему, чтобы максимально увеличить масштабируемость автоматизации тестирования вводится автоматизация без скриптов. Благодаря автоматизации тестирования без скриптов тестировщикам не нужно беспокоиться о кодировании. Большие наборы тестов могут быть быстро автоматизированы, и это сокращает время, затраченное на автоматизацию. Test Craft, Ranorex Studio, Accel, Zeuz, Robot Framework - вот некоторые примеры фреймворков для этого.