2 месяца
32 ауд. часов
60 общих часов
Сложность:  
Очное обучение в группе: 9000 руб.
Очное обучение индивидуально: 28000 руб.

Программа курса

Тема 1. Введение в Java-программирование. Основы языка — переменные

  • Язык программирования Java. Технологии Java: SE, EE, ME, Java FX. SE JDK и JRE — назначение и состав.
  • Установка и настройка SE JDK.
  • Технологии и инструменты для программирования на Java.
  • Установка и настройки IDE.
  • Структура проекта (с учётом выбранной IDE). Размещение файлов с исходными текстами и файлов классов.
  • Понятие пакета. Соотношение пакета и каталога файловой системы. Правила именования пакетов.
  • Создание проекта, пакета и класса в IDE.
  • Структура приложения. Основные правила написания Java-приложения.
  • Синтаксис языка.
  • Ключевые слова. Идентификаторы. Правила именования в Java. Литералы (константы).
  • Комментарии. Комментарии документации (javadoc).
  • Понятие ТИП. Примитивные типы данных. Ссылочные типы данных. Классы-обертки.
  • Операторы присваивания, арифметические (унарные и бинарные).
  • Операторы сравнения и логические операции.
  • Побитовые операции и сдвига.

Тема 2. Класс Scanner. Операторы управления. Циклы

  • Класс Scanner.
  • Условные операторы if-then / if-then-else, switch.
  • Циклы while и do-while.
  • Операторы break и continue.
  • Цикл for.

Тема 3. Массивы. Работа с библиотечными классами

  • Массивы.
  • Одномерные, двумерные, многомерные, нерегулярные массивы.
  • Различные сортировки массивов.
  • Классы оболочки примитивных типов.
  • Автоупаковка и автораспаковка.
  • Статический импорт.
  • Класс Math, Random.
  • Класс Date, DateFormat, Calendar, GregorianCalendar.

Тема 4. Принципы ООП

  • Основные понятия ООП.
  • Структура построения класса (поля, методы, логические блоки).
  • Спецификаторы доступа.
  • Объявление класса.
  • Методы и конструкторы.
  • Ключевое слово this.

Тема 5. Классы и объекты. Enum. String

  • Передача информации в методы и конструкторы.
  • Методы с переменным числом параметров.
  • Возврат значения из метода.
  • Перегрузка методов.
  • Логические блоки (статические и нестатические).
  • Ключевые слова static и final.
  • Тип Перечисление (Enum).
  • Класс String.
  • Использование классов StringBuilder/StringBuffer.

Тема 6. Автоматизация процессов тестирования

  • Введение в автоматизацию процессов тестирования.
  • Автоматизация тестов: технологии, методы, средства.
  • Хорошая архитектура тестового набора: почему это ТАК важно.
  • Проектирование автотестов: чем оно отличается от проектирования ручных тестов.

Тема 7. Введение в Selenium 2.0

  • Что такое Selenium, для чего он предназначен.
  • Основные элементы Selenium 2.0: Selenium IDE, Selenium RC, Selenium Webdriver, Selenium Server, Selenium Grid.
  • Установка Selenium IDE, запуск «табличных» тестов в браузере.

Тема 8. Рекордер Selenium IDE

  • Запись, воспроизведение, отладка теста в рекордере Selenium IDE.
  • Обзор набора команд, которые можно использовать в Selenium IDE.
  • Установка Selenium Server, запуск «табличных» тестов из командной строки.

Тема 9. Перевод тестов на язык программирования (JUnit)

  • Установка среды разработки Eclipse.
  • Cоздание и настройка проекта в среде разработки.
  • Перенос тестов из Selenium IDE в среду разработки.
  • Запуск тестов из среды разработки.

Тема 10. Доработка тестов

  • Отладка тестов — пошаговое прохождение и просмотр значений переменных.
  • Добавление простых проверок при помощи Selenium IDE.
  • Собственные методы инициализации и завершения.

Тема 11. Перевод тестов на язык программирования (TestNG)

  • Создание конфигурационного файла TestNG, запуск тестов из командной строки.
  • Параметризация запуска тестов через конфигурационный файл TestNG.
  • Параметризация запуска тестов через отдельный конфигурационный файл.
  • Передача параметров через командную строку при запуске тестов.
  • Динамическая генерация тестовых данных.
  • Подгрузка тестовых данных из внешних источников – текстовый файл, Excel.

Тема 12-13. Параллельный запуск тестов

  • Возможности фреймворка для запуска тестов TestNG.
  • Выполнение тестов параллельно на нескольких машинах с использованием Selenium Grid 2.0.
  • Выполнение тестов параллельно с использованием HtmlUnitDriver.
  • Встраивание тестов в системы непрерывной интеграции: Cruise Control, Jenkins (Hudson).
  • Выполнение тестов «в облаках»: CloudTesting, Sauce OnDemand.
  • Нагрузочное тестирование с использованием Selenium: BrowserMob.

Тема 14. Журналирование выполнения тестов

  • Снятие скриншотов.
  • Журналирование средствами фреймворка TestNG.
  • Журналирование с использованием EventFiringWebDriver.

Тема 15. Расширения для разработки тестов

  • Selenium IDE, Sauce IDE.
  • Fluent Selenium.
  • Тестирование веб-приложений под Android.
  • Работа с почтой (JavaMail).
  • Работа с базой данных (Hibernate).
  • Удалённый доступ по протоколам Telnet и FTP (Jakarta Commons Net).
  • Проверка знаний, итоговый тест.