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

«Высокое качество на большой скорости» — это новая мантра для компаний и требование клиентов. Она подразумевает, что к конечным пользователям должны поступать продукты более высокого качества, но в более короткие сроки, чем раньше. Это важная составляющая задачи сокращения времени выхода продукта на рынок. В том числе благодаря попыткам удовлетворить это сложное требование мы наблюдаем впечатляющий рост автоматизации тестирования. В конечном счете автоматизация изменила правила игры, позволив QA-командам выполнять тест-кейсы быстрее и точнее.

Регрессионное тестирование или тесты, которые повторяются каждый спринт, являются наиболее подходящими кандидатами на автоматизацию. Частые обновления кода приводят к увеличению общей стоимости с точки зрения затрат времени и человеческих ресурсов, которые уходят на выполнение тестов вручную. Поэтому разработка автоматизированных тестов является более мудрым и эффективным выбором в таких случаях.

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

Какой инструмент автоматизации тестирования выбрать: «правильный» или «самый лучший»?

Автоматизация тестирования во всех ИТ-проектах работает немного по-разному. Наряду с тем, что  многим QA-командам удалось извлечь существенную выгоду от автоматизации, очень многие компании инвестировали (читай потратили впустую) время, усилия и финансовые ресурсы на внедрение инструментов автоматизации, а в конце-концов проект отложили. Посмотрите на таблицу ниже и попробуйте определить, к какой категории относится ваша потребность в инструменте?

Типы инструментов автоматизации:

Инструменты с открытым исходным кодом

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

Коммерческие средства автоматизации

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

Кастомизированные инструменты

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

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

Определите свои потребности и требования к тестированию

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

  • Много ли у вас повторяющихся тест-кейсов?

  • Часто ли вам приходится проводить регрессионное тестирование?

  • Есть ли необходимость симулировать огромное количество пользователей для тестирования производительности?

  • Стабилен ли пользовательский интерфейс?

  • Есть ли в приложении критически важные функции, для проверки которых вы не можете полагаться только на ручное тестирование?

Это одни из самых сложных критериев для выбора инструментов автоматизации тестирования. Чтобы точно определить их, QA-специалистам необходимо хорошо знать свои проекты.

Критерии выбора инструмента для автоматизации тестирования

Если вы ответили на большую часть вопросов положительно, значит, вам действительно нужна автоматизация. Следующий вопрос — как сделать выбор между большим количеством инструментов, доступных на рынке? Вот несколько критериев, которые стоит держать в уме:

1. Есть ли у вас технические специалисты, которые способны быстро освоить нужные инструменты?

Автоматизированное тестирование проводят с помощью определенных инструментов, для использования которых требуется умение писать код и технические знания. Тестировщикам необходим прочный фундамент знаний языка(ов) программирования, включая, например, знание концепций ООП. Иногда отсутствие этих знаний становится самым большим препятствием при выборе инструментов тестирования. Чтобы устранить это узкое место, все движется в сторону использования no-code инструментов, но и они требуют определенных усилий для понимания.

2. Есть ли у вас необходимый бюджет? 

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

3. Какие фичи предлагает инструмент?

Каждый инструмент, независимо от сферы его применения, всегда должен обладать следующими фичами:

  • Мультиплатформенность;

  • Поддержка нескольких языков программирования;

  • Возможности интеграции в CI/CD;

  • Разнообразие функциональности отчетности.

4. Что насчет сопровождения программного кода и возможности повторного использования?

Как и в случае с любым другим языком программирования, нам необходимо взвесить время и затраты на сопровождение кода, а также его повторное использование. Это напрямую влияет на общую стоимость. Заранее написанные скрипты для автоматизации тестирования обычно нестабильны. Лучший инструмент автоматизации должен иметь оптимизирующие функции, например, такие, которые повышают надежность локаторов. Возможность повторно использовать скрипты помогает команде сэкономить усилия для аналогичных тест-кейсов.

5. Предлагает ли инструмент возможности CI/CD? 

Инструмент для автоматизации тестирования должен быть способен интегрироваться в CI/CD пайплайны и внешние платформы для обеспечения непрерывности тестирования. Это способствует развитию лучшей культуры управления тестированием и совместной работы команды.

6. Какая поддержка доступна?

Еще один ключевой момент, который необходимо учитывать, — это поддержка инструмента. Особенно это касается бесплатных инструментов с открытым исходным кодом, ведь разработчики зависят от поддержки сообщества. Коммерческие инструменты должны предоставлять пользователям оперативную поддержку по всем техническим вопросам.

Заключение

Оценка и выбор инструментов автоматизации — процесс непростой, но полностью оправдывающий затраты. Как только вы найдете лучший инструмент, вы сможете запустить автоматизацию тестирования и получать наилучшие результаты с наименьшими затратами. Критерии, рассмотренные выше, должны помочь сделать выбор. Наиболее популярными инструментами для различных потребностей являются Selenium, SpUI и JMeter. Однако на рынке регулярно появляются новые инструменты, поэтому важно тщательно сравнивать варианты, чтобы прийти к наиболее оптимальному.


Для организации эффективного процесса тестирования важен выбор не только правильных инструментов автоматизации, но и инструмента управления задачами. Приглашаем всех начинающих тестировщиков на открытое занятие, на котором познакомимся с основной программой для управления проектами — Jira. На уроке научимся работать с ней и использовать для решения повседневных задач. Регистрация открыта по ссылке ниже.

Комментарии (3)


  1. gmtd
    26.11.2022 11:36
    +1

    Мне нужно построить интеграционные тесты для сайта, с использованием CI/CD в виде GitHub Actions

    Прочитал статью, но ближе к решению своей задачи не стал ((((


  1. sergkrovel
    27.11.2022 14:53

    Да везде уже машины заменяют людей... скоро и программистов заменят каким-нибудь искусственным интеллектом. Если уже не заменили


  1. mrkaban
    28.11.2022 11:29

    Еще один псевдо-обучающий центр постит переводы статей, ну это не серьезно. У вас же должны быть лекторы. Заплатите им, чтобы они взяли эту статью \ свои знания = скомпилировали в интересную и уникальную статью. Это ведь привлечет больше клиентов, что гугло-перевод с анализом текста на ошибки перевода.