Разработка автоматизированных тестов на PHP с использованием Selenium

confguru

ExAdmin
Команда форума
Онлайн-тренинг Алексея Баранцева (6 занятий)
Название: Разработка автоматизированных тестов на PHP с использованием Selenium
Начало: 31 Марта 2011, в 14:30
Окончание: 12 Мая 2011, в 16:00
Тренер: Баранцев Алексей
Место проведения: онлайн
Стоимость: руб. 2,000 - скидки указавшим профиль на PHPClub и кодовое слово: phpclub - 10%
http://software-testing.ru/trainings/schedule?&task=3&cid=72

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

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

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

* как с нуля развернуть всё необходимое для разработки и выполнения тестов,
* как отлаживать тесты, проходя их в пошаговом режиме,
* как сделать гибкий механизм настройки на тестовый стенд при помощи конфигурационных файлов,
* как подгружать тестовые данные из внешнего файла,
* как запускать тесты в разных браузерах и на удалённой машине.

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

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

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

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

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

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


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

Третий модуль ориентирован на наиболее взыскательную аудиторию -- профессионалов-автоматизаторов.

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

* способы оптимизации скорости выполнения тестов,
* различные стили написания тестов, в частности использование Hamcrest, BDD, dependency injection,
* различные стили проверок -- проверка результата и проверка состояния, отложенные проверки,
* способы журналирования действий,
* организацию обработки нештатных ситуаций и восстановление работоспособности тестов после сбоев,
* способы работы с "нативными" диалоговыми окнами,
* и другие технические хитрости.

И напоследок пара слов о том, о чём я НЕ буду рассказывать на этих тренингах. Я не буду рассказывать о том, как придумывать тесты, для этого есть "Практикум по тест-дизайну", я не буду учить тому, как запрограммировать автотесты и сделать так, чтобы их было просто поддерживать и дорабатывать, этому можно научиться на тренинге "Программирование для тестировщиков".

Подробная программа курса в процессе подготовки
Формат курса

Онлайн-тренинг продолжительностью 6 занятий, с еженедельными онлайн-занятиями.
Онлайн-занятия состоятся каждый четверг с 17-00 до 18-30. После каждого занятия у участников будет ровно неделя, чтобы попробовать применить полученные знания на практике и в случае затруднений, задать вопрос тренеру в специальном закрытом форуме.

В случае, если Вы пропустите какое-либо занятие, Вы получите его запись.
Технические требования

Онлайн-семинары организуются с использованием системы DimDim.

Для участия требуется браузер c установленным плагином Adobe Flash и достаточно быстрое Интернет-соединение.

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

В случае возможных технических сбоев с ведущим можно будет связаться через систему Skype.
Условия участия

Дата начала: курс начнется 31 марта и будет проходить по четвергам в 17-00 (точные даты курса 31 марта, 7, 14, 28 апреля, 5, 12 мая).

Даты могут меняться в сторону переноса занятия на неделю (мы гарантируем не более одного переноса).

Стоимость участия: 2000 рублей за одну ступень.

При одновременной оплате двух ступеней стоимость -- 3000 рублей. При одновременной оплате трех ступеней -- 4000 рублей

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

О

Для того, чтобы зарегистрироваться необходимо отправить письмо с указанием названия тренинга и ФИО на адрес [email protected]

Информация для физических лиц:

Услуги оказываются на основании публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ.

Оплата через банк. Скачать квитанцию для оплаты можно ЗДЕСЬ (квитанция универсальная на все наши семинары и тренинги, в неё необходимо вписать нужную сумму и в графе наименование платежа указать дату и название тренинга).

Информация для юридических лиц:

По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу [email protected]

Возможна оплата участия на условиях публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ. По вопросам выставления счета на оплату обращайтесь по адресу [email protected]
 
Сверху