Главная » Каталог компьютерных курсов » Автоматизированное тестирование программного обеспечения

Автоматизированное тестирование ПО (с использованием Selenium)

Автоматизированное тестирование программного обеспечения

Курс “Автоматизированное тестирование программного обеспечения” предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений с использованием языка программирования Java

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

Для успешного обучения на данном курсе Вам необходимы знания основ Тестирования ПО и языка С (или другого алгоритмического языка программирования), желательно знание основ ООП

Программа курса “Автоматизированное тестирование программного обеспечения”

Занятие 1. Введение в Java-программирование. Основы языка — переменные
Занятие 2. Класс Scanner. Операторы управления. Циклы
Занятие 3. Массивы. Работа с библиотечными классами
Занятие 4. Принципы ООП
Занятие 5. Классы и объекты. Enum. String
Занятие 6. Наследование. Класс "Object
Занятие 7. Абстрактные классы. Интерфейсы
Занятие 8. Исключения
Занятие 9. Автоматизация процессов тестирования
Занятие 10. Введение в Selenium 2.0. Рекордер SeleniumIDE
Занятие 11. Локаторы
Занятие 12-13. WebDriver и JUnit
Занятие 14-15. WebDriver и TestNG
Занятие 16. Параллельный запуск тестов

По окончании обучения тестировщиков Вы будете:

  • yметь создавать автоматизированные тесты с применением технологии Record & Playback;
  • владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью);
  • владеть техниками поиска (идентификации) элементов в окне браузера;
  • уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий;
  • владеть основными шаблонами проектирования тестов;
  • уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов);
  • уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.

Полная программа курса “Автоматизированное тестирование программного обеспечения”

Занятие 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. Наследование. Класс Object

  • Наследование
  • Переопределение методов
  • Скрытие полей
  • Ключевое слово super
  • Final классы и методы
  • Класс Object
  • Методы класса Object и правила их переопределения

Занятие 7. Абстрактные классы. Интерфейсы

  • Абстрактные методы и классы
  • Интерфейсы
  • Реализация и наследование интерфейсов
  • Клонирование объектов
  • Вложенные, внутренние и анонимные (неименованные) классы

Занятие 8. Исключения

  • Исключения. Перехват исключений. Обработка исключений
  • Блоки try, catch, finally
  • Определение исключений в методах
  • Генерация исключений в блоках
  • Цепочки исключений
  • Сообщения об исключительных ситуациях
  • Создание классов исключений

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

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

Занятие 10. Введение в Selenium 2.0. Рекордер SeleniumIDE

  • Что такое Selenium, для чего он предназначен
  • Основныеэлементы Selenium 2.0: Selenium IDE, Selenium RC, Selenium Webdriver, Selenium Server, Selenium Grid
  • Установка SeleniumIDE, запуск "табличных" тестов в браузере
  • Запись, воспроизведение, отладка теста в рекордере SeleniumIDE
  • Обзор набора команд, которые можно использовать в SeleniumIDE
  • Установка SeleniumServer, запуск "табличных" тестов из командной строки

Занятие 11. Локаторы

  • Что такое локатор?
  • Виды локаторов
  • Сss и Хpath локаторы
  • Подбор локатора

Занятие 12-13. WebDriver и JUnit

  • Установка среды разработки Eclipse
  • Cоздание и настройка проекта в среде разработки
  • Подключение библиотек Selenium 2.0
  • Перенос тестов из SeleniumIDE в среду разработки
  • Перевод тестов на JUnit
  • Запуск тестов из среды разработки
  • Отладка тестов - пошаговое прохождение и просмотр значений переменных
  • Добавление простых проверок при помощи SeleniumIDE
  • Собственные методы инициализации и завершения
  • Запуск тестов в различных браузерах
  • Ведение лога приложения с использованием log4j

Занятие 14-15. WebDriver и TestNG

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

Занятие 16. Параллельный запуск тестов

  • Возможности фреймворка для запуска тестов TestNG
  • Выполнение тестов параллельно на нескольких машинах с использованием SeleniumGrid 2.0
  • Выполнение тестов параллельно с использованием HtmlUnitDriver
  • Встраивание тестов в системы непрерывной интеграции: CruiseControl, Jenkins (Hudson)
  • Расширения для разработки тестов (SeleniumIDE, SauceIDE)
  • Тестирование веб-приложений под Android
  • Проверка знаний, итоговый тест