- Объем материала: 50 часов
- Интенсивность: 3 вечерних вебинара в неделю по 3 часа
- 1 час разбор вопросов по практике
- 2 часа новый материал: обсуждения и live demo
- Общая длительность: 25 вебинаров ~ 2 месяца
- Самостоятельная практика: по 2 часа 3 раза в неделю = 50 часов
- Глубина погружения
- Метафора Rosetta Stone
- Лексика
- Тестовый нарратив
- Изучение через тестирование
- Самостоятельная проработка
- Непрерывное тестирование участников и фидбек по ним
- Как организации зарабатывают на разработке ПО?
- Что такое заказная и продуктовая разработка?
- Что такое outsource и in-house?
- Что такое проектная и сервисная разработка?
- Какие ожидаются отношения в организации?
- Что организация ждет от сотрудников?
- Как устроено производство ПО?
- Зачем нужно тестирование?
- На каких этапах вовлекаются специалисты по качеству?
- Что делают специалисты по качеству?
- Как ставятся и отслеживаются задачи?
- Какие необходимы сопутствующие артефакты?
- Как хранятся и редактируются артефакты?
- Как идёт общение сотрудников?
- Как пользователи взаимодействуют с системой? Виды UI
- Как происходит обработка запросов? Бекенд
- Где хранятся данные? БД
- Какие еще системы участвуют в обработке запросов? Интеграция
- На фронтенде
- На бекенде
- На стороне БД
- На стороне интеграции
- По процессу разработки
- Виртуализация
- Виртуальная машина
- Образ диска
- Настройка и запуск VM с RHEL8
- Ядро
- Пользователи
- Файловая система
- Приложения
- Процессы
- Потоки
- Подключение по ssh с сертификатом
- Работа с файловой системой
- Работа с переменными окружения
- Установка пакетов с ПО
- Запуск приложений
- shell-скрипты
- Чтение и редактирование конфигов
- Обзор контейнеризации
- Образ
- Контейнер
- Docker workflow
- Узлы и зачем им сеть
- Уровни протоколов
- Адресация и NAT
- Сетевые сервисы и порты
- Диагностика
- Работа с удаленными файлами
- Запуск сетевых сервисов
- Вызов удаленных сервисов
- Обзор nginx
- Конфигурация и запуск с помощью Docker
- Обращение с помощью браузера
- Сетевая диагностика
- Жесткая типизация записей
- Связи таблиц
- Индексы
- Запросы
- Доступы
- Обзор Oracle Database (Express Edition)
- Конфигурация и запуск с помощью Docker
- Обзор IntelliJ DataGrip
- JDBC-драйвер
- Настройка соединения
- Понятия пользователя, базы, каталога, схемы
- Создание, изменение и удаление схемы
- Создание, изменение и удаление таблиц
- Создание, изменение и удаление столбцов
- Создание, изменение и удаление индексов
- Вставки
- Удаления
- Изменения
- Выборки
- Проекции
- Фильтрации
- Сортировки
- Объединения
- Соединения
- Группировки
- Подзапросы
- Понятия jvm и jre
- Установка jre
- spring war
- servlet container на примере Tomcat
- spring boot fat jar
- Maven build
- Publish to Artifactory
- Download from Artifactory
- Deploy to Tomcat
- Перенос fat jar
- Конфигурация
- Языки разметки (properties, xml, json, yaml)
- Запуск приложением и сервисом
- Логи
- Swagger UI
- Обращение с помощью браузера к Swagger UI
- Требования
- Виды требований
- Сценарии выполнения
- Граничные условия, классы эквивалентности
- Тестовые сценарии: Specification by Example
- Шаблоны описания FR и NFR
- JIRA
- Confluence
- Почему система может работать «неправильно»?
- Почему разработчики сразу не могут писать «правильно»?
- Виды тестов
- Уровни тестирования
- Сложность E2E и моки + стабы
- Матрица покрытия
- Внутреннее качество тестов: атомарность и изолированность
- Фикстура
- Тест-план, scope и оценки
- Тестовые наборы
- Тест-кейсы
- Тестовые сценарии
- Структура тестового сценария
- Отчетность и документирование дефектов
- Веб-сервер
- Приложение
- БД
- REST-клиент на примере SoapUI
- URL и ресурсы
- Методы
- Заголовки
- Payload
- Формат сериализации данных: JSON
- Синтаксис
- Семантика операций
- Идемпотентность
- Аутентификация
- Фильтрация
- Пейджинг
- Local workflow
- Remote workflow
- Gitlab repo
- Pull Request / Merge Request
- Java application structure
- Jar
- Build lifecycle and tests
- Dependencies
- Maven repos
- Artifactory
- Test as Java application
- Class
- Static variables
- Static methods
- Call stack
- Arguments
- Local variables
- Primitive types and wrappers
- Operators
- Control structures
- Objects and reference types
- Enums
- Array
- String
- Instance variables
- Instance methods
- Object class and methods
- Exceptions
- Core collections
- Core IO
- Framework overview
- Test Case
- Test Method
- Assertions
- Test states
- Fixtures
- Test code quality
- Test design patterns
- Implementing fake DB
- Implementing stubs and mocks for REST services
- Framework overview
- Request API
- Assertions
- JSONPath
- BDD overview
- Glue implementation
- Gherkin syntax
- Implementing scenario
- Implementing fixture