- Лекция 0.1. Обзор языков программирования и место Java в общей картине мира
- Лекция 0.2. Установка и настройка Java SDK
- Лекция 0.3. Первая работающая программа на языке Java
- Лекция 0.4. Хранение кода: Git и GitHub
- Лекция 0.5. Gradle и другие сборщики
- Лекция 0.6. Среда разработки IntelliJ IDEA
- Лекция 1.1. Классы и пакеты, файлы и директории
- Лекция 1.2. Фигурные скобочки и структура программного кода
- Лекция 1.3. Выражения и операции
- Лекция 1.4. Переменные и значения
- Лекция 1.5. Типы переменных и значений
- Лекция 1.6. Среда разработки: запуск программы в режиме отладки
- Лекция 1.7. Функции
- Лекция 1.8. Классы и объекты
- Лекция 1.9. Методы: функции, ассоциированные с объектами
Задание №2: Потренироваться использовать функции, классы, объекты и методы
- Лекция 1.10. Немного теории: что такое "автотесты"?
- Лекция 1.11. Подключаем зависимости от дополнительных библиотек
- Лекция 1.12. Делаем первый тест, используя фреймворк для запуска тестов TestNG
- Лекция 1.13. Среда разработки IDEA: полезные клавиатурные сочетания
- Лекция 2.1. Установка учебного приложения
- Лекция 2.2. Делаем тест для веб-приложения, используя драйвер Selenium
- Лекция 2.3. Фикстуры: инициализация и зачистка
- Лекция 2.4. Рефакторинг: улучшаем читаемость кода, выделяем вспомогательные методы
Задание №4: Сделать тесты для создания групп и контактов в адресной книге
- Лекция 2.5. Создаём общий базовый класс для тестов, где можно хранить методы, общие для всех тестов
- Лекция 2.6. Заменяем наследование на делегирование и создаём двухуровневую архитектуру
- Лекция 2.7. Выделяем специализированные классы-помощники
- Лекция 2.8. Создаём общий базовый класс для классов-помощников
Задание №5: Реализовать двухуровневую архитектуру тестового набора
- Лекция 2.9. Делаем новый тест без использования рекордера
Задание №6: Сделать тесты для удаления и модификации групп и контактов
- Лекция 3.1. Проверка условий при помощи конструкции if-then-else
- Лекция 3.2. Полная форма if-then-else. Неполная форма if-then. Вложенные проверки. Свёртка вложенных проверок
- Лекция 3.3. Запуск тестов в разных браузерах
- Лекция 3.4. Сравнение объектов при помощи оператора == и метода equals
Задание №7: Научиться запускать тесты в разных браузерах
- Лекция 3.5. Оптимизация заполнения форм: оставляем дефолтные значения в полях
- Лекция 3.6. Оптимизация заполнения форм: оставляем не изменяющиеся значения в полях
- Лекция 3.7. Перехват исключений
- Лекция 3.8. Заполнение форм с почти одинаковым набором полей
- Лекция 3.9. "Ленивые" действия
- Лекция 3.10. Проверка и обеспечение выполнения предусловий
Задание №8: Реализовать проверку и обеспечение предусловий в тестах
- Лекция 4.1. Знакомство с коллекциями
- Лекция 4.2. Типы коллекций: List, Set, Map
- Лекция 4.3. Перебор коллекций с помощью циклов for, while и foreach
- Лекция 4.4. Методы для работы с коллекциями
- Лекция 4.5. Использование лямбда-выражений для обработки коллекций
Задание №9: Написать тесты с использованием коллекций и циклов
- Лекция 4.6. Оптимизация кода: использование Stream API для работы с коллекциями
- Лекция 4.7. Применение сортировок и фильтраций в коллекциях
- Лекция 4.8. Вложенные циклы и сложные операции с коллекциями
- Лекция 5.1. Чтение данных из файла
- Лекция 5.2. Запись данных в файл
- Лекция 5.3. Форматы файлов: текстовые, бинарные, CSV, JSON, XML
- Лекция 5.4. Работа с JSON и XML при помощи библиотек
Задание №11: Написать тесты с чтением и записью данных в файлы
- Лекция 5.5. Потоки ввода-вывода в Java
- Лекция 5.6. Обработка исключений при работе с файлами
- Лекция 5.7. Работа с большими файлами и буферизация
- Лекция 6.1. Основы тестирования веб-приложений
- Лекция 6.2. Введение в Selenium WebDriver
- Лекция 6.3. Работа с элементами страницы: клики, ввод текста, проверки
- Лекция 6.4. Динамическое ожидание элементов на странице
- Лекция 6.5. Работа с окнами, алертами и фреймами
Задание №13: Написать тесты для основных функций веб-приложения
- Лекция 6.6. Поддержка тестов для разных браузеров
- Лекция 6.7. Локаторы и XPath для поиска элементов
- Лекция 6.8. Работа с AJAX и динамическим контентом
Задание №14: Написать тесты для работы с динамическим контентом
- Лекция 7.1. Основы работы с базами данных и SQL
- Лекция 7.2. Подключение к базе данных из Java с помощью JDBC
- Лекция 7.3. Выполнение CRUD-операций с базой данных
- Лекция 7.4. Использование транзакций в JDBC
- Лекция 7.5. Обработка исключений при работе с базами данных
Задание №15: Написать тесты для CRUD-операций с базой данных
- Лекция 7.6. Оптимизация запросов и индексация таблиц
- Лекция 7.7. Использование ORM для работы с базами данных
- Лекция 7.8. Взаимодействие с NoSQL базами данных
- Лекция 8.1. Основы REST API и HTTP
- Лекция 8.2. Подключение к REST API из Java
- Лекция 8.3. Отправка GET, POST, PUT, DELETE запросов
- Лекция 8.4. Обработка ответов от сервера и проверка статусов
- Лекция 8.5. Тестирование безопасности и авторизации REST API
Задание №17: Написать тесты для REST API приложения
- Лекция 8.6. Работа с JSON и XML в REST API
- Лекция 8.7. Использование библиотек для тестирования REST API
- Лекция 8.8. Параметризованные тесты для REST API
- Лекция 9.1. Стратегии оптимизации тестов
- Лекция 9.2. Параллельное выполнение тестов
- Лекция 9.3. Работа с большими объемами данных
- Лекция 9.4. Использование контейнеризации для тестов (Docker)
- Лекция 9.5. Масштабирование тестов в облачных окружениях
Задание №19: Оптимизировать тесты для параллельного выполнения
- Лекция 9.6. Работа с отчетами и логированием
- Лекция 9.7. Использование CI/CD для автоматизации тестов
- Лекция 9.8. Автоматическое развертывание тестов в разных окружениях
- Лекция 10.1. Введение в тестовые фреймворки
- Лекция 10.2. Основы работы с JUnit
- Лекция 10.3. Использование TestNG для продвинутого тестирования
- Лекция 10.4. Настройка Maven для автоматизации сборки и тестов
- Лекция 10.5. Использование Gradle для управления зависимостями и сборкой
Задание №21: Написать и настроить тесты с использованием JUnit и TestNG
- Лекция 10.6. Интеграция тестов с CI/CD пайплайнами
- Лекция 10.7. Использование Selenide для упрощения автоматизации UI-тестов
- Лекция 10.8. Настройка окружений с помощью Docker и Kubernetes для тестирования
Задание №22: Интеграция тестов с CI/CD и настройка тестовой инфраструктуры с использованием Docker
- Лекция 10.9. Использование Allure для создания отчетов о тестировании
- Лекция 10.10. Мониторинг и анализ результатов тестирования
- Лекция 10.11. Интеграция с внешними сервисами для уведомлений и отчетов