/Automation-QA

Automation QA Engineer - минимум того, что должен знать Engineer из QA и QC

MIT LicenseMIT

Automation-QA

Automation QA Engineer - минимум того, что должен знать Engineer из QA и QC

Я очень хочу собрать список тем по тому минимому, что должен знать Automation QA Engineer. Я буду очень рад если ТЫ добавишь тему, или добавишь ссылку на статью, видео или обсуждение.

Данный фокумента изначально составлен на основе тем курса от #SkillFactory:

Специализация «Тестировщик ПО»

Введение в тестирование и профессию тестировщика

  1. https://youtu.be/SRm_snGddcc
  2. https://youtu.be/Ie3vp2dICko
  3. https://youtu.be/3MBT9O6i0jk
  • Что такое тестирование (от QС к QA)
  • Как разрабатываются IT-продукты
  • Виды тестирования и их цели
  • Главная миссия тестировщика
  • Тестирование как сервис для клиентов
  • Роль тестировщика (быстрый поиск ошибок, умение задавать вопросы, критическое мышление, оценка рисков)

Типы тестирования в жизненном цикле ПО. Артефакты тестирования и багтрекинг

  • Жизненный цикл ПО — как создаются программные продукты
  • Типы тестирования
  • Как составить основные документы: тест-план, тест-кейсы, сценарии, чек-листы
  • Оценка стоимости бага и приоритизация
  • Научимся работать с багами, составлять баг-репорты, пользоваться баг-трекером
  • Практическое задание

Клиент-серверная модель взаимодействия

  • Клиент-серверная модель взаимодействия
  • Распределённые приложения
  • Тонкий и Толстый клиент
  • Что такое API
  • Сетевые модели
  • Локализация ошибок в приложении
  • Практическое задание

Архитектура приложений

  1. https://c4model.com/
  • Модель C4 для понимания и изучения архитектуры
  • Основные архитектурные стили (монолитная, микросервисная, SPA-приложения)
  • Рассмотрим влияние архитектуры на методику тестирования
  • Практическое задание

Техники тест-дизайна и построение тестовой модели

  1. https://youtu.be/gcWiWCrje44
  2. https://youtu.be/BQPdfQujJU8
  • Что такое тест-дизайн и зачем он нужен
  • Используем техники тест-дизайна: разбиваем программный продукт на классы эквивалентности для исключения ненужных тестов, применяем граничные значения, чтобы исключить пропуск дефектов
  • Начнем использовать диаграммы в проектировании тестовых сценариев (Decision Table, State & Transition Testing)
  • Построим тестовую модель на приложение

Подходы и уровни тестирования. Формирование стратегии тестирования

  • Подходы к тестированию (черный, серый, белый ящики)
  • Пирамида тестирования, бизнес- [ ]ориентированные и технологические тесты
  • Создадим тестовую стратегию с использованием различных уровней, типов и видов тестирования на программный продукт
  • Практические задания

Анализ и тестирование требований

  • Как формировать различные типы требований (User Story, прототипы, Use case, ТЗ, DOD)
  • Способы декомпозиции требований (INVEST для User Story)
  • Тестирование требований (Example Mapping, 3 Амиго, эвристика USR)
  • Обзор систем Jira, Trello, Redmine, Confluence, UML-диаграммы
  • Научимся создавать интеллект-карты и диаграммы тестируемых продуктов
  • Практическое задание

Тестирование UI

  • Что такое HTML и CSS
  • Что такое GUI
  • DOM дерево
  • Основные эвристики для тестирования фронтенда
  • Что такое Developer Tools
  • Консоль браузера: практика работы с основным инструментом веб-тестировщика Chrome DevTools
  • Практическое задание

Кроссплатформенное и кроссбраузерное тестирование

  • Тестируем верстку, адаптивность
  • Кроссбраузерное тестирование (LambdaTest, CrossBrowserTesting, BrowserStack)
  • Кроссплатформенное тестирование (особенности тестирования на Linux, macOS, Windows, iOS, Android)
  • Практическое задание

Тестирование API и работа с логами

  • Понятие API (REST & SOAP, HTTP-протокол, GET, POST)
  • Практика тестирования в Postman
  • Инструменты Fiddler, Swagger
  • Тестирование интеграции по протоколу SOAP и разбор ошибок интеграции
  • Более точно локализовываем ошибки с помощью логов
  • Практическое задание

Тестирование БД

  • Что такое СУБД
  • Базовые запросы SQL: SELECT, FROM и его параметры, ORDER BY, GROUP BY
  • Фильтрация и изменение данных (WHERE, AND, OR, IN, NOT, INSERT, UPDATE, DELETE)
  • Связи таблиц, схема данных
  • Объединение таблиц (INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, CROSS JOIN)
  • Практические задания

Основы тестирования мобильных приложений

  • Пошаговый процесс тестирования мобильных приложений
  • Устройства и приложения для упрощения работы
  • Адаптивный дизайн
  • Обработка ошибок и сообщений
  • Проведем тестирование на эмуляторах и симуляторах
  • Практическое задание

Git и командная строка

  • Учимся работать с файлами и папками через консоль Linux и Windows
  • Bash и Powershell
  • Принципы работы с Git (ветки, слияние и разрешение конфликтов, репозитории и коллективная работа)
  • Создание простых скриптов для командной строки
  • Практическое задание

Введение в автоматизацию тестирования

  • Цели и задачи автоматизированного тестирования
  • Тестовые фреймворки
  • Драйверы для браузеров
  • Составляющие автотеста
  • Практическое задание

Инструменты автоматизации тестирования

  • Обзор языка Python
  • Что такое Selenium, использование Selenium IDE
  • CI на примере Jenkins

Методологии разработки ПО и работа в команде

  • Каскадная методология
  • Agile методология (Scrum, Kanban, Extreme programing)
  • Взаимодействие с бизнес-заказчиком (работа в команде, удаленный формат работы)
  • Практическое задание

Ваше резюме и поиск проектов на фриланс-бирже

  • Практика по оформлению резюме
  • Как выстроить процесс получения заказов на бирже
  • Как взаимодействовать с заказчиками
  • Выполнение проектов на бирже