В 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 — наблюдается больше у крупных компаний.
Инструменты и технологии тестирования
Среди инструментов третий год подряд лидирует Jenkins (52%). При этом год от года снижается число тех, кто не использует в своей работе инструменты CI / CD, — в 2019 году таких было всего 14% от общего числа.
Самые распространённые языки для написания приложений — 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 года:
И снова есть закономерность с размерами компаниями.
Чем больше компания, тем больше степень покрытия приложения автотестами.
Поддерживать актуальность тестов по мере изменения и роста приложения по-прежнему самая большая проблема ⟶ 21% ответов. Нехватку времени на тестирование фиксируют 15%. Недостаточную квалификацию сотрудников отмечают 12%.
- Освойте IT-профессию, для которой не требуется опыт и техническое образование
- Станьте специалистом ручного и автоматизированного тестирования
- Лучших выпускников пригласят на собеседование в Альфа-Банк ?
Тестирование UI
Сложности и главные вызовы
В списке основных сложностей в тестировании UI лидирует тестирование стабильности (18%).
Новый вариант ответа «Начать это делать» [раньше не тестировали UI, теперь готовы приступить. — прим. ред.] сразу занял второе место с 17%.
Распределение других ответов:
- Определение объекта тестирования и управление процессом (15%).
- Тестирование в разных средах (устройства, операционные системы) (13%).
- Проверка покрытия тестами (11%).
- Обслуживание тестов (11%).
- Создание синтетических данных (9%).
Инструменты
Среди инструментов для автоматизированного тестирования UI много приложений с невысокой популярностью.
Второй год подряд лидером остаётся Selenium Webdriver (27%). На втором месте — TestNG (10%). Замыкает тройку TestComplete (8%).
Одновременный запуск тестов
Параллельный запуск сразу нескольких видов тестов экономит время на тестирование, что критически важно в условиях короткого цикла разработки.
При этом данной фишкой пользуется достаточно мало тестировщиков: всего 30% респондентов запускает более 10 тестов за раз.
Очередная закономерность: практически все, кто не запускает тесты параллельно, тесты не автоматизируют.
Параллельным тестированием пользуются практически все, кто использует в работе скрипты или другие способы тестирования UI, — в отличие от тех, кто выбрал «Запись и повтор» в качестве основного способа тестирования UI.
Запуск тестов в облаке
Количество тех, кто запускает тесты в облаке, медленно, но неуклонно растёт. В 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%).
График выше позволяет сопоставить ожидания респондентов прошлогоднего опроса по поводу частоты публикаций и реальность. Цели по еженедельной и ежемесячной публикации были не только достигнуты, но даже превзошли ожидания. Но вот ежедневно или публиковать несколько раз в день не получилось у многих — ожидания оказались завышенными.
Тенденции на горизонте двух лет
Респонденты попытались предсказать направления, которые наберут популярность в сфере тестирования в ближайшие два года. Из ответов, которые были упомянуты более 10 раз, собрали облако упрощённых тегов.
По прогнозам, самыми популярными направлениями станут автоматизация, искусственный интеллект и машинное обучение.
Главное
Частота релизов продолжает расти, поскольку всё больше компаний переходят с методологии Waterfall к сочетанию методологий Agile и DevOps.
Среди типов тестирования доминируют веб-приложения и API.
В ходу множество разных инструментов тестирования, среди которых лидирует ручное тестирование.
Самая сложная задача для автоматизированного тестирования — синхронизация скриптов тестирования с актуальной версией приложения.
Сценарии — наиболее распространённый подход к автоматизации тестирования, а Selenium — самый популярный инструмент написания сценариев.
Согласно планам респондентов, к 2021 году они хотят автоматизировать 69% тестов.
Респонденты по-прежнему видят необходимость проводить тестирование в разных браузерах и версиях браузеров, но количество версий браузеров незначительно, но снизилось.
Четверть тестировщиков используют безголовые (headless) браузеры, в то время как чуть более четверти не уверены, используют ли их организации эту технологию.
В ближайшие два года самыми популярными направлениями в индустрии тестирования станут автоматизация, искусственный интеллект и машинное обучение.
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.