Автоматизация тестирования уже давно стала важной частью жизненного цикла разработки программного обеспечения. Начинающим автоматизаторам достаточно трудно продемонстрировать свои навыки прямо на собеседовании, поэтому при поиске новой работы они, как и фронтенд-разработчики, UX-эксперты и другие IT специалисты, создают свое портфолио. В этой статье мы расскажем, почему инженеру по автоматизации тестирования так важно иметь хорошее портфолио, а также предложим 10 идей для проектов, которые вы сможете добавить к нему.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
Зачем автоматизатору нужно свое портфолио
Допустим, что вы пришли на собеседовании и вас спрашивают: “Как можно автоматизировать страницу входа в систему?” Или просят рассказать о вашем опыте в автоматизации. Отличным ответом будет демонстрация вашего собственного кода! Это станет прекрасным подтверждением вашего опыта для потенциальных работодателей, нежели устный ответ. Ведь все мы хорошо знаем, что лучший способ обучения – это применение теории на практике.
Вот несколько советов, как можно подготовиться к созданию портфолио:
- Поставьте перед собой цель и будьте решительны в её достижении. Сделайте всё возможное, чтобы исполнить задуманное.
- Воспользуйтесь бесплатными и платными ресурсами по автоматизации, такими как ZEN-Automation Testing Program, Test Automation University и т.п.
- Всегда используйте Github для размещения вашего кода. Пользуйтесь своим частным репозиторием или выкладывайте код в открытый доступ.
- Общайтесь на форумах и в сообществах по автоматизации тестирования, где участники всегда готовы ответить на ваши вопросы.
- При желании создавайте обучающие ролики или проводите онлайн-трансляции с демонстрациями вашей работы на YouTube.
- Выберите проект, в котором вы сможете погрузится в детали одного инструмента или языка. Или же выберите такой, где сможете попробовать себя в разных областях и показать, что вы – специалист широкого профиля.
- И последнее по порядку, но не по важности – получайте удовольствие! Если ваша работа стала казаться монотонной и превратилась в рутину, то попробуйте переключиться на другой проект, уделять ей меньше времени или вовсе отложите на некоторое время. Процесс автоматизации состоит из череды проб и ошибок, что, временами, может демотивировать. При необходимости обязательно обратитесь за помощью к другим тестировщикам. Помните, что всё в ваших руках!
10 лучших проектов по автоматизации для портфолио
Итак, пришло время заняться созданием вашего портфолио!
1. Пишите тест-кейсы для своих любимых сайтов
Возьмите сайт, которым вы часто пользуетесь, и подумайте, как бы вы могли его протестировать. Постарайтесь не ограничиваться какими-то простыми сценариями, продемонстрируйте свои навыки написания кода, взаимодействуя сразу с несколькими страницами.
Такой проект должен показать ваше умение находить локаторы элементов и взаимодействовать с наиболее важными частями страницы, например с выпадающим меню, текстовыми полями, чек-боксами, кнопками, оповещениями, всплывающими меню, ссылками, виджетами и т.п. Кроме того, убедитесь, что вы пишете чистый код и используете разнообразные паттерны проектирования, такие как Screenplay или Page Object.
Также существует множество ресурсов, которые помогут вам в ваших экспериментах в автоматизации. Вот некоторые из них:
На этом сайте вы можете ознакомиться с основами веб-автоматизации и базовыми понятиями Selenium и Cypress, либо совершенно бесплатно изучить различные продвинутые приемы в Selenium. Кроме того, вы можете воспользоваться уже готовыми автоматизированными скриптами для Selenium при решении задач любого типа.
2. Тестируйте приложения
Сейчас сложно представить какой-либо продукт, который бы не имел своего мобильного приложения. В связи с этим спрос на инженеров по автоматизации тестирования приложений резко возрос. Наличие опыта тестирования приложений, безусловно, повысит ваши шансы получить оффер мечты в ведущие компании по автоматизации.
В портфолио автоматизатора следует добавить автотесты для проверки как iOS-, так и Android-приложений. Для этого можно воспользоваться такими инструментами, как XCUI TEST от Apple или Espresso от Google. Если вы решите следовать этой рекомендации, то постарайтесь сделать как минимум два проекта (по одному на каждую операционную систему).
Тем не менее, какой бы инструмент вы ни использовали, вам следует, как и в проекте по веб-тестированию, продемонстрировать взаимодействие с самыми важными и заметными элементами приложения. Кроме того, в этом проекте необходимо использовать и специфические для мобильных устройств жесты, такие как пинч (pinching) и свайп (swiping). Загрузить приложения и соответствующие файлы как для iOS, так и для Android можно у сторонних поставщиков приложений.
3. Используйте визуальное тестирование
Как только вы закончите создание своих мобильных и веб-проектов, дополните их техниками визуального тестирования. Уверяем, вы удивитесь, как много скриптов для проверки внешнего вида ваших приложений было упущено. На данный момент визуальный тестировщик – одна из самых востребованных и популярных специальностей в IT.
4. Автоматизируйте API
С развитием микросервисов, общедоступных API и IoT-приложений тестирование API стало неотъемлемой частью цикла разработки ПО. Многие компании нуждаются в специалистах по автоматизации широкого профиля, поэтому целесообразно будет добавить в свое портфолио проект по тестированию API.
Важно, чтобы в рамках этого проекта вы продемонстрировали навыки работы с различными API-методами, добавив как минимум сценарии для POST и GET запросов, которые являются ключевыми в REST API. Будет здорово, если в своем проекте вы сможете показать, как работать с API, которые принимают параметры и тела запросов и возвращают ответы с массивами данных и несколькими объектами.
Существует множество готовых API, на которых можно практиковаться. Вот некоторые из них:
5. Тестируйте на основе данных
Скорее всего в вашем проекте используется лишь небольшой и заранее определенный объем данных, поэтому их (данные) легко хранить сразу в исходном коде. Однако при работе в крупной компании вы можете столкнуться с сотнями или тысячами автотестов. Чтобы справиться с таким объемом данных, многие команды используют подход Data-Driven Testing – тестирование, управляемое данными.
Мы рекомендуем добавить в портфолио по автоматизации хотя бы один проект, который показал бы вашу способность извлекать и тестировать данные из внешнего источника, например, из таблицы Excel.
6. Взаимодействуйте с базой данных
После того как вы разберетесь с тем, как получать данные из внешнего источника, было бы неплохо добавить в портфолио проект, который взаимодействует с базой данных. Мы рекомендуем использовать в автотестах запросы на чтение и на запись данных.
Например, можно читать какие-либо данные из базы данных, чтобы получить ожидаемые результаты от поискового запроса. Или можно записывать данные в базу, чтобы перевести приложение в необходимое состояние перед началом тестирования.
7. Создайте типовой плагин для CI/CD
Если вы планируете устроиться в продуктовую компанию, работающую по принципам непрерывной интеграции/непрерывной доставке, то отличным решением будет добавить в портфолио проект по работе с CI/CD-пайплайном. Один из возможных примеров – сделать запрос к Jira для получения списка задач спринта, которые необходимо протестировать, а затем передать эту информацию другому плагину, который сопоставит эти задачи с приемочными тестами и запустит их.
8. Протестируйте производительность
Обязательно добавьте в свое портфолио проект по тестированию производительности! Нефункциональное тестирование, такое как тестирование производительности, является узконаправленной областью, с которой многие тестировщики не знакомы в должной степени. Добавление подобного проекта в портфолио обязательно поможет вам выделиться среди других кандидатов на вакансию.
Ниже несколько сайтов, на которых можно попрактиковаться в тестировании производительности:
- Simple Travel Agency – демо-сайт BlazeMeter.
- Pet Store Web
- Computer Database
9. Пишите тесты на разных языках программирования
После того как вы создали проекты на своем основном языке программирования, попробуйте для нескольких проектов использовать другие языки. Например, можно научится внедрять веб-драйвер Selenium для Java и JUnit или создать проект с Cypress на JavaScript и Mocha.
В процессе вы так же можете поэкспериментировать ещё и с новыми библиотеками для автоматизации. Да, иногда это может казаться утомительным, но у этого упражнения есть большая практическая практическая польза! Со временем вы заметите, что некоторые концепции и методы автоматизации тестирования универсальны для любого языка/библиотеки.
10. Автоматизируйте по BDD
Разработка на основе поведение (Behavior Driven Development, BDD) – последнее слово в технологиях. Многие компании стараются внедрить BDD, и, как следствие, растет потребность в тестировщиках, способных работать с этой методологией.
Резюме
В конце, мы хотели бы дать вам последний, очень важный совет: обязательно добавляйте ссылку на свое портфолио в резюме! Не стесняйтесь помещать его в раздел “Опыт работы”. Это поможет рекрутерам узнать, что вы достаточно целеустремленный, увлеченный и компетентный для того, чтобы пробиться в сферу автоматизации тестирования. Удачи!
Обширный перечень сайтов для тестирования можно найти в этом GIT-репозитории.
Перевод статьи «Top 10 Automation Testing Projects for beginners ( 2022 Updated )».