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

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
       

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

    Программирование на Java для тестировщиков
    Описание
    Двухмесячный онлайн-тренинг с домашними заданиями + постоянные консультации тренера в скайп-чате
    Название: Программирование на Java для тестировщиков
    Начало: 15 Июля 2016, в 00:00
    Окончание: 23 Сентября 2016, в 00:00
    Тренер: Алексей Баранцев
    Место проведения: онлайн
    Стоимость для физлиц: руб. 15 000

    Это новый актуальный курс (последние лекции будут записаны в конце апреля - начале мая). По сравнению со старым он полностью переписан и сильно расширен.

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

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

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

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

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

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

    1. Основы программирования

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

    В первом занятии будут рассмотрены базовые конструкции языка программирования Java -- классы и объекты, переменные и функции. Заодно научимся пользоваться отладчиком. Но до создания тестов так и не доберёмся.

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

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

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

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

    На этом же этапе мы познакомимся с базовыми возможностями тестового фреймворка TestNG.

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

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

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

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

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

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

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

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

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

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

    А затем доработаем тесты -- сделаем их параметризованными и свяжем их с генераторами тестовых данных. Такой подход называется Data Driven Testing (DDT).

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

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

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

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

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

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

    8. Сетевое программирование: протоколы прикладного уровня

    С одной стороны, это занятие будет повторением пройденного материала. Мы построим новый тестовый набор с двухуровневой архитектурой для нового тестируемого приложения. Однако всё взаимодействие с тестируемым приложением будет происходить в обход пользовательского интерфейса.

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

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

    9. Сетевое программирование: удалённые программные интерфейсы

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

    А затем научимся работать с удалёнными программными интерфейсами SOAP и REST. Технология SOAP чаще используется в крупных “промышленных” приложениях, а технология REST более характерна для современных веб-сервисов.

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

    Последнее занятие будет посвящено рассмотрению альтернативных тестовых фреймворков, в том числе инструмента Cucumber для разработки тестов на "естественном" языке Gherkin и инструмента Robot Framework для разработки тестов в стиле Keyword Driven Testing.

    Кроме того, мы научимся запускать тесты на сервере непрерывной интеграции Jenkins и генерировать красивые отчёты при помощи инструмента Allure.

    Формат курса

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

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

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

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

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

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

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

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

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

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

    Стоимость участия для юридических лиц: 17 000 рублей за весь курс за одного участника. При регистрации от 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