Главная / Блог / 10 лучших проектов для начинающих инженеров по автоматизации

10 лучших проектов для начинающих инженеров по автоматизации

Smartiqa Фреймворки автоматизации тестирования

10 лучших проектов для начинающих инженеров по автоматизации

Smartiqa Фреймворки автоматизации тестирования
Дата: 8 июля 2020
Автор: Максим Снегирёв
Те, кто хотят стартовать в сфере автоматизации тестирования, сталкиваются с трудностями из-за недостатка опыта. Один из способов получить опыт - это, конечно, учиться и практиковаться самостоятельно. Но как вы сможете продемонстрировать свои новые знания работодателям?

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

1. Автоматизация тестирования веб-браузера

Веб-автоматизация является наиболее распространенной и востребованной формой автоматизации тестирования. Этот проект должен продемонстрировать вашу способность находить локаторы и взаимодействовать с различными типами элементов, такими как выпадающие меню, флажки, текстовые поля, кнопки, ссылки, оповещения, виджеты загрузки файлов и фреймы. Также убедитесь, что вы пишете чистый тестовый код и используете шаблоны проектирования, такие как объектная модель страницы(Page Object) или шаблон сценария(Screenplay Pattern).

Сайты для практики:

2. Мобильная автоматизация

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

Ваше портфолио должно продемонстрировать автоматизированное тестирование приложений iOS и Android. Было бы здорово использовать Appium для создания одного проекта, который работает как для iOS, так и для Android. Также хорошо использовать такие инструменты, как Apple XCUITest или Google Espresso. Но если вы пойдете по этому пути, я рекомендую сделать как минимум два проекта (по одному на фреймворк), поскольку каждый из них поддерживает только одну мобильную операционную систему.

Приложения для практики:
  1. Приложения Android
  2. iOS-приложения

3. Визуальная автоматизация

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

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

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

4. Автоматизация API

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

В рамках этого проекта обязательно продемонстрируйте множество методов тестирования API, с GET и POST запросами как минимум. Используйте API, которые требуют параметры запросов, а также возвращают сложные ответы с несколькими объектами и массивами.

Также используйте передовые методы проверки, такие как Десериализация(Deserialization) или Тестирование на Одобрение(Approval Testing). Кроме того, демонстрация того, как имитировать ответы API, была бы хорошим бонусом для вас.

API для практики:

5. Автоматизация по спецификации BDD (Behaviour-Driven)

Многие команды практикуют разработку, основанную на поведении (BDD) и автоматизируют тесты на основе созданных спецификаций.

Убедитесь, что в этом проекте показано не только сопоставление между шагами и файлами с кодом их функционала, но также продемонстрировано, как делить состояние между шагами посредством внедрения зависимостей.
Автоматизация по спецификации BDD (Behaviour-Driven)
Пример кода BDD автоматизации
Кроме того, будьте предельно осторожны при написании файлов функций. Длинные, подробные файлы функций повредят вашему портфолио больше, чем помогут. Приложите усилия, чтобы написать хороший, лаконичный файл.

6. Автоматизация на основе данных (Data-Driven)

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

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

7. Использование базы данных

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

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

8. Несколько языков и библиотек

Написание всех ваших проектов для портфолио на одном языке программирования - это нормально. Однако инженерам по автоматизации часто приходится пользоваться несколькими языками.

Чтобы повысить свою конкурентоспособность, попробуйте использовать другой язык для нескольких своих проектов.

Также попробуйте несколько других библиотек автоматизации. Например, можно сделать проект с Selenium WebDriver на Java и JUnit, а другой проект с Cypress на JavaScript и Mocha.

Я знаю, это звучит устрашающе, но вы обнаружите, что некоторые шаблоны проектирования в автоматизации тестирования универсальны. Это упражнение действительно укрепит ваше понимание принципов автоматизации в целом.
Читайте также
Фреймворки автоматизации тестирования с открытым исходным кодом: как выбрать

9. Автоматизация доступности

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

Демонстрация того, что вы можете выполнять автоматизацию тестирования доступности, даст вам большое преимущество при подаче заявления на работу.

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

10. Тестирование производительности

И последнее, но не менее важное: вы должны рассмотреть возможность добавления в свое портфолио проекта тестирования производительности.

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

Презентация портфолио

1. GitHub

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

2. Веб-сайт

Создайте свой сайт, который будет освещать все ваши проекты в портфолио. Вам не нужно создавать сайт самостоятельно. Вы можете использовать обычные системы CMS, такие как WordPress.

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

3. Резюме

Включите в свое резюме ссылку на свое портфолио и не стесняйтесь перечислять все свои проекты портфолио в разделе «Опыт» в резюме.

4. Интервью

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

Удачи!
8 ИЮЛЯ / 2020
Как вам материал?

Читайте также