Focus IT College

QA Automation

У курсі QA Automation студенти вивчать стратегії автоматизації тестування, мови сценаріїв, такі як Python або Java, і популярні фреймворки автоматизації, такі як Selenium або Appium. Вони отримають практичний досвід створення та виконання автоматизованих тестів, аналізу результатів та інтеграції автоматизації в процес розробки. До кінця курсу студенти отримають навички створення надійних автоматизованих наборів тестів, покращуючи якість програмного забезпечення у своїх організаціях.

Технології та програмне забезпечення, які ви додасте до свого інструментарію
Postman
git
Git
Docker Compose
Jenkins
Rest
Jmeter
file_type_graphql
graphQL
JavaScript
selenium
Selenium

Модулі

Загальні поняття та визначення. Основи теорії тестування.
  1. Вступ до тестування.
    • Цілі та завдання тестування.
    • Історія тестування.
    • Основні поняття та визначення.
    • Фази тестування (STLC).
    • Профіль тестувальника, шляхи кар’єри.
    • Методології розробки програмного забезпечення.
    • SDLC.
    • Що таке проект і трикутник проекту.
    • Життєвий цикл розробки програмного забезпечення (SDLC).
    • Класичні методики.
    • Плюси і мінуси.
    • Водоспад.
    • Гнучкі методології.
    • Agile Маніфест.
    • SCRUM і Канбан.
    • Види тестування.
    • Основні види тестування.
    • Рівні тестування.
    • Тестові артефакти.
    • План тестування: стандарти, види, структура.
    • Контрольний лист: правила форматування.
    • Тестовий приклад (Test-case & Test-suite): типи, атрибути.
  2. Практика.
    • Робота з тестовим планом.
  3. Випробування артефактів (частина 2)
    • Звіт про помилку або дефект: основні принципи, атрибути.
    • Звіти про випробування.
    • Тестовий аналіз.
  4. Практика.
    • Створення тестової документації.
    • Ознайомлення та тестування програмних вимог.
    • Створення тестових артефактів для програмного забезпечення
    • Тестування.
    • Заповнення тестових випадків.
Розділ практики

1. Практика:

  • Робота з ментальними картами:
    • Що таке ментальні карти та навіщо їх використовувати
    • Огляд Xmind
    • Створення ментальної карти для структури веб-сайту
  • Тестування вимог
  • Складання контрольних списків

2. Проектування тестів:

  • Рівні тестування
  • Поширені помилки програмного забезпечення
  • Методи проектування тестів:
    • Основні методи проектування тестів
      • Boundary Value Analysis
      • Pairwise Testing
      • тощо
    • Застосування методів проектування тестів на практиці

3. Принципи тестування:

  • 7 фундаментальних принципів тестування

4. Тестування вимог:

  • Верифікація та валідація
    • Типи вимог
    • Форма варіантів використання
    • Ключові критерії для гарних вимог
    • Джерела вимог
    • Методи збору вимог
Характеристики веб-мобільного тестування.

Тестування веб-застосунків:

  • Особливості тестування веб-застосунків
  • Функції інструментів розробника (Dev Tools)
  • Тестування API
  • Функціональне тестування веб-застосунків
  • Тестування зручності користування
  • Практичні поради щодо тестування веб-застосунків

Практика:

  • Тестування вимог
  • Випадкові дослідження з практики тестувальника
  • Створення звітів про помилки
  • Випадкові дослідження з практики тестувальника

Оцінка та планування завдань:

  • Метрики забезпечення якості (QA)
  • Визначення цілей SMART
  • Принципи та особливості оцінювання в Agile
  • Методи оцінювання
  • Метрики тестування програмного забезпечення
  • Чому ІТ-компанії використовують сервіси управління проєктами?
  • Огляд Jira, Trello, Asana

Тестування мобільних додатків:

  • Характеристики тестування мобільних додатків
  • Типи мобільних додатків
  • Інструменти для тестування мобільних додатків
  • Перелік аспектів, що підлягають тестуванню
  • Поширені дефекти під час тестування мобільних додатків

Мережі. HTTP/HTTPS. Клієнт-серверна архітектура:

  • Що таке HTTP/HTTPS, кінцева точка, URI, URL, веб-служба?
  • Різниця між сервісом та веб-сайтом
  • Що таке REST, SOAP? Які їхні відмінності?
  • Що таке JSON?
  • Різниця між статичними та динамічними веб-сайтами
  • Різниця між методами GET та POST? Клієнт-серверна архітектура

Практика:

  • Використання інструментів для тестування програмного забезпечення: TESTRAIL, Jira, Zephyr, Charles Proxy, Postman

Управління проєктами в ІТ:

  • Основні методи та принципи управління проєктами
  • Як працює HTML: структура, переваги та недоліки
  • Що таке CSS?
  • XML: структура, цілі, переваги та недоліки
  • Основні відмінності між мобільною версією та адаптивним веб-сайтом. Адаптивний та чутливий дизайн

Тестування адаптивного/чутливого дизайну. Основи HTML/CSS. XML.

  • Загальні принципи управління проєктами
  • Типи управління проєктами
  • Методи взаємодії з командою залежно від методологій
  • Як розробники можуть співпрацювати з усіма членами команди проєкту та керівниками проєктів для досягнення цілей
  • Де шукати підтримку та хто роз’яснює неточності

Тестування автоматизації:

  • Основи тестування автоматизації
  • Основи SQL
  • Робота з базами даних
  • Коли автоматизація корисна, а коли ні?
  • Як підвищити ефективність тестування автоматизації?
  • Переваги та недоліки тестування автоматизації
  • Об’єктно-орієнтоване програмування (ООП)

Підсумковий іспит:

  • Підбиття підсумків
  • Відгук від інструктора
  • Підготовка до співбесіди QA
QA Automation.

Автоматизоване тестування:

  • Потреба в автоматизованому тестуванні
  • Інструменти для автоматизованого тестування
  • Налаштування Java

Середовища розробки (IDE):

  • Існуючі середовища розробки
  • Встановлення IntelliJ IDEA

Основи мови Java:

  • Синтаксис мови (дужки, крапки, пробіли)
  • Базові типи даних, методи, перетворення типів
  • Арифметичні операції (інкремент, декремент)
  • Оператори порівняння, логічні оператори
  • Строкові оператори, конкатенація

Введення та виведення даних. Пакети.

  • Оператор IF
  • Цикл FOR
  • Принципи ООП (Об’єктно-орієнтоване програмування)
  • Класи та об’єкти

Фреймворки тестування:

  • Selenium, TestNG, Maven (або їх аналоги)
  • Створення проєкту, управління залежностями
  • Основні інструкції, вибір та запуск Webdriver
  • Селектори

Селектори (продовження).

  • Селектори (продовження).

Перевірка тверджень (Assert).

  • Очікування (Waiters)
  • Структура фреймворка тестування
  • Page Object Model (Модель об’єктів сторінки), Page Factory

Ключові слова: static, final.

Звіти Allure (та їх альтернативи).

  • Звіти Allure (та їх альтернативи)
  • Рефакторинг фреймворка

Rest Assured:

  • Консультації щодо роботи над власним (дипломним) проєктом
  • Git

Практика з Rest Assured:

  • Тестування RESTful API

Хто такий QA?

Тестування програмного забезпечення (QA, англ. Quality Assurance) – це напрямок в IT, що відповідає за забезпечення високих стандартів якості програмних продуктів.

Тестувальник – фахівець, який перевіряє компоненти або всю систему на наявність несправностей та помилок. Його головна мета – виявити та задокументувати потенційні проблеми у роботі програми. Імітуючи різні сценарії використання, тестувальник допомагає команді розробників усунути знайдені недоліки.

Інженер автоматизації тестування – спеціаліст, що створює програми для автоматизованого забезпечення якості програмного забезпечення.

React

Безкоштовна індивідуальна консультація

Ми тут, щоб відповісти на будь-які ваші запитання. Отримайте уявлення про наш підхід до технічної освіти та дізнайтеся, що можливо, навчаючись у нас.