Тренер: Арсений Батыров
Приглашенный эксперт: Виталий Котов
Курс дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля.
Онлайн-тренинг
Мобильная автоматизация – непростая тема. В ней еще нет наработанных решений, мало экспертов, а инструменты – новые и нестабильные. При этом любая компания хочет сократить срок разработки новых версий мобильных приложений, в том числе и за счет автоматизации тестирования.
Автоматизатор мобильных приложений – одна из наиболее высокооплачиваемых профессий на рынке. Учитывая дефицит кадров, многие автоматизаторы стоят дороже программистов. Поэтому любому хорошему тестировщику стоит освоить базовые навыки мобильной автоматизации.
Курс «Автоматизатор мобильных приложений» дает все необходимые навыки для самостоятельной настройки полного стека автоматизации с нуля. Мы не учим просто писать тесты или разворачивать среду тестирования, ведь этого недостаточно в работе.
На этом курсе вы научитесь:
Работать с обеими платформами – iOS и Android;
Выбирать правильные инструменты, подходящие именно под ваши задачи;
Настраивать среду автоматизации с нуля на различных операционных системах;
Писать качественные тесты, которые легко поддерживать и расширять;
Получите все необходимые знания для старта автоматизации в вашем проекте.
По окончании курса ваших навыков будет вполне достаточно для работы автоматизатором мобильных приложений в любой крупной компании.
Мы используем связку из самых популярных инструментов: Java8 + JUnit + Appium. Популярность стека можно оценить по опросу, актуальному на январь 2018.
Необходимые знания для курса:
1) Понимание основ ООП. Надо понимать, что такое класс, метод класса и поле класса. Круто, если есть понимание таких вещей, как наследование и модификаторы доступа.
2) Основы Java. Надо знать базовые типа данных: int, char. Надо знать, что такое String и List.
3) Надо знать, что такое локатор и как составить просто XPath локатор.
4) Опыт работы с Git. Нужно уметь создать репозиторий на Github, создавать коммиты и выкладывать их в свой репозиторий. Если у Вас нет опыта работы с Git, у нас есть двухнедельный курс, на котором Вы получите все необходимые знания.
На этом уроке мы скачаем и установим IDE - программу для написания и запуска кода на Java. Создадим проект, в котором разберем основы языка программирования Java. После научимся подключать библиотеки на примере JUnit и напишем первые тесты. Научимся запускать их и писать отчеты об ошибках для них.
В конце этого урока у вас уже будет настроенный проект и несколько работающих тестов на JUnit, выложенных на вашем аккаунте на Github.
В качестве домашнего задания вам предстоит самостоятельно разработать несколько тестов на JUnit. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке мы разберемся с тем, какие инструменты используются для автоматизации тестирования мобильных приложений. Установим эти инструменты на Windows и MacOS. Затем в IDE создадим новый проект для автотестов и напишем первый автотест для Android-приложения.
В конце этого урока на вашем Github-аккаунте появится первый работающий тест на Android. А на ПК будут установлены все необходимые программы для создания и запуска новых тестов.
В качестве домашнего задания вы настроите весь необходимый софт на своем ПК и напишите свой первый тест на Android.
На этом уроке мы напишем несколько новых тестов на Android, научимся составлять локаторы для элементов на языке XPath и по ID, а также используем основные методы для взаимодействия с UI нашего приложения. Затем разберем типы ожиданий.
В конце этого урока у Вас будет несколько новых тестов, которые активно взаимодействуют с UI - умеют создавать ожидания для стабильной работы тестов, кликать и тапать по элементам и заполнять формы.
В качестве домашнего задания вы напишите несколько простых тестов для Android-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке разберемся с более сложными методами написания тестов и взаимодействия с UI нашего приложения. Напишем тесты на свайп элементов во все стороны, создадим новые ассерты (проверки), дополняющие методы JUnit, научимся правильно подготавливать эмулятор и приложение перед стартом теста.
В конце этого урока в вашем репозитории станет существенно больше тестов, способных совершать более комплексные проверки работоспособности приложения.
В качестве домашнего задания вы напишите несколько комплексных тестов для Android-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке мы изучим самые популярные паттерны проектирования автотестов. Мы создадим PageObject классы для нашего приложения, научимся применять на практике паттерн "фабрика" и вынесем подготовку приложения и запуск эмулятора в конфиг-классы TestBase и TestCore.
В конце этого урока у вас на Github будут выложены тесты, прошедшие тщательный рефакторинг и созданные по всем правилам корпоративной разработки. Эти тесты уже можно будет приложить к резюме или показать на собеседовании. Вы будете понимать каждую строчку, написанную в вашем коде, и сможете грамотно рассказать о своем проекте работодателю.
В качестве домашнего задания вам предстоит самостоятельно отрефакторить тесты, написанные во время прохождения уроков и выполнения предыдущих домашних заданий. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке мы начнем писать тесты для iOS-приложения. Для этого мы обновим XCode до последней версии, настроим симуляторы и запустим на них тестовое приложение.
Внимание, для этого урока обязательно нужен MacBook.
В конце этого урока у нас будут базовые тесты для iOS-приложения.
В качестве домашнего задания надо будет настроить весь софт для работы с iOS и написать несколько простых тестов для iOS-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке мы "научим" тесты для Android-приложения работать также для iOS-приложения. Для этого создадим новый конфиг-класс Platform и научимся работать с переменными окружения.
Внимание, для этого урока обязательно нужен MacBook.
В конце этого урока у вас на Github уже будет фреймворк, разработанный вами, на котором можно разрабатывать тесты, одновременно покрывающие и Android, и iOS-приложение.
В качестве домашнего задания вы напишите несколько сложных тестов для iOS-приложения. Код пройдет ревью наших преподавателей, по результатам которого вы получите обратную связь.
На этом уроке мы научимся работать с версиями подключенных библиотек с помощью Maven. Затем сделаем так, чтобы Appium и эмулятор могли запускаться из консоли, и разработаем bash-скрипт для автоматического запуска всех автотестов.
После мы займемся установкой Jenkins и запуском наших тестов в нем с помощью разработанного bash-скрипта.
В конце этого занятия у вас уже будут сьюты (наборы) тестов, которые будут запускаться из CI-системы Jenkins автоматически. Вы научитесь настраивать билды и сможете применить это в работе.
В качестве домашнего задания вам предстоит настроиться Maven для вашего проекта, собрать все разработанные тесты в сьют и научиться запускать его в Jenkins. Результат работы будет проверен преподавателями курса.
На этом уроке мы поработаем с автоматизацией Web-приложений и Selenium. Мы научим наши тесты, которые мы писали для Android и iOS, запускаться еще и для мобильной веб-версии приложения.
В конце этого урока у вас будет фреймворк, на котором можно разрабатывать тесты любой сложности, работающие сразу для Web, Android и iOS-приложений.
В качестве домашнего задания вы "научите" ранее созданные тесты для Android и iOS также запускаться на web-версии тестируемого приложения.
На этом уроке мы создадим удобные и информативные отчеты для наших тестов с помощью Allure-2. Мы научимся подключать его через Maven, познакомимся с основными возможностями этого инструмента и создадим свои отчеты для тестов.
В конце этого урока тесты научатся собирать скриншоты и другие ассеты во время прохождения, автоматически генерировать описаний окружения для отчета и многое другое.
В качестве домашнего задания мы расставим все теги по всему боевому коду так, чтобы отчет был максимально полезен именно для вас.
ЧАСТЫЕ ВОПРОСЫ
1. Нужен ли MacBook для прохождения курса?
Если коротко — курс можно пройти и без MacBook. И получить сертификат. Но часть вещей выполнить не получится.
Для полного прохождения курса MacBook необходим, как и система MacOS Сatalina и выше. Симуляторы iOS не работают на других системах. MacBook можно взять на работе, попросить у друзей, арендовать или купить.
Если у вас нет MacBook, вы не сможете запустить тесты на iOS. Этому на курсе посвящено два урока из девяти. В этом случае мы заменим для Вас практические задания по этим урокам на теоретические.
Остальные уроки можно пройти на Windows.
2. Можно ли проходить курс на Python?
Если коротко — да.
Видеоуроки курса записан на Java и библиотеки JUnit. Если вы захотите писать тесты на Python, мы подскажем какие библиотеки можно использовать вместо JUnit. Также, наши преподаватели знают Python и смогут без проблем делать ревью Ваших домашний и давать обратную связь.
Само собой, если вы выбираете Python, повторять код из учебных видео "слово в слово" не получится, придется разбираться в том, как написать то же самое на Python.
Технические требование:
- Windows 10 ИЛИ Ubuntu 16.04+ (подойдет только для работы с тестами на Android)
- Mac OS Catalina или выше (подойдет и для Android, и для iOS)
- Процессор Intel i-серии (i3, i5, i7)
- Минимум 8 GB RAM
- 10 GB на жёстком диске
- Разрешение экрана минимум 1280 x 800
Внимание, только на Mac OS можно пройти задания для iOS. Если у вас нет Mac OS, мы можем заменить задания для iOS на теоретические.
Предусловия
Мы ожидаем, что вы уже обладаете базовой компьютерной грамотностью. На этом курсе мы будем работать с подключением телефонов с разными ОС к разным компьютерам, командной строкой, графическим и консольным интерфейсами, переменными окружения, различными файловыми системами, логами, IDE, клиент-серверной архитектурой, скриншотами и видео.
Если вы не уверены, что знаете все это в должной мере — пройдите простой тест: https://www.learnqa.ru/abc_test. Если по результатам теста вы получите меньше 20 баллов — мы рекомендуем пройти короткий курс “Азбука IT”. На нем вы сможете быстро получить все необходимые знания, которые совершенно точно пригодятся вам в дальнейшем.
Помимо этого, вам потребуется знание любого языка программирования на базовом уровне. Мы работаем с Java, но знания Python, Ruby или PHP тоже подойдут. Чтобы быть уверенным — пройдите этот тест: https://www.learnqa.ru/java_test
10 занятий (10 часов теории) + много практических заданий для самостоятельной работы + постоянные консультации тренера в скайп-чате.
Раз в неделю по средам до 12.00 по Московскому времени выкладываются теоретические лекции, ссылки на дополнительные материалы, домашняя работа.
Теоретическую информацию можно посмотреть в любое удобное время.
Помимо теоретической части, вас также ждут практические задания для самостоятельной работы, которые вы можете прислать тренеру на проверку. После проверки практических заданий Вы получаете подробный комментарий по своей работе и при необходимости советы по доработке. По результатам комментариев тренера Вы можете переделать работу и отправить ее тренеру еще раз.
Общение участников курса и тренера проходит и в чате группы, где можно задавать вопросы тренеру и при желании общаться с другими участниками группы. Вы можете задавать вопросы по теоретическому материалу или практическим работам, как только они у вас возникают.
Все выпускники, успешно сдавшие домашние задания, получают сертификат.
Материалы курса доступны в течение года с даты окончания.
Стоимость участия для физических лиц: 20 350 рублей за весь курс.
Стоимость участия для юридических лиц: 25 300 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.
Организатор тренинга: ИП Батыров Арсений Георгиевич, ИНН 370207708748, ОГРНИП 316370200075996
Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.
Если Вы хотите оплатить тренинг прямо сейчас, то нажмите кнопку выше (если кнопка активна, значит можно оплачивать не беспокоясь о наличии мест). После оплаты мы пришлем письмо о регистрации на курс и подтверждение оплаты. Если Вы не получили письмо в течение рабочего дня, просто отправьте сообщение на trainings@software-testing.ru
Если Вы хотите совершить оплату позже, для гарантированного участия обязательно забронируйте место на тренинге, для этого необходимо нажать на кнопку ЗАПИСАТЬСЯ справа от тренинга и заполнить все необходимые поля
Если у Вас есть какие-то вопросы, их можно задать по указанному выше адресу.
Для регистрации на тренинг и оформления договора и выставления счета на оплату нажмите кнопку Записаться, выберите пункт Организация и заполните все поля.
Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.
В случае возникновения вопросов обращайтесь по адресу trainings@software-testing.ru.
Rodion, тестировщик
Что хорошего было на курсе? Что понравилось?
Структурировано собранные в одном месте материалы по автоматизации тестирования мобилок - то что нужно!
Юлия Куцабова, тестировщик в компании по доставке еды
Что плохого было в курсе? С какими проблемами вы столкнулись? Чего не хватает? Что лучше убрать?
Меня все устраивало, проблем с курсом не возникало.
Что хорошего было на курсе? Что понравилось?
Я переделала текущий проект на работе, основываясь на ваших уроках. И теперь не боюсь ООП)) Так как пришлось многое узнать и со многим разобраться в процессе рефакторинга.
Я сделала структуру тестов и код более удобочитаемым по примерам из уроков.
Я никогда раньше не писала на Java, но все получилось. Спасибо большое, было очень приятно проходить курс!
Хочу отметить, что у Арсения очень спокойный и приятный голос, внушающий уверенность. А еще было очень приятно, когда он хвалил в конце каждого занятия))
Комментарий тренера:
Мы очень рады таким отзывам! Если навыки получается сразу применять в работе — значит курс максимально эффективен.