[Software-testing] Docker: инструменты тестировщика (Арсений Батыров, Виталий Котов)
Скрытый текст. Доступен только зарегистрированным пользователям.
?Тестировщик всегда работает в условиях недостатка времени: беклог не уменьшается, релиз на носу, а протестировать нужно еще многое. Чтобы обеспечить качество продукта, нужно постоянно повышать эффективность собственной работы. Один из способов - освоить некоторые инструменты, облегчающие рутинные действия в тестировании.
Во время работы часто приходится долго настраивать окружение, так как работа программы часто от него зависит. Наиболее простой способ облегчить работу — использовать контейнеры Docker. С их помощью вы можете запускать автотесты, тестовые сервера, различные версии программ и приложений на любой машине, где установлен Docker — и они будут работать совершенно одинаково. Это значительно облегчает поиск и локализацию ошибок, и сокращает время тестирования.
Естественно, умение работать со средствами контейнеризации пригодится практически любому тестировщику.
Курс «Docker: Инструменты тестировщика» создан для быстрого погружения в навыки, необходимые именно тестировщику. Теория дается в объеме, минимально необходимом для практики. Знания и навыки, приобретенные на этом курсе, помогут вам начать работать с Docker, получив только самые необходимые навыки: создание и настройка образов, налаживание сети, подключение внешних источников.
На этом курсе вы научитесь:
- Настраивать Docker на любой современной ОС
- Создавать, подключать и удалять контейнеры
- Делать собственные образы и тома
- Настраивать взаимодействие через бинды и тома
- Запускать в контейнерах тесты и программы
- Подключать контейнеры к сети
- Запускать автотесты внутри контейнеров
- Понимать разницу средств оркестрации Swarm и Kubernetes
Для курса потребуются определенные ОС, а также знания bash. Подробнее — в разделе “технические требования” и “требования к знаниям”
- Что такое Docker
- Отличие Docker от Virtual Machine
- Для чего используют Docker
- Почему для Windows и MacOS все не так?
- Установка Docker на MacOS
- Установка Docker на Windows
- Установка Docker на Linux
- Версия Docker
- Помощник Docker
- Что такое контейнер
- Как запустить контейнер
- Параметры команды run
- Запускаем контейнер с Ubuntu
- Detached контейнеры
- Attach запущенного контейнера
- Работа с несколькими контейнерами одновременно
- Работа с файлами внутри контейнера
- Что такое том
- Создаем, подключаем и удаляем том
- Mount bind - подключение директории хост-системы
- Mount тома
- Пример запуска программы на Python с mount
- Readonly mode
- Тестирование программы на разных версиях языка программирования на примере Python
- Что такое образ
- Качаем образ
- Выбираем версии
- Регистрируемся на Docker Hub
- Авторизация Docker из терминала
- Создаем свой первый образ
- Заливаем свой образ на Docker Hub
- Запускаем Selenium Server через Docker
- Запускаем Selenium Server через Docker правильно
- Создаем Selenium-сессия на запущенном контейнере
- Разбираемся с настройками docker network
- Разбираемся с тем, как устроены автотесты на примере Selenium-тестов
- Скачиваем исходники Selenium-тестов на Java
- Настраиваем запуск тестов в контейнере на примере Java и Maven
- Связываем контейнер Selenium и контейнер с запущенными тестами
- Работа с артефактами автотестов из контейнера
- Что такое Dockerfile
- Основы синтаксиса
- Пример запуска простой программы на Python
- Пример создания образа с Selenium-тестами
- Что такое Docker compose
- Пример создания сервиса на примере Python-программы
- Запуск простого сервиса
- Запуск нескольких сервисов на примере Maven-образа с Selenium-тестами и образе Selenium Server
- Docker Swarm - для чего нужен и когда используется
- Kubernetes - для чего нужен и когда используется