Основи автоматизованого тестування (QA Automation: Python, Selenium)

Інформація про курс:


Вартість: 5 000 грн / міс 

Тривалість курсу: 3 міс (67,5 годин)
Суботні групи: 15 зан х 4,5 годин

Формат навчання: Онлайн / Online  

Дата початку курсу:



15 травня 2021 року 10:00-14:30 
(заняття проходять по суботах)

 

Ви ледачий тестувальник? Вам набридло виконувати одні і ті ж дії? Тоді Вам до нас: ми навчимо вас перекладати рутину на "неледачого друга" за допомогою Python - мови програмування з низьким порогом входження. Лінь - двигун прогресу!

Мета даного професійного курсу - навчитися не бояться програмувати на мові Python з використанням існуючих бібліотек і фреймворків, працювати в середовищі сучасних технологій розробки програмного забезпечення, надати базові навички впровадження автотестування в Continues Integration, продемонструвати основні патерни розробки Selenium-тестів і навчити писати тести з використанням мови Python і фреймворка Selenium.

Вимоги до учасників: знання теорії тестування ПЗ, розуміння як пишуться тести і вміти описати виявлену проблему. Бажаний практичний досвід в manual тестуванні більше 3 місяців (зі складанням наборів тест кейсів для функціонального тестування).

 

Введення в автоматизоване тестування. Цілі, завдання, переваги та недоліки. Що автоматизується в IT-проектах. Місце автоматизації тестування в сучасних підходах розробки ПЗ.

Розподілена розробка IT-проектів. Організація безперервної інтеграції IT-продуктів, Continuous integration. Громадські репозиторії Github, Bitbucket. Основи роботи з системою контролю версій Git. (Практика)

Основи програмування на Python. Інструментарії розробки (PyCharm, ipython / bpython, pip, virtualenv і ін.). Основні типи даних, структура коду. Цикли, розгалуження, виключення. Функції, модулі та пакети. Основи ООП в Python.

Практичне використання модулів Python. Робота з різними протоколами (email, ftp, http) в Python. Робота з файлами. Робота з json форматом. Робота з RESTfull API web-додатків

Unit-тест фреймворки на Python. Структура і проектування тестів. Тестові Unit фреймворки - unittеst (xUnit фреймворк), py.test. Огляд інших Python тестових фреймворків (nose, doctest). Запуск тестів і генерація звітів. Вивчення основних структур тестів. Стек автотестування. Дворівнева архітектура проектування тестів.

Практика: Розробка Автотест для REST API Web-додатки.

Робота з Web-додатками. Сучасна архітектура Web-проектів. Поняття front-end і back-end. Протоколи HTTP, HTTP (s). Основи HTML, CSS. Вивчення побудови CSS селектора. Аналіз web-сторінок за допомогою Browser inspector, Firebug.

Організація автоматизації роботи з браузерами, проект Selenium. Проект Selenium і його складові (WebDriver, Selenium Server, Selenium Grid, драйвера браузерів, яку версію). Перші тести з використанням Selenium, записані рекордерами (Selenium IDE, Selenium Builder). Експорт тестів в код. Запуск Автотест на різних браузерах. Віддалений запуск Автотест через Selenium Server.

Selenium WebDriver API + Python. Пошук елементів web-додатки - локатори. Різні типи локаторів. Універсальний спосіб знаходження елементів за допомогою XPATH. Неявні і явні очікування. Емуляція дій користувача: прості і складні. Отримання властивостей елементів.

Параметризація тестів і Data-driven testing (DDT). Параметризація тестів при запуску. Робота з тестовими даними. Генератори тестових даних. Фіксовані дані vs випадкові.

Робота з базами даних. Взаємодія з базою даних в програмах на Python. Робота з БД в тестах.

Сучасні тенденції. Behavior Driven Testing або автоматизація Acceptance testing. BDD тестові фреймворки на Python: pytest-bdd, Behave Генерація зрозумілих звітів: Allure звіти "Безхмарне" майбутнє: Selene - аналог Selenide для Python PageObjects і інші шаблони проектування. Інші інструменти автоматизації. Запуск тестів на сервері безперервної інтеграції (Jenkins, як приклад).

Практика: Розробка Автотест Web-інтерфейсу тестового додатка.