mail.ru: Как вырастить в себе автоматизатора и...
TRANSCRIPT
![Page 1: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/1.jpg)
Как вырастить в себе автоматизатора и разработчикаМаксим Богуславский
![Page 2: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/2.jpg)
О себе
Опыт тестирования и обеспечения качества 8+ лет.
Работал в Акронисе, Люксофте, Иннове, Суперскейпе (Glu).
Руководитель отдела обеспечения качества в banki.ru.
Занимаюсь руководством, автоматизацией и нагрузочным тестированием.
![Page 3: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/3.jpg)
О компании
Лидер на рынке информационных услуг о банках, курсах валют банков и обменников, рейтингах банков.
Публикуем Народный Рейтинг банков, основанный на отзывах наших пользователей.
Нам принадлежат: banki.ru, bankir.ru, finparty.ru, vklad.ru.
![Page 4: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/4.jpg)
Об отделе
● 6 человек● Автоматизируем:
○ Приемочное тестирование
○ Функциональное
● Тестируем админку и интерфейсы
● Смоук-тесты
![Page 5: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/5.jpg)
О технологиях
● Php 5.6 >> PHP 7.0● Composer + vendor-
libs● Selenium WebDriver
![Page 6: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/6.jpg)
О проблеме
● Личный опыт:○ Преподавал○ Учился○ Гумманитарное
образование● Учил и учился с
нуля● Мотивация и
границы роста
![Page 7: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/7.jpg)
О докладе
● Мотивация● Опыт нашего
отдела не репрезентативен - слишком мало данных, поэтому сделали опрос
● Три группы
![Page 8: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/8.jpg)
Основная часть
![Page 9: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/9.jpg)
Обязанности инженера по автоматизации
● Общие навыки работы с кодом● DevOps практики● Автоматизация тестирования:
○ Интерфейса○ Запросами○ Базы
![Page 10: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/10.jpg)
Обязанности инженера по автоматизации:Общие навыки работы с кодом
● Работа с системой контроля версий (например, Git)● Знание тестовых фреймворков (для php - Codeception)● Работа с IDE (например, Idea, PHPStorm, PyCharm)● Работа с данными:
○ Подготовка тестовых данных○ Создание и обработка отчетов○ Работа с логами
● Организация кода● Описание архитектуры
![Page 11: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/11.jpg)
Обязанности инженера по автоматизации:DevOps праткики
● Подключение и обновление компонентов● Непрерывная интеграция
○ Работа с xUnit○ Сборка тестовой среды○ Настройка CI:
■ создание и настройка планов■ Автоматизированная сборка артефактов
![Page 12: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/12.jpg)
Обязанности инженера по автоматизации:Автоматизация фронтового тестирования
● Автоматизация бизнес логики;● Формирование локаторов.
![Page 13: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/13.jpg)
Обязанности инженера по автоматизации:Автоматизация бэкенд тестирования
● Тестирование базы:○ Валидация данных○ Тестирование производительности запросов
● Тестирование запросами:○ Валидация ответа через схему○ Проверка времени исполнения
![Page 14: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/14.jpg)
Базовые требования для инженера
● Личные качества:○ Аналитический склад ума○ Способность видеть систему в целом○ Усидчивость.
![Page 15: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/15.jpg)
Базовые требования для инженера
● Образование:○ Среди успешных автоматизаторов ¼ людей - это люди без
технического образования○ ⅓ людей с техническим образованием не смогли стать
автоматизаторами.
![Page 16: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/16.jpg)
Базовые требования для инженера
● Что помешало людям с техническим образованием:○ Прозанимавшись недостаточно долго они не получили
ожидаемый результат и бросили обучение;○ В процессе обучения они потеряли интерес к обучению
автоматизации;○ Возможно они низко оценили свои результаты и посчитали, что
недостигли нужной им цели.
![Page 17: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/17.jpg)
Навыки начинающего автоматизатора
● Теоретические знания● Практические знания● Навыки работы с кодом● Программирование
![Page 18: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/18.jpg)
Навыки начинающего автоматизатора
● Теоретические знания○ Понимание основ тестирования○ Понимание предметной области○ Булевая алгебра○ Комбинаторика○ Теория вероятности○ Статистика○ Теория графов
![Page 19: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/19.jpg)
Навыки начинающего автоматизатора
● Практические знания○ Умение декомпозировать задачу○ Английский (на уровне чтения документации)○ Знание структуры веб-приложения и умение работать с
запросами
![Page 20: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/20.jpg)
Навыки начинающего автоматизатора
● Навыки работы с кодом○ Понимание языка локаторов (для тестов интерфейса)○ Умение работать с IDE и понимание его достоинств и
ограничений○ Работа с системой контроля версий (commit, add, push, pull).○ Умение запускать тесты локально
![Page 21: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/21.jpg)
Навыки начинающего автоматизатора
● Программирование○ Базовое владение одним из наиболее популярных языков(JS,
Java, Python, PHP и bash/powershell): синтаксис, типы данных, основные операторы, исключения, логирование, input/output
○ Владение процедурным программированием:■ Линейная автоматизация тестового сценария с обработкой
исключений и валидацией результатов○ Понимание алгоритмов на начальном уровне
![Page 22: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/22.jpg)
Навыки продвинутого автоматизатора
● Практические знания● Работа с CI● Программирование● Работа с окружением● Практики разработки
![Page 23: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/23.jpg)
Навыки продвинутого автоматизатора
● Практические знания○ Английский (на уровне письменного изложения своих мыслей)○ Знание основных тестовых фреймворков○ Продвинутая работа с системой контроля версий. Знание таких
команд как: merge, rebase, работа с ветками, пулл-реквесты.
![Page 24: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/24.jpg)
Навыки продвинутого автоматизатора
● Программирование○ ООП○ Продвинутое понимание алгоритмов○ Принципы организация кода (DRY, SOLID, KISS)○ Понимание стандартов языка: PHP(PSR), Python (Pythonic, PEP8)○ Работа с базой данных для генерации тестовых данных
![Page 25: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/25.jpg)
Навыки продвинутого автоматизатора
● Работа с CI:○ Подключение тестов○ Сбор результатов○ Обновление пакетов○ Оценка покрытия○ Разница между средами (staging, test, production)
![Page 26: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/26.jpg)
Навыки продвинутого автоматизатора
● Практики разработки:○ CodeReview○ Рефакторинг○ Использование методов статического анализа
![Page 27: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/27.jpg)
Навыки экспертного автоматизатора
● Практики разработки● CI● Программирование
![Page 28: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/28.jpg)
Навыки экспертного автоматизатора
● Практики разработки○ Проектирование○ Разработка через прототип
![Page 29: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/29.jpg)
Навыки экспертного автоматизатора
● CI:○ Скрипты накатки○ Деплой
![Page 30: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/30.jpg)
Навыки экспертного автоматизатора
● Программирование:○ Функциональное программирование○ Оптимизация кода○ Юнит-тесты○ Расширение покрытия за счет доработки тестируемого
приложения
![Page 31: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/31.jpg)
Разработчик !== автоматизатор?
● Разница между экспертом в автоматизации и разработчиком не так уж и велика
● Литература и курсы ● Матрица компетенции разработчика (английский)
![Page 32: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/32.jpg)
Разработчик !== автоматизатор?
● Если вы эксперт по тестированию, то попробуйте себя в создании:○ блога○ мобильного приложения○ разработка админки для базы данных○ Интернет-магазине○ Yet another bot for Telegram
![Page 33: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/33.jpg)
Какие фреймворки стоит изучить?
● Платные:○ TestComplete○ IBM Rational Test○ HP Quick Test
● Бесплатные:○ Codeception○ Selenide○ Appium
![Page 34: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/34.jpg)
Что изучать и где получить эти знания?
● Теоретический путь○ Изучать синтаксис языка○ Читать блоги○ Читать книги (список литературы будет в конце доклада)○ Читать мануалы○ Изучать другие языки программирования
![Page 35: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/35.jpg)
Что изучать и где получить эти знания?
● Практический путь:○ Набиванием шишек или личным опытом○ Выполнять простые упражнения○ Участвовать в code review○ Рекомендации опытных коллег○ Сертификационные центры и сайты (список будет в конце)○ Инструменты по статическому анализу кода○ Состоязания (типа hackerrank)
![Page 36: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/36.jpg)
Помехи в обучении
● Отсутствие обратной связи● Отсутствие умения планировать и приоритезировать задачи● Плохая концентрация● Сохранение зоны комфорта● Страх выглядеть глупо и отказ от смены привычек● Отсутствие веры в себя
![Page 37: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/37.jpg)
Как практиковаться в обучении
● Разбивайте цель на проекты и задачи● Честно фиксируйте время. Попробуйте wakatime● Вкладывайте силы, деньги и время● Необходимая жертва
![Page 38: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/38.jpg)
Сколько времени нужно на обучение?
● Сократить список обучения до необходимого● Учитывайте человеческий фактор● Занятия меньше 3 часов в неделю - не эффективны● Успех от 5 и более часов в неделю
![Page 39: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/39.jpg)
Про помощь со стороны
● Наставник не гарантирует успех● Умение тренировать и обучать - отдельный навык● Сделанная за тебя задача - плохая услуга● Обратная связь для мотивации
![Page 40: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/40.jpg)
Заключение
![Page 41: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/41.jpg)
Рекомендации
● Преждевременное успокоение● Личностные качества и образование● Выделить время
![Page 42: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/42.jpg)
Напутствие
● Эффект Даннинга-Крюгера● Задействуйте разработчиков● Вдохновение vs Упорство● Сделайте первый шаг сегодня
![Page 43: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/43.jpg)
Литература
![Page 44: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/44.jpg)
57 Exercises For
ProgrammersBrian P. Hogan
![Page 45: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/45.jpg)
The Art Of Unit TestingRoy Osherove
![Page 46: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/46.jpg)
Continuous Delivery
Jez HumbleDavid Farley
![Page 47: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/47.jpg)
Clean CodeRobert C. Martin
![Page 48: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/48.jpg)
Code Complete 2nd Edition
Steve McConnell
![Page 49: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/49.jpg)
Design Patterns
![Page 50: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/50.jpg)
RefactoringMartin Fowler
![Page 51: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/51.jpg)
Курсы
![Page 52: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/52.jpg)
Курсы
Edx: Курс введение в программирование на Java
Edx: Введение в программирование на PythonCodecademy: https://www.codecademy.com/learn
Codecombat: http://codecombat.com/
Udacity: https://www.udacity.com/
![Page 53: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/53.jpg)
Ссылки на курсы:
Team Tree House: https://teamtreehouse.com/
Udemy: https://www.udemy.com/
Интуит: http://www.intuit.ru/
CheckIo: https://checkio.org/
![Page 54: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/54.jpg)
Сертификация
HackerRank: https://www.hackerrank.com/
LeetCode: https://leetcode.com/
Corp.mail.ru: https://certification.mail.ru/tests/
![Page 55: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/55.jpg)
Спасибо!Blog:
https://maxbogus.blogspot.ru/
Slideshare: http://www.slideshare.net/maxbogus
Linkedin: https://www.linkedin.com/in/maxbogus
Facebook page: https://www.facebook.com/maxbogusblog/
![Page 56: Mail.ru: Как вырастить в себе автоматизатора и разработчика](https://reader033.vdocuments.mx/reader033/viewer/2022051709/58703b1a1a28ab4e2c8b49eb/html5/thumbnails/56.jpg)
Ссылки на опрос:
● Пройти опрос: http://goo.gl/forms/eVEJIOHXdf7HPlzN2
● Промежуточный результат: https://goo.gl/dNgWbK