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-диаграммы
- Научимся создавать интеллект-карты и диаграммы тестируемых продуктов
- Практическое задание
- Что такое HTML и CSS
- Что такое GUI
- DOM дерево
- Основные эвристики для тестирования фронтенда
- Что такое Developer Tools
- Консоль браузера: практика работы с основным инструментом веб-тестировщика Chrome DevTools
- Практическое задание
- Тестируем верстку, адаптивность
- Кроссбраузерное тестирование (LambdaTest, CrossBrowserTesting, BrowserStack)
- Кроссплатформенное тестирование (особенности тестирования на Linux, macOS, Windows, iOS, Android)
- Практическое задание
- Понятие 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)
- Практические задания
- Пошаговый процесс тестирования мобильных приложений
- Устройства и приложения для упрощения работы
- Адаптивный дизайн
- Обработка ошибок и сообщений
- Проведем тестирование на эмуляторах и симуляторах
- Практическое задание
- Учимся работать с файлами и папками через консоль Linux и Windows
- Bash и Powershell
- Принципы работы с Git (ветки, слияние и разрешение конфликтов, репозитории и коллективная работа)
- Создание простых скриптов для командной строки
- Практическое задание
- Цели и задачи автоматизированного тестирования
- Тестовые фреймворки
- Драйверы для браузеров
- Составляющие автотеста
- Практическое задание
- Обзор языка Python
- Что такое Selenium, использование Selenium IDE
- CI на примере Jenkins
- Каскадная методология
- Agile методология (Scrum, Kanban, Extreme programing)
- Взаимодействие с бизнес-заказчиком (работа в команде, удаленный формат работы)
- Практическое задание
- Практика по оформлению резюме
- Как выстроить процесс получения заказов на бирже
- Как взаимодействовать с заказчиками
- Выполнение проектов на бирже