Наши контакты

trainings@software-testing.ru
+7 (916) 025-48-95

Ближайшие онлайн

Ближайшие очные

Конференции

    Меню сайта

    Календарь событий

    «   Июнь 2016   »
    ПВСЧПСВ
      1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
       

    полное расписание ...

    Программирование на Python для тестировщиков
    Описание
    Двухмесячный онлайн-тренинг с домашними заданиями + постоянные консультации тренера в скайп-чате
    Название: Программирование на Python для тестировщиков
    Начало: 11 Июля 2016, в 00:00
    Окончание: 19 Сентября 2016, в 00:30
    Тренер: Алексей Баранцев
    Место проведения: Двухмесячный онлайн-тренинг с домашними заданиями (10 занятий по 1,5 часа) + постоянные консультации тренера в скайп-чате
    Стоимость для физлиц: руб. 12 300

    Тренер: Баранцев Алексей

    Этот курс предназначен для обучения тестировщиков программированию на языке Python (для тех, кого интересуют другие языки, у нас есть аналогичные курсы для Java и C#).

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

    Изучаемый материал будет демонстрироваться на едином сквозном примере -- мы будем разрабатывать на языке Python автоматизированные тесты для веб-приложения, используя Selenium WebDriver. Начав с простого теста, записанного “рекордером”, мы будем постепенно усложнять архитектуру тестового набора, добавлять и усиливать проверки в тестах, дополнять тесты генераторами тестовых данных. Основной акцент будет сделан не на алгоритмы, а на изучение различных полезных библиотек и фреймворков, а также шаблонов проектирования, позволяющих организовать код автоматизированных тестов таким образом, чтобы его было легко модифицировать и расширять.

    Но одним примером мы не ограничимся, для закрепления материала мы в течение курса построим "в едином стиле" несколько проектов с тестами для приложений разного типа, научимся тестировать приложения через веб-интерфейс, пользовательский интерфейс Windows, интерфейс доступа к базам данных, сетевые интерфейсы (почта, HTTP, веб-сервисы).

    И напоследок научимся делать тесты на "естественном" языке Gherkin. Да, не удивляйтесь, чтобы делать тесты на "естественном" языке -- нужно уметь программировать :)

    В курсе используется Python версии 3.

    1. Основы программирования, типы данных, структура кода

    Большинство учебников и курсов по программированию начинаются с написания простейшей программы, которая выводит на консоль слова “Hello, world!”. Мы не станем нарушать эту традицию, потому что первым делом нужно подготовить среду разработки и убедиться, что всё установлено и настроено правильно. Попутно мы научимся использовать сервис GitHub для хранения исходного кода проекта.

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

    И вот на этом этапе мы как раз обсудим базовые конструкции языка программирования Python -- классы и объекты, переменные и функции. А заодно научимся пользоваться отладчиком.

    2. Двухуровневая архитектура тестового набора

    Автотесты “системного” уровня (в отличие от “unit-тестов”) удобно разделить на два слоя -- 1) собственно тесты, 2) код, ответственный за взамодействие с тестируемой системой, причём вторая часть, как правило, является более сложной технически.

    Мы научимся создавать такую двухуровневую архитектуру путём плавной трансформации ранее созданных при помощи “рекордера” простых одноуровневых тестов, и познакомимся с понятием “рефакторинга” кода.

    И на этом же этапе мы познакомимся с возможностями тестового фреймворка py.test.

    3. Управление потоком выполнения кода: условный переход

    Условный переход (if-then) -- это одна из основных конструкций языка программирования, позволяющая программе вести себя по разному в разных условиях.

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

    4. Коллекции и циклы

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

    Однако чаще циклы используются при работе с “коллекциями” -- списками и множествами объектов какого-то типа. Мы научимся строить и модифицировать коллекции, сравнивать и сортировать их, а также реализовывать в тестах сложные проверки, в которых участвуют коллекции объектов.

    5. Работа со строками

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

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

    6. Работа с файлами

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

    Мы научимся читать данные из файлов в формате CSV, XML, JSON, а также писать данные в файл в этих форматах.

    7. Автоматизация Windows UI

    С одной стороны, это занятие-повторение. Мы заново построим новый тестовый набор с двухуровневой архитектурой для нового тестируемого приложения, для закрепления материала. С другой стороны, мы выберем приложение другого типа -- не веб-, а десктопное windows-приложение. Поэтому для работы с ним потребуется другой инструментарий. Но при этом мы увидим, что принципы построения тестового набора остаются теми же самыми.

    8. Работа с базами данных

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

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

    9. Сетевое программирование (протоколы прикладного уровня)

    Последние два занятия будут посвящены рассмотрению особенностей тестирования распределённых приложений и вопросам автоматизации интеграционного тестирования.

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

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

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

    10. Тестовые фреймворки

    И последнее занятие будет посвящено рассмотрению альтернативных тестовых фреймворков, в том числе инструмента для разработки тестов на "естественном" языке Gherkin.

    Формат курса

    Онлайн-тренинг продолжительностью примерно два с половиной месяца (10 занятий по 1,5 часа) с практическими домашними заданиями.

    Обучение происходит следующим образом:

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

    Теоретическую информацию можно посмотреть в любое удобное время.

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

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

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

    Условия участия

    Дата начала: курс начнется 11 июля (не позже этой даты будет выложена первая запись) и будет проходить до 19 сентября.

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

    Стоимость участия для физических лиц: 12 300 рублей за весь курс.

    Стоимость участия для юридических лиц: 14 500 рублей за весь курс за одного участника. При регистрации от 3-х участников на один курс действует 15% скидка.

    Оплатить прямо сейчас

    Отзывы пользователей показывают, что курс эффективен только для тех, кто выполняет домашнее задание. В неделю на выполнение домашнего задания тратится от 2-х до 6-ти часов в зависимости от уровня начальной подготовки.

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

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

    Для того, чтобы зарегистрироваться необходимо отправить письмо с указанием названия тренинга и ФИО на адрес trainings@software-testing.ru

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

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

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

    Оплата через банк

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

    Оплата через интернет банкинг

    рекомендуем: самый простой способ оплаты с минимальной комиссией для тех, кто имеет интернет-банк любого банка и находится на территории России

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

    ИП Баранцев Алексей Владимирович

    ИНН 501208546235

    Банковские реквизиты:

    Р/с 40802810810120359601
    в ПАО «Промсвязьбанк», г.Москва
    К/с 30101810400000000555
    БИК 044525555

    Назначение платежа: Предоплата за участие в тренинге "Впишите название тренинга", без НДС согласно ст. 346.11, п.3, части II Налогового Кодекса РФ

    Обратите внимание, что "ИП Баранцев Алексей Владимирович" -- это название организации, а не физическое лицо.

    Оплата картой (российской или зарубежной)

    Оплатить картой можно через PayPal (при оформлении заказа берется дополнительная комиссия 3,2%). Cистема работает с картами любых стран - Visa, MasterCard и American Express и Maestro.

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

    Если у вас есть счет PayPal, войдите в систему, используя ваш адрес электронной почты и пароль в PayPal.

    Иначе вам нужно будет ввести данные вашей банковской карты, адрес, телефон и адрес электронной почты.

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

    По вопросам оформления договора и выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru. Обратите внимание, что при постоплате стоимость тренинга увеличивается на 25%.

    Возможна оплата участия на условиях публичного договора оферты. Ознакомиться с договором можно ЗДЕСЬ. По вопросам выставления счета на оплату обращайтесь по адресу trainings@software-testing.ru