Модуль 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. Автоматизация процессов тестирования.
- Введение в автоматизацию процессов тестирования
- Автоматизация тестов: технологии, методы, средства
- Хорошая архитектура тестового набора: почему это ТАК важно
- Проектирование автотестов: чем оно отличается от проектирования ручных тестов
- Практическое задание
Модуль 6. Введение в Selenium 2.0.
- Что такое Selenium, для чего он предназначен
- Основные элементы Selenium 2.0: Selenium IDE, Selenium RC, Selenium Webdriver, Selenium Server, Selenium Grid
- Установка Selenium IDE, запуск «табличных» тестов в браузере
- Запуск разных браузеров из Selenium. DesiredCapabilities
- Управление браузером. Получение информации о текущем окне (url, title, html source)
- Управление бразуером. Переход по URL
- Настройка браузера. Профили
- Получение cookies. Добавление cookies
- Практическое задание
Модуль 7. Перевод тестов на язык программирования (JUnit).
- Основные понятия. Виды и типы тестовых фреймворков
- Введение в jUnit/TestNG
- Тестовые методы. Исключения тестов из набора. Проверки в тестах
- Предварительная подготовка перед тестами. Before. BeforeClass
- Выполнение действий после тестов. After. AfterClass
- Создание конфигурационного файла TestNG, запуск тестов из командной строки
- Параметризация запуска тестов через конфигурационный файл TestNG
- Параметризация запуска тестов через отдельный конфигурационный файл
- Передача параметров через командную строку при запуске тестов
- Динамическая генерация тестовых данных
- Подгрузка тестовых данных из внешних источников – текстовый файл, Excel
- Практическое задание
Модуль 8. Параллельный запуск тестов.
- Возможности фреймворка для запуска тестов TestNG
- Выполнение тестов параллельно на нескольких машинах с использованием Selenium Grid0
- Выполнение тестов параллельно с использованием HtmlUnitDriver
- Встраивание тестов в системы непрерывной интеграции: Cruise Control, Jenkins (Hudson)
- Выполнение тестов «в облаках»: CloudTesting, Sauce OnDemand
- Нагрузочное тестирование с использованием Selenium: BrowserMob
- Практическое задание
Модуль 9. Журналирование выполнения тестов.
- Снятие скриншотов
- Журналирование средствами фреймворка TestNG
- Журналирование с использованием EventFiringWebDriver
- Практическое задание
Модуль 10. Расширения для разработки тестов.
- Selenium IDE, Sauce IDE
- Fluent Selenium
- Тестирование веб-приложений под Android
- Работа с почтой (JavaMail)
- Работа с базой данных (Hibernate)
- Удалённый доступ по протоколам Telnet и FTP (Jakarta Commons Net)
- Проверка знаний, итоговый тест