company_banner

Ключевые тренды тестирования ПО из исследования SmartBear: виды тестов и тенденции

Автор оригинала: Компания SmartBear
  • Перевод
В 2019 году компания SmartBear в третий раз провела ежегодный опрос сообщества тестировщиков ПО. Алёна Батицкая, фронтенд-разработчик, преподаватель и руководитель курсов факультета «Программирование» в Нетологии, перевела исследование и собрала ключевые результаты о методологиях разработки, об инструментах и технологиях тестирования, автоматизации, а также о тенденциях развития индустрии в ближайшие два года.  

Кого опрашивали


Компания опросила 2 526 человек из разных стран и отраслей, среди которых преобладают QA-инженеры и инженеры автоматизации — 37%. Также среди ответивших — разработчики (15%), QA-менеджеры (14%), архитекторы (8%), ручные тестировщики (7%), менеджеры по продукту / бизнес-аналитики (5%), консультанты (4%), DevOps-инженеры (4%).


Профессии респондентов неизменно разные

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


Большинство респондентов тестируют ПО или входят в соответствующие команды
 
По отношению к тестировщикам, которые работают самостоятельно, стало больше QA-менеджеров, которые ставят и контролируют задачи. Исследователи объясняют это постоянным повышением квалификации респондентов и переходом на следующие ступени карьерной лестницы.  
  
С 2017 года изменился и размер компаний, в которых работают респонденты. Раньше все стремились попасть в большую компанию (10 000+ сотрудников), а сейчас предпочитают компании поменьше (менее 500 сотрудников).  

Что тестировали




Большинство тестировали веб-приложения (79%) и API / веб-сервисы (77%). 

С 2017 года число тестирующих API / веб-сервисы и мобильные веб-приложения увеличилось примерно на 10%. В то же время наблюдается тенденция к снижению тестирования настольных приложений, гибридных и прогрессивных веб-приложений, коробочных решений. 

Время на тестирование


Время, потраченное на тестирование, почти не изменилось с 2018 года — в среднем это 61% рабочего времени.

Самым трудоёмким занятием 23% респондентов считают выполнение тестов. Создание автоматизированных тестов на втором месте (18%), следом идёт написание сценариев ручного тестирования (17%). Отчетность / анализ результатов теста остались на прежнем уровне — четвёртое место с 12% опрошенных, но это значительно выше, чем 3%, которые сказали, что именно это было самой трудоёмкой задачей в 2017 году. 
 
Сотрудники крупных компаний в большей степени довольны выстроенным процессом тестирования ПО. Причина может быть в том, что у крупных организаций в отличие от небольших есть ресурсы, история и знания для более качественного проведения тестирования. 
 
Выявилась такая корреляция: респонденты, которые проводили за тестированием менее 20% времени, были менее удовлетворены процессом тестирования в отличие от тех, кто провёл за тестированием от 20 до 80%. Это может отражать либо большую осведомлённость о процессах и об их удобстве, либо более низкий уровень интереса и удовлетворённости у тех, кто тестирует реже. 
 

Циклы тестирования


Компании продолжают переходить на более быстрые циклы тестирования ПО.

Наиболее популярная комбинация методологий разработки — Agile и DevOps. Это говорит о том, что компании, которые уже используют Agile, продолжают совершенствоваться в этих процессах и начинают внедрять процессы DevOps. 

Только один подход DevOps используют и маленькие, и большие компании. А применение обоих подходов — Agile и DevOps — наблюдается больше у крупных компаний. 
 

Методологии Agile и DevOps растут не быстро, потихоньку забирая долю рынка у Waterfall. Большинство респондентов указали, что используют совмещение подходов в процессе перехода на DevOps.
 

Инструменты и технологии тестирования


Среди инструментов третий год подряд лидирует Jenkins (52%). При этом год от года снижается число тех, кто не использует в своей работе инструменты CI / CD, — в 2019 году таких было всего 14% от общего числа. 


Несмотря на уверенное лидерство Jenkins, рынок инструментов тестирования выглядит фрагментированным
 
Самые распространённые языки для написания приложений — Java (49%) и JavaScript (44%). Снижается частота использования C# (24%) и VB.net (11%), но увеличивается частота использования Python (18%). Популярность Swift, R и Go продолжает расти, но все они сохраняют примерно одинаковый уровень ответов. 

Увеличилось среднее количество языков программирования для написания приложений: с 2.36 до 2.54. 

Аналогичное распределение среди языков сохранилось в написании автоматических тестов. Разве что Python поменялся местами с С#. 
 

Управление тестированием 


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


Небольшие компании реже используют инструменты управления тестированием 

Среди тех, кто всё же использует подобный софт, нет какой-то одной программы-лидера:  



Нагрузочное тестирование 


С 30% до 35% выросло количество ответивших, что нагрузочное тестирование проводится перед каждой публикацией проекта.  


Популярность нагрузочного тестирования для разных типов ПО
 
Среди инструментов нагрузочного тестирования с уверенным отрывом вырывается опенсорсный Apache JMeter — его выбирают 37% тестировщиков. Тренд на открытый код растёт в IT-сообществе, так что такой лидер не вызывает удивления. 

Второе место — у LoadRunner (18%). Не обозначенными, «другими» инструментами пользуется 17%. 
 

 

Автоматизация тестирования 


Степень покрытия ПО автоматическими тестами практически не меняется с 2017 года:
 

Всего 18% приложений покрыты автотестами на более чем 75%
 
И снова есть закономерность с размерами компаниями. 
Чем больше компания, тем больше степень покрытия приложения автотестами. 
 Поддерживать актуальность тестов по мере изменения и роста приложения по-прежнему самая большая проблема ⟶ 21% ответов. Нехватку времени на тестирование фиксируют 15%. Недостаточную квалификацию сотрудников отмечают 12%.

Тестирование UI 


Сложности и главные вызовы




В списке основных сложностей в тестировании UI лидирует тестирование стабильности (18%).

Новый вариант ответа «Начать это делать» [раньше не тестировали UI, теперь готовы приступить. — прим. ред.] сразу занял второе место с 17%.  
 
Распределение других ответов:
 
  • Определение объекта тестирования и управление процессом (15%).
  • Тестирование в разных средах (устройства, операционные системы) (13%).
  • Проверка покрытия тестами (11%).
  • Обслуживание тестов (11%).
  • Создание синтетических данных (9%).

 

Инструменты


Среди инструментов для автоматизированного тестирования UI много приложений с невысокой популярностью. 

Второй год подряд лидером остаётся Selenium Webdriver (27%). На втором месте — TestNG (10%). Замыкает тройку TestComplete (8%).



 

Одновременный запуск тестов


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



Количество запускаемых одновременно тестов

Очередная закономерность: практически все, кто не запускает тесты параллельно, тесты не автоматизируют. 

Параллельным тестированием пользуются практически все, кто использует в работе скрипты или другие способы тестирования UI, — в отличие от тех, кто выбрал «Запись и повтор» в качестве основного способа тестирования UI. 

Выбор подхода к автоматизации vs Параллельные тесты
 

Запуск тестов в облаке 


Количество тех, кто запускает тесты в облаке, медленно, но неуклонно растёт. В 2017 году таких ответов было 45%, а в 2019 уже 50%.  

Популярные браузеры


Тройка лидеров не меняется с 2017 года. Самый популярный браузер для тестирования веб-приложений — Chrome (53%). Далее идёт Firefox (41%) и Internet Explorer (35%). 

Chrome, FireFox и Internet Explorer сильно упали в 2018 году, но первые два подросли примерно на 5% в 2019 году, а вот Internet Explorer так и продолжает своё падение.  

38% респондентов тестируют в трёх и более браузерах. Подавляющее большинство (51%) тестируют только в последней версии браузеров, 20% — в двух последних, 11% — в трёх последних.  

Безголовые (headless) браузеры 


Технология безголовых браузеров существенно увеличивает количество параллельно запускаемых тестов, тем самым ускоряя весь процесс тестирования почти в три раза. Пока безголовые версии есть только у Chrome и FireFox. 
 
По данным опроса, 25% респондентов используют эту технологию. Остальные 75% не знают об использовании безголовых браузеров в компании или уверены, что эта технология не внедрена.  

Тестирование на мобильных устройствах


С каждым годом растёт потребность бизнеса тестировать продукт на мобильных устройствах: лишь 15% респондентов ответили, что вообще не тестируют мобильные устройства. 
 
Лидером, как и в прошлом году, остаются устройства под управлением iOS. Android следует по пятам. 
 


Новая норма для потребителя — ожидание, что любой продукт будет работать на мобильном девайсе так же хорошо, как и на десктопе. 

Тенденции индустрии тестирования 


Автоматизация


В 2018 году было автоматизировано 45% тестов, в 2019 — 46%. Хоть и не существенный, но стабильный рост. 

Согласно планам респондентов, к 2021 году они хотят автоматизировать 69% тестов. Самые высокие ожидания — у QA-инженеров.  

По данным опроса, те, у кого текущий показатель автоматизации равен 1‒25%, планируют увеличить его до 26‒50%. А те, у кого он составляет 26‒50%, хотят получить 51‒75%. То есть никто не заявляет о стопроцентной автоматизации, реально оценивая свои возможности.  

Наиболее эффективный вариант — еженедельный выпуск продукта, его выбрало порядка 37% респондентов. На втором месте находится месячный цикл разработки (28%). Третье место занимает квартальный выпуск продукта (12%). 


Респонденты достигли большинства целей, которые поставили в 2017 году

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

Тенденции на горизонте двух лет


Респонденты попытались предсказать направления, которые наберут популярность в сфере тестирования в ближайшие два года. Из ответов, которые были упомянуты более 10 раз, собрали облако упрощённых тегов.  


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

Главное 


Частота релизов продолжает расти, поскольку всё больше компаний переходят с методологии Waterfall к сочетанию методологий Agile и DevOps.

Среди типов тестирования доминируют веб-приложения и API.  

В ходу множество разных инструментов тестирования, среди которых лидирует ручное тестирование. 

Самая сложная задача для автоматизированного тестирования — синхронизация скриптов тестирования с актуальной версией приложения. 

Сценарии  — наиболее распространённый подход к автоматизации тестирования, а Selenium —  самый популярный инструмент написания сценариев. 

Cогласно планам респондентов, к 2021 году они хотят автоматизировать 69% тестов. 

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

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

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

От редакции Нетологии


Приглашаем познакомиться с профессией тестировщика на открытом занятии «Тестировщик: кто это и как стать главным по качеству в IT» — ближайшее состоится 23 апреля в 19:00.

А тем, кто уже хочет получить эту ИТ-профессию, предлагаем изучить программу курса «Тестировщик ПО». 
Нетология
Университет современных профессий

Комментарии 2

    0

    Каким образом специфический тест ранер для Java TestNG стал в один ряд с инструментами типа Selenium, Appium, Jmeter ?? Очень странное "исследование".

      0
      В исследовании действительно есть неоднозначные моменты. Тем не менее, выводы из него полезны и интересны, и дают цельную картину об отрасли.

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое