Программа курса
Тема 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).
- Проверка знаний, итоговый тест.