Салют, хабровчане. В преддверии старта курса «Mobile QA Engineer 2.0» мы подготовили для вас перевод еще одного материала о тенденциях тестирования в 2020 году.
Сфера тестирования программного обеспечения развивается день за днем. Мы наблюдаем развитие тенденций, которые появились еще в 2019 году, а также становление новых. В этом году наша команда экспертов по автоматизации тестирования дала несколько прогнозов относительно главных тенденций в сфере тестирования программного обеспечения. Приглашаем вас с ними ознакомиться!
Чтобы составить представление о тенденциях тестирования программного обеспечения в 2019 году, вы можете прочитать нашу статью.
На основании множество полученных отчетов, можно с уверенностью сказать, что интеллектуальная автоматизация останется на радаре тестировщиков и в 2020 году.
Применение искусственного интеллекта и машинного обучения уже не новая идея в области тестирования ПО. ИИ делает тестирование более грамотным. Команды могут воспользоваться ИИ/ML для оптимизации своих стратегий автоматизации, более быстрой адаптации и увеличения эффективности работы.
В 2019 году команды обеспечения качества (QA) применяли ИИ/ML для прогнозирования качества тестов, приоритизации тестовых случаев, классификации ошибок, обнаружения объектов тестирования, взаимодействия с тестируемыми приложениями (AUT) и многих других целей.
Ожидается, что искусственный интеллект станет применяться повсеместно во всех сферах информационных технологий. Инвестиции, вложенные в эту область, находятся примерно на уровне 6-7 миллиардов долларов только в Северной Америке. По прогнозам к 2025 году объем инвестиций достигнет почти 200 миллиардов долларов. Мы ожидаем увидеть применение ИИ в большом количестве областей тестирования, естественно, множество из них относятся к отчетам и аналитике:
Еще один столп, на которым зиждется интеллектуальная автоматизация – это машинное обучение. В 2020 году ML выйдет на новый уровень применения. Согласно докладу Capgemini World Quality 38% организаций планировали реализовывать проекты с машинным обучением в 2019 году. Отраслевые эксперты прогнозируют, что в текущем году эта цифра возрастет.
Несмотря на растущий спрос на ИИ и ML в тестировании, эксперты по-прежнему считают, что в тестировании эти технологии только зарождаются. Тем не менее, очень скоро мы будем наблюдать их рост.
Поскольку ИИ предъявляет новые требования к командам обеспечения качества, Agile-команды должны начать внедрение навыков, связанных с ИИ, которые включают в себя изучение Data Science, статистики и математики. Новые навыки не заменят, а дополнят основные навыки в области автоматизированного тестирования и разработки (S-DET).
Помимо этого, деловая хватка станет еще одним важным навыком. Хороший тестировщик должен сочетать в себе хорошие навыки работы с ИИ и исключительные навыки. В прошлом году появились новые должности, такие как AI QA-аналитик и специалист по анализу данных и тестированию.
Что касается разработчиков инструментов автоматизации, их задача – сосредоточиться на создании максимально практичных инструментов.
Компании проверяют концепции и пересматривают традиционный уклад работы, чтобы наилучшим образом внедрить ИИ и при этом учесть бюджеты. Хороший инструмент с поддержкой искусственного интеллекта должен обеспечивать как экономическую эффективность бизнеса, так и технические аспекты, такие как просмотр логов продакшена, генерацию тестовых сценариев или реагирование на активность на продакшене.
Автоматизация тестирования уже далеко не в диковинку для области обеспечения качества. И вправду, 44% IT-компаний планировали автоматизировать больше 50% в 2019 году. Согласно прогнозу, в 2020 году процент внедрения автоматизированного тестирования будет только расти.
По мере того, как все больше компаний внедряют новейшие Agile и DevOps-процессы для поставки качественного продукта в кратчайшие сроки, автоматизация тестирования становится неотъемлемой частью этой системы. Автоматизация тестирования лидирует в помощи командам при выполнении повторяющихся задач, быстром обнаружении ошибок, обеспечении непрерывной обратной связи и полноценного покрытия тестами. Таким образом, организации, внедряющие автоматизированное тестирование в свои процессы обеспечения качества, могут сэкономить значительное количество финансовых, временных и человеческих ресурсов.
Ожидается, что автоматизация тестирования в 2020 году будет особенно приветствоваться предпринимателями-миллениалами, которые используют сочетание открытых и платных инструментов.
Какое значение это имеет для QA-специалистов?
Так или иначе, автоматизация тестирования не исключает полностью ручное тестирование. На самом деле, хорошие команды QA должны надлежащим образом сочетать ручное и автоматизированное тестирование, чтобы добиться максимальной эффективности и обеспечения надлежащего качества программного обеспечения. Важность автоматизированного тестирования сложно оспорить, но некоторые виды тестирования, такие как исследовательское или юзабилити-тестирование, все еще должны выполняться вручную.
Помимо этого, QA-специалисты должны разработать умную общую и сквозную среду. Все чаще возникает необходимость в автоматизации процессов от сборки до развертывания. Автоматизация тестирования теперь рассматривается не как функциональное требование, а как неотъемлемая часть жизненного цикла продукта.
Легче сказать, чем сделать. Именно поэтому многие организации не смогли выжать максимум из автоматизации и получить желаемую отдачу от вложенных средств. В докладе Capgemini World Quality есть рекомендация, которая говорит о том, что вместо того, чтобы рассматривать автоматизацию как возможность, команды тестировщиков должны думать о ней как о большой, интеллектуальной и связанной платформе.
Что это означает для разработчиков решений по автоматизации тестирования?
Разработчики средств автоматизации тестирования должны постоянно обновлять и модернизировать инструменты для того, чтобы их решения отвечали требованиям команд обеспечения качества. Решения по автоматизации тестирования будущего должны соответствовать определенным критериям, например:
Большие данные играют важную роль в различных секторах рынка, будь то технологии, здравоохранение, банки, торговля, телекоммуникации, СМИ и т.д. Все больше внимания уделяется использованию данных для сегментации и оптимизации процессов принятия решений.
Тестирование больших данных позволяет отраслям промышленности продуктивно работать с большими объемами данных и различными их типами. Также оно помогает принимать более эффективные решения за счет точной валидации данных, а также улучшает маркетинговую стратегию. Такое тестирование уже не является чем-то новым. В этой сфере ожидается экспоненциальный рост, поскольку многие отрасли переходят на подход, ориентированный на данные.
Тенденция тестирования больших данных получила широкое распространение, главным образом из-за надежности процессов, которым следуют большинство компаний, чтобы получить максимум от своих маркетинговых стратегий. Тестирование больших данных – это не редкость и его популярность растет. Мы прогнозируем, что потребность в тестировании приложений с большими данными в 2020 году будет только расти.
Если вы еще не слышали о термине QAOps, то это лишь вопрос времени.
Возможно, вы уже знакомы с «DevOps» — набором методов для разработки ПО, который сочетает в себе разработку (Dev) и операции в области информационно-технологического обслуживания (Ops). Основной целью DevOps является упрощение жизненного цикла разработки систем (SDLC), в то время как команды могут сосредоточиться на создании новых функций, исправлении ошибок и частых обновлениях, которые отвечают коммерческим целям. DevOps упрощает сотрудничество разработчиков и представителей бизнеса.
Аналогично QAOps помогает увеличить поток прямой связи между тестировщиками и разработчиками, с помощью интеграции тестирования в пайплайн CI/CD, а также обеспечения работы тестировщиков в команде с остальными. Проще говоря, в основе QAOps лежат два основных принципа:
Facebook – один из лучших примеров внедрения QAOps. В 2014 году команда Facebook решила перейти на Facebook Graph API 2.0 и принудительно провести Login Review во всех приложениях. Чтобы обеспечить плавную миграцию, команда хотела протестировать новую версию на 5000 крупнейших приложениях. Тестирование своими силами оказалось невозможным, поэтому они решили воспользоваться QAOps на аутсорсе. В конце концов, команда смогла протестировать более 5000 приложений в течение одного месяца и сумела решить критические проблемы, что было бы невозможным, если бы этим процессом занималась только собственная команда Facebook.
QAOps можно применять не только в глобальных технологических компаниях, но и в средних и маленьких командах. Эта практика хорошо масштабируется под размеры любого бизнеса.
Поскольку все больше команд тяготеет к DevOps, мы ожидаем увидеть рост тенденции на QAOps в 2020 году.
Рост тестирования устройств Интернета Вещей (IoT) был отмечен еще в 2019 году. По данным Gartner в 2020 году количество устройств Интернета Вещей по всему миру должно достигнуть 20,5 млрд.
Тестирование IoT – это тестирование устройств Интернета Вещей на предмет безопасности, простоты использования, надежности, совместимости версий устройств и протоколов, универсальности программных элементов, мониторинга задержки соединения, масштабируемости, оценки целостности данных, подлинности устройств и т.д.
IoT-тестировщики часто сталкиваются с огромным объемом работы в этой области, особенно с мониторингом протоколов связи и операционных систем, а также с многочисленными комбинациями различных элементов системы Интернета Вещей. По этой причине команда тестировщиков должна непрерывно расширять область своих знаний, повышать уровень навыков в области юзабилити, безопасности и производительности IoT-тестирования.
Еще одно проблема, с которой IoT-тестировщики столкнутся в ближайшие годы – это стратегии. Несмотря на то, что количество устройств и приложений Интернета Вещей растет экспоненциально, 34% респондентов заявили, что несмотря на наличие модулей интернета вещей в их продуктах, у их команд обеспечения качества все еще нет оформившейся стратегии тестирования, как было отмечено в докладе World Quality Report.
Цифровая революция приводит к росту угроз в области безопасности. CIO и CTO практически всех компаний во многих отраслях признают важность тестирования безопасности их программного обеспечения, приложений, сетей и систем. Команды разработчиков ПО работают с компаниями-партнерами, которые помогают обеспечивать их продукту надлежащий уровень безопасности.
Тестирование на безопасность обеспечивает не только безопасность транзакций (независимо от того деньги это или данные), но и защиту личных данных пользователей. Поскольку киберугрозы могут возникнуть в любой момент и в любом виде, тестирование безопасности будет оставаться популярной темой и в будущем.
Здесь представлен список наших прогнозов относительно главных тенденций тестирования программного обеспечения в 2020 году. Независимо от того, как будет происходить цифровая трансформация, нет сомнений, что инженеры-тестировщики и компании, производящие программные продукты, будут продолжать вносить новые изменения и коррективы. В результате команды по обеспечению качества, лидеры и специалисты должны постоянно развиваться, чтобы оставаться гибкими в этой непрерывно меняющейся отрасли.
Узнать подробнее о курсе
Сфера тестирования программного обеспечения развивается день за днем. Мы наблюдаем развитие тенденций, которые появились еще в 2019 году, а также становление новых. В этом году наша команда экспертов по автоматизации тестирования дала несколько прогнозов относительно главных тенденций в сфере тестирования программного обеспечения. Приглашаем вас с ними ознакомиться!
Чтобы составить представление о тенденциях тестирования программного обеспечения в 2019 году, вы можете прочитать нашу статью.
1. Искусственный Интеллект и Машинное обучение в тестировании
На основании множество полученных отчетов, можно с уверенностью сказать, что интеллектуальная автоматизация останется на радаре тестировщиков и в 2020 году.
Применение искусственного интеллекта и машинного обучения уже не новая идея в области тестирования ПО. ИИ делает тестирование более грамотным. Команды могут воспользоваться ИИ/ML для оптимизации своих стратегий автоматизации, более быстрой адаптации и увеличения эффективности работы.
В 2019 году команды обеспечения качества (QA) применяли ИИ/ML для прогнозирования качества тестов, приоритизации тестовых случаев, классификации ошибок, обнаружения объектов тестирования, взаимодействия с тестируемыми приложениями (AUT) и многих других целей.
Ожидается, что искусственный интеллект станет применяться повсеместно во всех сферах информационных технологий. Инвестиции, вложенные в эту область, находятся примерно на уровне 6-7 миллиардов долларов только в Северной Америке. По прогнозам к 2025 году объем инвестиций достигнет почти 200 миллиардов долларов. Мы ожидаем увидеть применение ИИ в большом количестве областей тестирования, естественно, множество из них относятся к отчетам и аналитике:
- Аналитика логов: Определение уникальных тестовых случаев, которые требуют ручного и автоматизированного тестирования.
- Оптимизация набора тестов: Обнаружение и устранение избыточных, бесполезных тестовых случаев.
- Обеспечение покрытия требований к тестированию: Получение ключевых слов из Матрицы Трассировки Требований (RTM).
- Предиктивная аналитика: Прогнозирование ключевых параметров и специфики поведения пользователей, а также определение областей приложения, на которых стоит сосредоточиться.
- Анализ ошибок: Определение областей программного продукта и ошибок, которые связаны с бизнес-рисками.
Еще один столп, на которым зиждется интеллектуальная автоматизация – это машинное обучение. В 2020 году ML выйдет на новый уровень применения. Согласно докладу Capgemini World Quality 38% организаций планировали реализовывать проекты с машинным обучением в 2019 году. Отраслевые эксперты прогнозируют, что в текущем году эта цифра возрастет.
Какое значение это имеет для организаций?
Несмотря на растущий спрос на ИИ и ML в тестировании, эксперты по-прежнему считают, что в тестировании эти технологии только зарождаются. Тем не менее, очень скоро мы будем наблюдать их рост.
Поскольку ИИ предъявляет новые требования к командам обеспечения качества, Agile-команды должны начать внедрение навыков, связанных с ИИ, которые включают в себя изучение Data Science, статистики и математики. Новые навыки не заменят, а дополнят основные навыки в области автоматизированного тестирования и разработки (S-DET).
Помимо этого, деловая хватка станет еще одним важным навыком. Хороший тестировщик должен сочетать в себе хорошие навыки работы с ИИ и исключительные навыки. В прошлом году появились новые должности, такие как AI QA-аналитик и специалист по анализу данных и тестированию.
Что касается разработчиков инструментов автоматизации, их задача – сосредоточиться на создании максимально практичных инструментов.
Компании проверяют концепции и пересматривают традиционный уклад работы, чтобы наилучшим образом внедрить ИИ и при этом учесть бюджеты. Хороший инструмент с поддержкой искусственного интеллекта должен обеспечивать как экономическую эффективность бизнеса, так и технические аспекты, такие как просмотр логов продакшена, генерацию тестовых сценариев или реагирование на активность на продакшене.
2. Автоматизация тестирования в Agile-командах
Автоматизация тестирования уже далеко не в диковинку для области обеспечения качества. И вправду, 44% IT-компаний планировали автоматизировать больше 50% в 2019 году. Согласно прогнозу, в 2020 году процент внедрения автоматизированного тестирования будет только расти.
По мере того, как все больше компаний внедряют новейшие Agile и DevOps-процессы для поставки качественного продукта в кратчайшие сроки, автоматизация тестирования становится неотъемлемой частью этой системы. Автоматизация тестирования лидирует в помощи командам при выполнении повторяющихся задач, быстром обнаружении ошибок, обеспечении непрерывной обратной связи и полноценного покрытия тестами. Таким образом, организации, внедряющие автоматизированное тестирование в свои процессы обеспечения качества, могут сэкономить значительное количество финансовых, временных и человеческих ресурсов.
Ожидается, что автоматизация тестирования в 2020 году будет особенно приветствоваться предпринимателями-миллениалами, которые используют сочетание открытых и платных инструментов.
Какое значение это имеет для QA-специалистов?
Так или иначе, автоматизация тестирования не исключает полностью ручное тестирование. На самом деле, хорошие команды QA должны надлежащим образом сочетать ручное и автоматизированное тестирование, чтобы добиться максимальной эффективности и обеспечения надлежащего качества программного обеспечения. Важность автоматизированного тестирования сложно оспорить, но некоторые виды тестирования, такие как исследовательское или юзабилити-тестирование, все еще должны выполняться вручную.
Помимо этого, QA-специалисты должны разработать умную общую и сквозную среду. Все чаще возникает необходимость в автоматизации процессов от сборки до развертывания. Автоматизация тестирования теперь рассматривается не как функциональное требование, а как неотъемлемая часть жизненного цикла продукта.
Легче сказать, чем сделать. Именно поэтому многие организации не смогли выжать максимум из автоматизации и получить желаемую отдачу от вложенных средств. В докладе Capgemini World Quality есть рекомендация, которая говорит о том, что вместо того, чтобы рассматривать автоматизацию как возможность, команды тестировщиков должны думать о ней как о большой, интеллектуальной и связанной платформе.
Что это означает для разработчиков решений по автоматизации тестирования?
Разработчики средств автоматизации тестирования должны постоянно обновлять и модернизировать инструменты для того, чтобы их решения отвечали требованиям команд обеспечения качества. Решения по автоматизации тестирования будущего должны соответствовать определенным критериям, например:
- Простота внедрения и использования для конечных пользователей на любом уровне тестирования;
- Создание умных фреймворков, которые в состоянии обрабатывать определенные проблемы самостоятельно. Обратите внимание на Autohealing Smart XPath и Katalon Smart Wait.
- Обеспечение полного покрытия тестами и качественного обнаружения ошибок.
- Кросс-платформенное тестирование для веба, API, мобильных и десктопных устройств.
- Интеграция с инструментами CI/CD и обеспечение непрерывного тестирования.
- Интеграция с интеллектуальными дашбордами и аналитикой для получения качественных данных (например, Katalon TestOps)
3. Тестирование больших данных
Большие данные играют важную роль в различных секторах рынка, будь то технологии, здравоохранение, банки, торговля, телекоммуникации, СМИ и т.д. Все больше внимания уделяется использованию данных для сегментации и оптимизации процессов принятия решений.
Тестирование больших данных позволяет отраслям промышленности продуктивно работать с большими объемами данных и различными их типами. Также оно помогает принимать более эффективные решения за счет точной валидации данных, а также улучшает маркетинговую стратегию. Такое тестирование уже не является чем-то новым. В этой сфере ожидается экспоненциальный рост, поскольку многие отрасли переходят на подход, ориентированный на данные.
Тенденция тестирования больших данных получила широкое распространение, главным образом из-за надежности процессов, которым следуют большинство компаний, чтобы получить максимум от своих маркетинговых стратегий. Тестирование больших данных – это не редкость и его популярность растет. Мы прогнозируем, что потребность в тестировании приложений с большими данными в 2020 году будет только расти.
4. QAOps: Обеспечение качества и DevOps-трансформация
Если вы еще не слышали о термине QAOps, то это лишь вопрос времени.
Возможно, вы уже знакомы с «DevOps» — набором методов для разработки ПО, который сочетает в себе разработку (Dev) и операции в области информационно-технологического обслуживания (Ops). Основной целью DevOps является упрощение жизненного цикла разработки систем (SDLC), в то время как команды могут сосредоточиться на создании новых функций, исправлении ошибок и частых обновлениях, которые отвечают коммерческим целям. DevOps упрощает сотрудничество разработчиков и представителей бизнеса.
Аналогично QAOps помогает увеличить поток прямой связи между тестировщиками и разработчиками, с помощью интеграции тестирования в пайплайн CI/CD, а также обеспечения работы тестировщиков в команде с остальными. Проще говоря, в основе QAOps лежат два основных принципа:
- Работа по тестированию должна быть интегрирована в конвейер CI/CD.
- Тестировщики должны работать в связке с разработчиками и задействоваться на протяжении всего процесса CI/CD.
Facebook – один из лучших примеров внедрения QAOps. В 2014 году команда Facebook решила перейти на Facebook Graph API 2.0 и принудительно провести Login Review во всех приложениях. Чтобы обеспечить плавную миграцию, команда хотела протестировать новую версию на 5000 крупнейших приложениях. Тестирование своими силами оказалось невозможным, поэтому они решили воспользоваться QAOps на аутсорсе. В конце концов, команда смогла протестировать более 5000 приложений в течение одного месяца и сумела решить критические проблемы, что было бы невозможным, если бы этим процессом занималась только собственная команда Facebook.
QAOps можно применять не только в глобальных технологических компаниях, но и в средних и маленьких командах. Эта практика хорошо масштабируется под размеры любого бизнеса.
Поскольку все больше команд тяготеет к DevOps, мы ожидаем увидеть рост тенденции на QAOps в 2020 году.
5. Тестирование IoT
Рост тестирования устройств Интернета Вещей (IoT) был отмечен еще в 2019 году. По данным Gartner в 2020 году количество устройств Интернета Вещей по всему миру должно достигнуть 20,5 млрд.
Тестирование IoT – это тестирование устройств Интернета Вещей на предмет безопасности, простоты использования, надежности, совместимости версий устройств и протоколов, универсальности программных элементов, мониторинга задержки соединения, масштабируемости, оценки целостности данных, подлинности устройств и т.д.
IoT-тестировщики часто сталкиваются с огромным объемом работы в этой области, особенно с мониторингом протоколов связи и операционных систем, а также с многочисленными комбинациями различных элементов системы Интернета Вещей. По этой причине команда тестировщиков должна непрерывно расширять область своих знаний, повышать уровень навыков в области юзабилити, безопасности и производительности IoT-тестирования.
Еще одно проблема, с которой IoT-тестировщики столкнутся в ближайшие годы – это стратегии. Несмотря на то, что количество устройств и приложений Интернета Вещей растет экспоненциально, 34% респондентов заявили, что несмотря на наличие модулей интернета вещей в их продуктах, у их команд обеспечения качества все еще нет оформившейся стратегии тестирования, как было отмечено в докладе World Quality Report.
6. Требования по кибербезопасности и контролю рисков
Цифровая революция приводит к росту угроз в области безопасности. CIO и CTO практически всех компаний во многих отраслях признают важность тестирования безопасности их программного обеспечения, приложений, сетей и систем. Команды разработчиков ПО работают с компаниями-партнерами, которые помогают обеспечивать их продукту надлежащий уровень безопасности.
Тестирование на безопасность обеспечивает не только безопасность транзакций (независимо от того деньги это или данные), но и защиту личных данных пользователей. Поскольку киберугрозы могут возникнуть в любой момент и в любом виде, тестирование безопасности будет оставаться популярной темой и в будущем.
Заключение
Здесь представлен список наших прогнозов относительно главных тенденций тестирования программного обеспечения в 2020 году. Независимо от того, как будет происходить цифровая трансформация, нет сомнений, что инженеры-тестировщики и компании, производящие программные продукты, будут продолжать вносить новые изменения и коррективы. В результате команды по обеспечению качества, лидеры и специалисты должны постоянно развиваться, чтобы оставаться гибкими в этой непрерывно меняющейся отрасли.
Узнать подробнее о курсе