Блог a1qa

О тестировании и качестве ПО

Тренды в тестировании ПО на 2020 год

По словам экспертов консалтинговой фирмы A.T. Kearney, к 2030 году наступит новая цифровая эпоха. Чтобы быть готовыми к ней, компаниям следует приспособиться к царящему «цифровому беспорядку», активно развиваться в таких условиях и быть во всеоружии перед «цифровым порядком».

Кто окажется на первом месте во время адаптации и смены эпох – бизнес или покупатель? Согласно World Quality Report (WQR) за 2019–2020 гг., подготовленному на основании анализа мнений более 1 700 представителей топ-менеджмента, первые места в зале под названием «цели QA в 2020 году» достаются бизнесу, а точнее, его росту и результатам. На втором месте – выявление дефектов ПО до релиза программного продукта. Ожидается, что прошлогодний лидер – обеспечение удовлетворённости конечных пользователей – будет занимать третье место.

Ниже вы можете увидеть, как расставлены приоритеты по целям тестирования в WQR. Цели тестирования ПО и QA

Источник: World Quality Report 2019–2020 гг.

С чем может быть связано такое расположение целей? Фокусируясь на успехе бизнеса, компания продолжает уделять должное внимание удовлетворённости конечных пользователей.

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

Другой вопрос: «Что же делать, если ваша стратегия в области тестирования направлена на удовлетворение конечных пользователей?»

Перестраивать все планы на год не нужно, ведь и лояльность потребителей, и выявление дефектов до выпуска программного продукта на рынок – это по-прежнему важно.

О чём ещё нужно помнить в 2020 году, чтобы оставаться в тренде? Давайте перейдём к обсуждению четырёх новейших течений в области QA и тестирования ПО, которые будут играть определяющую роль в этом году.

  1. Тренд №1 – внедрять искусственный интеллект и машинное обучение в QA.
  2. Тренд №2 – разумно проводить автоматизацию тестирования.
  3. Тренд №3 – реализовывать тестирование в Agile и DevOps.
  4. Тренд №4 – уделять больше внимания тестированию безопасности.

Тренд №1 – внедрять искусственный интеллект и машинное обучение в QA

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

Однако, согласно данным исследования аналитической компании Forrester, в 2019 году только 29% мировых разработчиков программных продуктов использовали ПО на основе искусственного интеллекта (ИИ).

Анализируя прошлогодний отчёт WQR, складывается впечатление, что у опрошенных ИТ-директоров были завышенные ожидания насчёт ИИ.

Будет неверно утверждать, что искусственный интеллект и машинное обучение (МО) – это зрелые технологии, применение которых всегда понятно и очевидно для бизнеса. И этим также можно объяснить то, что количество респондентов, внедрявших ИИ в процесс тестирования в 2019 году, снизилось на 15% за 12 месяцев и теперь составляет 42%. Те компании, что использовали искусственный интеллект в своей работе, стали более реалистично оценивать его возможности и только сейчас начали детально углубляться в эту отрасль.

Стоит отметить, что машинное обучение набирает обороты и почти вдвое больше людей (58%) планируют использовать его (вместо искусственного интеллекта) в своих внутренних процессах.

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

Сохранит ли ИИ свои позиции в 2020 году? IDC прогнозирует, что через пять лет минимум 90% новых версий приложений будут включать встроенные функции искусственного интеллекта. Forrester же уверяет, что в 2020 году мы можем ожидать последний пик финансирования ИИ.

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

Вероятнее всего, ИИ и МО (машинное обучение) понадобится время, чтобы их потенциал раскрылся. Само тестирование от внедрения этих подходов не изменит своей сути; скорее, изменятся инструменты и техники.

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

Тренд №2 – разумно проводить автоматизацию тестирования

Тенденция автоматизации процессов остаётся популярным ИТ-трендом на протяжении последних нескольких лет. Например, автоматизация коммуникации с клиентами позволяет улучшать качество взаимодействия, сокращая влияние человека на процесс и экономя бюджет на работников.

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

Похоже, тренд по автоматизации планирует развиваться и дальше. А что насчёт тестирования – останется ли автоматизация таким же востребованным сервисом для улучшения качества ПО?

Да. И тут стоит отметить те преимущества, которые можно получить при её грамотном использовании.

Преимущества автоматизации тестирования
Источник: World Quality Report 2019–2020 гг.

Если автоматизировать «всё подряд», нужно учитывать, что автоматизация тестирования не обязательно поможет в нужном вам объёме. С каждым выпуском на рынок приложения меняются, и даже автоматизация может не справиться с такими скоростями. 65% респондентов WQR подтверждают это утверждение.

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

Поэтому следующему поколению автоматизаторов нужно углублять свои QA-знания, хорошо разбираться в таких процессах, как машинное обучение, API, микросервисы, разработка через тестирование, RPA (robotic process automation, роботизированная автоматизация процессов) и т. д. Как только компании начнут набирать правильных специалистов с нужными навыками, можно будет переосмыслить подход к автоматизации. Это поможет получить максимальную отдачу и сосредоточиться на важных бизнес-целях вместо исправления недочётов.

«Нужно помнить, что автоматизация тестирования должна строиться не по остаточному принципу. Потратив некоторое время на углубление в вопросы автоматизации, вы сможете подобрать нужный подход и инструменты тестирования, а также построить модель для оценки её полезности на проекте.

Автоматизируя «всё» и создавая тысячи автотестов, вы можете получить низкокачественные тесты, в которых сложно быть уверенными. Чтобы увеличить эффективность проведённого тестирования, нужно также помнить и про ручные проверки, без которых в некоторых случаях не обойтись», – делится Екатерина Базылева, эксперт консалтинг-группы по качеству ПО и руководитель отдела предпродажной подготовки a1qa.

Тренд №3 – реализовывать тестирование в Agile и DevOps

Улучшать качество ПО можно бесконечно, но доставлять приложения при высоких скоростях и к тому же оставаться гибкими помогает внедрение Agile и DevOps. Однако, согласно данным WQR, только 1% из опрошенных не сталкивается с какими-либо проблемами при реализации этих подходов.

ИТ-представители отмечают, что прогресс успешной реализации Agile и DevOps замедляют многие факторы:

  1. Оперативные работы и бизнес-приоритеты.
  2. Набор технологий.
  3. Навыки, необходимые для работы с инструментами.
  4. И многие другие.

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

«Скажем, если нужно сегодня доставить билд в продакшен, что вы выберете?

Потратить 8 часов мануального инженера и выполнить задачу в срок? Или всё же найти более эффективное решение и автоматизировать процесс, в результате которого 8-часовая работа может быть сделана за 5 минут в долгосрочной перспективе?

Очевидно, что дальновидное решение будет дешевле, быстрее и проще», – приводит пример Екатерина Базылева.

Настройка процессов

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

  • Понимает внутренние процессы компании.
  • Имеет опыт в настройке таких процессов.
  • Гибко подходит к работе, подбирая индивидуальные решения.

Если специалист недостаточно квалифицирован или работает только по установленному регламенту, процесс может просто не прижиться, и команда избавится от него, подумав, что Agile и DevOps – это не для них.

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

Трудности при внедрении Agile и DevOps

Среди трудностей внедрения Agile можно выделить обучение. Ведь и DevOps-практики, и Agile совершенствуются: внедряются новые подходы, ликвидируются старые, добавляются современные инструменты. Специалисты должны всё это учитывать и поддерживать актуальность своих знаний.

Опыт показывает, что, если у компании есть чёткое видение того, каким должен быть её успех и каковы основные бизнес-цели, внедрить Agile и DevOps с такой базой будет гораздо проще. Но даже при реализации идеального сценария компании сталкиваются с множеством трудностей: отсутствие тестовой среды, тестовых данных, невозможность провести автоматизацию тестирования на должном уровне или определить, в какой области нужно тестировать и т. д.

Зачем реализовывать QA в Agile и DevOps

Внедрять тестирование в Agile- и DevOps-процессы важно также потому, что сейчас границы между разработкой и продакшеном становятся всё более размытыми. А вовлекать QA-команду лучше на ранних этапах процесса разработки, чтобы лучше спланировать работу и быстрее вывести на рынок высококачественное ПО, не оставляя качество и безопасность на последний момент.

Надо помнить, что в случае с Agile и DevOps компаниям нужно более разумно подходить к автоматизации и отводить тестированию одну из главных ролей в цикле разработки, делая его частью конвейера непрерывной интеграции и непрерывной доставки (CI/CD). Для этого необходимо набрать те таланты в области QA, у которых уже есть нужный набор навыков, а также обучить тех специалистов, у которых их нет.

Согласно данным WQR, более половины компаний удовлетворены уровнем квалификации своих инженеров в каждой области тестирования. Более четверти представителей ИТ-мира признают, что их тестировщикам не хватает навыков в каждом из QA-аспектов, включая автоматизацию тестирования, производительность, безопасность и многое другое.

Тренд №4 – уделять больше внимания тестированию безопасности

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

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

Очевидно, что компаниям следует больше инвестировать в решение проблем, связанных с секьюрити, а также следить за обеспечением безопасности данных клиентов в соответствии с нормами Общего регламента по защите данных (GDPR), Закона Калифорнии о защите персональных данных потребителей (CCPA) и другими подобными нормативными актами.

Представители QA-мира всё больше углубляются в вопросы безопасности ПО и поэтому кажется, что с увеличением осведомлённости автоматизация тестирования безопасности должна показывать результаты лучше, чем автоматизация других типов тестирования. Как ни странно, только 13% проверок безопасности автоматизируются. И это именно та точка роста для компаний, о которой стоит подумать в 2020 году.

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

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

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

Итог

QA всё больше ориентируется на то, чтобы бизнес приносил хорошие результаты, а компания расширялась. Благодаря своевременному и качественно проведённому тестированию, рынок получает больше высококлассных продуктов, ориентированных на потребности конечного пользователя.

Чтобы и дальше положительно влиять на бизнес-результаты и способствовать росту, нужно учитывать релевантные течения в области QA. В 2020 году эксперты рекомендуют помнить о важности внедрения тестирования в Agile и DevOps, а искусственного интеллекта и машинного обучения – в QA, а также о разумном проведении автоматизации тестирования и проверок безопасности ИТ-систем. Это поможет вывести качество ПО на новый уровень и позаботиться о лояльном отношении конечных пользователей к вашему продукту.

Задайте любой вопрос в области обеспечения качества нашим QA-специалистам и получите бесплатную консультацию.

Поделиться статьей: