ОПИСАНИЕ
Тренер: Елена Пьянкова
Project coordinator,
Space Research Institute
http://univer-pulse.com.ua/index.php/specialty/auto-testirovanie
Длительность курса: 2 месяца, 18 занятий по 2,5 часа
Программа курса:
• Введение в автоматизированное тестирование. Цели, задачи, преимущества и недостатки. Что можно и нужно автоматизировать в IT-проектах. Обзор инструментов и фреймворков для автоматизации тестирования.
• Распределенная разработка IT-проектов. Организация непрерывной интеграции IT-продуктов (Continuous integration). Распределённая система контроля версий Git. Общественные репозитории Github, Bitbucket.
• Основы программирования Python. Типы данных, структура кода. Циклы, ветвления, исключения. Функции и модули. Работа с файлами. Основы ООП в Python. Инструментарии разработки (PyCharm, ipython/bpython и др.)
• Практическое использование модулей Python. Работа с различными протоколами (email, ftp, http) в Python. Работа с RESTfull API web-приложений. Работа с базами данных.
• Инфраструктура запуска тестов. Изучение основных структур тестов. Unit тесты и xUnit фреймворки - unittеst, py.test, nose. Обзор других Python тестовых фреймворков (doctest, Behave (BDD), Robot Framework). Непрерывный запуск тестов. Генерация отчетов.
Практика: Разработка автотестов для REST API Web-приложения.
• Работа с Web-приложениями. Архитектура client-server. Основы HTML, CSS. CSS селекторы. Анализ web-страниц с помощью Firebug, Browser inspector. Продвинутая навигация с помощью XPATH.
• Selenium. Что такое Selenium (WebDriver, Selenium Server, Selenium Grid, поддерживаемые языки). Первые тесты с использованием Selenium, записанные рекордерами (Selenium IDE, Selenium Builder). Экспорт тестов в код. Запуск автотестов на различных браузерах. Запуск автотестов через Selenium Server.
• Selenium WebDriver API + Python. Поиск элементов web-приложения - локаторы. Локаторы по CSS селекторы. Эмуляция всех базовых действий, которые пользователь может делать со страницей. Универсальный способ нахождения элементов по XPATH.
• Направления развития. Паттерны и шаблоны проектирования (PageObjects и др.). Протоколирование. Популярные расширения и обёртки. Другие инструменты автоматизации.
Практика: Тестирование интерфейса с помощью Selenium + Python реальных Web-приложений.