SlideShare a Scribd company logo
1 of 56
Download to read offline
Как вырастить в себе
автоматизатора и
разработчика
Максим Богуславский
О себе
Опыт тестирования и обеспечения качества 8+ лет.
Работал в Акронисе, Люксофте, Иннове, Суперскейпе (Glu).
Руководитель отдела обеспечения качества в banki.ru.
Занимаюсь руководством, автоматизацией и нагрузочным
тестированием.
О компании
Лидер на рынке информационных услуг о банках, курсах валют банков и
обменников, рейтингах банков.
Публикуем Народный Рейтинг банков, основанный на отзывах наших
пользователей.
Нам принадлежат: banki.ru, bankir.ru, finparty.ru, vklad.ru.
Об отделе
● 6 человек
● Автоматизируем:
○ Приемочное
тестирование
○ Функционально
е
● Тестируем админку
и интерфейсы
● Смоук-тесты
О технологиях
● Php 5.6 >> PHP 7.0
● Composer + vendor-
libs
● Selenium WebDriver
О проблеме
● Личный опыт:
○ Преподавал
○ Учился
○ Гумманитарное
образование
● Учил и учился с
нуля
● Мотивация и
границы роста
О докладе
● Мотивация
● Опыт нашего
отдела не
репрезентативен -
слишком мало
данных, поэтому
сделали опрос
● Три группы
Основная часть
Обязанности инженера по
автоматизации
● Общие навыки работы с кодом
● DevOps практики
● Автоматизация тестирования:
○ Интерфейса
○ Запросами
○ Базы
Обязанности инженера по
автоматизации:
Общие навыки работы с кодом
● Работа с системой контроля версий (например, Git)
● Знание тестовых фреймворков (для php - Codeception)
● Работа с IDE (например, Idea, PHPStorm, PyCharm)
● Работа с данными:
○ Подготовка тестовых данных
○ Создание и обработка отчетов
○ Работа с логами
● Организация кода
● Описание архитектуры
Обязанности инженера по
автоматизации:
DevOps праткики
● Подключение и обновление компонентов
● Непрерывная интеграция
○ Работа с xUnit
○ Сборка тестовой среды
○ Настройка CI:
■ создание и настройка планов
■ Автоматизированная сборка артефактов
автоматизации:
Автоматизация фронтового
тестирования
● Автоматизация бизнес логики;
● Формирование локаторов.
Обязанности инженера по
автоматизации:
Автоматизация бэкенд тестирования
● Тестирование базы:
○ Валидация данных
○ Тестирование производительности запросов
● Тестирование запросами:
○ Валидация ответа через схему
○ Проверка времени исполнения
Базовые требования для инженера
● Личные качества:
○ Аналитический склад ума
○ Способность видеть систему в целом
○ Усидчивость.
Базовые требования для инженера
● Образование:
○ Среди успешных автоматизаторов ¼ людей - это люди без
технического образования
○ ⅓ людей с техническим образованием не смогли стать
автоматизаторами.
Базовые требования для инженера
● Что помешало людям с техническим образованием:
○ Прозанимавшись недостаточно долго они не получили
ожидаемый результат и бросили обучение;
○ В процессе обучения они потеряли интерес к обучению
автоматизации;
○ Возможно они низко оценили свои результаты и посчитали, что
недостигли нужной им цели.
Навыки начинающего автоматизатора
● Теоретические знания
● Практические знания
● Навыки работы с кодом
● Программирование
Навыки начинающего автоматизатора
● Теоретические знания
○ Понимание основ тестирования
○ Понимание предметной области
○ Булевая алгебра
○ Комбинаторика
○ Теория вероятности
○ Статистика
○ Теория графов
Навыки начинающего автоматизатора
● Практические знания
○ Умение декомпозировать задачу
○ Английский (на уровне чтения документации)
○ Знание структуры веб-приложения и умение работать с
запросами
Навыки начинающего автоматизатора
● Навыки работы с кодом
○ Понимание языка локаторов (для тестов интерфейса)
○ Умение работать с IDE и понимание его достоинств и
ограничений
○ Работа с системой контроля версий (commit, add, push, pull).
○ Умение запускать тесты локально
Навыки начинающего автоматизатора
● Программирование
○ Базовое владение одним из наиболее популярных языков(JS,
Java, Python, PHP и bash/powershell): синтаксис, типы данных,
основные операторы, исключения, логирование, input/output
○ Владение процедурным программированием:
■ Линейная автоматизация тестового сценария с обработкой
исключений и валидацией результатов
○ Понимание алгоритмов на начальном уровне
Навыки продвинутого автоматизатора
● Практические знания
● Работа с CI
● Программирование
● Работа с окружением
● Практики разработки
Навыки продвинутого автоматизатора
● Практические знания
○ Английский (на уровне письменного изложения своих мыслей)
○ Знание основных тестовых фреймворков
○ Продвинутая работа с системой контроля версий. Знание таких
команд как: merge, rebase, работа с ветками, пулл-реквесты.
Навыки продвинутого автоматизатора
● Программирование
○ ООП
○ Продвинутое понимание алгоритмов
○ Принципы организация кода (DRY, SOLID, KISS)
○ Понимание стандартов языка: PHP(PSR), Python (Pythonic, PEP8)
○ Работа с базой данных для генерации тестовых данных
Навыки продвинутого автоматизатора
● Работа с CI:
○ Подключение тестов
○ Сбор результатов
○ Обновление пакетов
○ Оценка покрытия
○ Разница между средами (staging, test, production)
Навыки продвинутого автоматизатора
● Практики разработки:
○ CodeReview
○ Рефакторинг
○ Использование методов статического анализа
Навыки экспертного автоматизатора
● Практики разработки
● CI
● Программирование
Навыки экспертного автоматизатора
● Практики разработки
○ Проектирование
○ Разработка через прототип
Навыки экспертного автоматизатора
● CI:
○ Скрипты накатки
○ Деплой
Навыки экспертного автоматизатора
● Программирование:
○ Функциональное программирование
○ Оптимизация кода
○ Юнит-тесты
○ Расширение покрытия за счет доработки тестируемого
приложения
Разработчик !== автоматизатор?
● Разница между экспертом в автоматизации и
разработчиком не так уж и велика
● Литература и курсы
● Матрица компетенции разработчика (английский)
Разработчик !== автоматизатор?
● Если вы эксперт по тестированию, то попробуйте
себя в создании:
○ блога
○ мобильного приложения
○ разработка админки для базы данных
○ Интернет-магазине
○ Yet another bot for Telegram
Какие фреймворки стоит изучить?
● Платные:
○ TestComplete
○ IBM Rational Test
○ HP Quick Test
● Бесплатные:
○ Codeception
○ Selenide
○ Appium
Что изучать и где получить эти знания?
● Теоретический путь
○ Изучать синтаксис языка
○ Читать блоги
○ Читать книги (список литературы будет в конце доклада)
○ Читать мануалы
○ Изучать другие языки программирования
Что изучать и где получить эти знания?
● Практический путь:
○ Набиванием шишек или личным опытом
○ Выполнять простые упражнения
○ Участвовать в code review
○ Рекомендации опытных коллег
○ Сертификационные центры и сайты (список будет в конце)
○ Инструменты по статическому анализу кода
○ Состоязания (типа hackerrank)
Помехи в обучении
● Отсутствие обратной связи
● Отсутствие умения планировать и приоритезировать задачи
● Плохая концентрация
● Сохранение зоны комфорта
● Страх выглядеть глупо и отказ от смены привычек
● Отсутствие веры в себя
Как практиковаться в обучении
● Разбивайте цель на проекты и задачи
● Честно фиксируйте время. Попробуйте wakatime
● Вкладывайте силы, деньги и время
● Необходимая жертва
Сколько времени нужно на обучение?
● Сократить список обучения до необходимого
● Учитывайте человеческий фактор
● Занятия меньше 3 часов в неделю - не эффективны
● Успех от 5 и более часов в неделю
Про помощь со стороны
● Наставник не гарантирует успех
● Умение тренировать и обучать - отдельный навык
● Сделанная за тебя задача - плохая услуга
● Обратная связь для мотивации
Заключение
Рекомендации
● Преждевременное успокоение
● Личностные качества и образование
● Выделить время
Напутствие
● Эффект Даннинга-Крюгера
● Задействуйте разработчиков
● Вдохновение vs Упорство
● Сделайте первый шаг сегодня
Литература
57 Exercises
For
Programmers
Brian P. Hogan
The Art Of Unit
Testing
Roy Osherove
Continuous
Delivery
Jez Humble
David Farley
Clean Code
Robert C. Martin
Code Complete
2nd Edition
Steve McConnell
Design Patterns
Refactoring
Martin Fowler
Курсы
Курсы
Edx: Курс введение в программирование на Java
Edx: Введение в программирование на Python
Codecademy: https://www.codecademy.com/learn
Codecombat: http://codecombat.com/
Udacity: https://www.udacity.com/
Ссылки на курсы:
Team Tree House: https://teamtreehouse.com/
Udemy: https://www.udemy.com/
Интуит: http://www.intuit.ru/
CheckIo: https://checkio.org/
Сертификация
HackerRank: https://www.hackerrank.com/
LeetCode: https://leetcode.com/
Corp.mail.ru: https://certification.mail.ru/tests/
Спасибо!
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/
Ссылки на опрос:
● Пройти опрос: http://goo.
gl/forms/eVEJIOHXdf7HPlzN2
● Промежуточный результат: https://goo.gl/dNgWbK

More Related Content

What's hot

Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"uransoft
 
Правила отбора: как отобрать правильных тестировщиков в свою команду
Правила отбора: как отобрать правильных тестировщиков в свою командуПравила отбора: как отобрать правильных тестировщиков в свою команду
Правила отбора: как отобрать правильных тестировщиков в свою командуSQALab
 
Ошибки начинающих QQ
Ошибки начинающих QQОшибки начинающих QQ
Ошибки начинающих QQDataArt
 
Как оценить команду тестирования и как направить их развитие в нужное русло
Как оценить команду тестирования и как направить их развитие в нужное руслоКак оценить команду тестирования и как направить их развитие в нужное русло
Как оценить команду тестирования и как направить их развитие в нужное руслоSQALab
 
Как оценить тестировщика
Как оценить тестировщикаКак оценить тестировщика
Как оценить тестировщикаSQALab
 
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017Lviv Startup Club
 
QA-Карта развития
QA-Карта развитияQA-Карта развития
QA-Карта развитияDataArt
 
Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?automated-testing.info
 
ITBrunch: неполиткорректный рассказ про поиск тестировщиков
ITBrunch: неполиткорректный рассказ про поиск тестировщиковITBrunch: неполиткорректный рассказ про поиск тестировщиков
ITBrunch: неполиткорректный рассказ про поиск тестировщиковNatalya Rukol
 
Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20rit2010
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developerDmitriy Neguritsa
 
Работа с командой или командная работа. Советы начинающему тим-лиду
Работа с командой или командная работа. Советы начинающему тим-лидуРабота с командой или командная работа. Советы начинающему тим-лиду
Работа с командой или командная работа. Советы начинающему тим-лидуSQALab
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADDSergey Staroletov
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITGoIT
 
Три инструмента тест-менеджера для работы с людьми
Три инструмента тест-менеджера для работы с людьмиТри инструмента тест-менеджера для работы с людьми
Три инструмента тест-менеджера для работы с людьмиSQALab
 
Ivanova_M_ Kompetencii_testirovshhika
Ivanova_M_ Kompetencii_testirovshhikaIvanova_M_ Kompetencii_testirovshhika
Ivanova_M_ Kompetencii_testirovshhikauransoft
 
Тестируем развитие тестировщика
Тестируем развитие тестировщикаТестируем развитие тестировщика
Тестируем развитие тестировщикаSQALab
 
UAT не для слабаков
UAT не для слабаковUAT не для слабаков
UAT не для слабаковSQALab
 
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированиюМодель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированиюSQALab
 

What's hot (20)

Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"Екатерина Гайнутдинова "Как работает отдел Т?"
Екатерина Гайнутдинова "Как работает отдел Т?"
 
Правила отбора: как отобрать правильных тестировщиков в свою команду
Правила отбора: как отобрать правильных тестировщиков в свою командуПравила отбора: как отобрать правильных тестировщиков в свою команду
Правила отбора: как отобрать правильных тестировщиков в свою команду
 
Ошибки начинающих QQ
Ошибки начинающих QQОшибки начинающих QQ
Ошибки начинающих QQ
 
Как оценить команду тестирования и как направить их развитие в нужное русло
Как оценить команду тестирования и как направить их развитие в нужное руслоКак оценить команду тестирования и как направить их развитие в нужное русло
Как оценить команду тестирования и как направить их развитие в нужное русло
 
Как оценить тестировщика
Как оценить тестировщикаКак оценить тестировщика
Как оценить тестировщика
 
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017
Юлія Коритко - "Топ 10 помилок менеджера" Kharkiv PMDay 2017
 
QA-Карта развития
QA-Карта развитияQA-Карта развития
QA-Карта развития
 
Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?
 
ITBrunch: неполиткорректный рассказ про поиск тестировщиков
ITBrunch: неполиткорректный рассказ про поиск тестировщиковITBrunch: неполиткорректный рассказ про поиск тестировщиков
ITBrunch: неполиткорректный рассказ про поиск тестировщиков
 
Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developer
 
Qa career how to start
Qa career how to startQa career how to start
Qa career how to start
 
Работа с командой или командная работа. Советы начинающему тим-лиду
Работа с командой или командная работа. Советы начинающему тим-лидуРабота с командой или командная работа. Советы начинающему тим-лиду
Работа с командой или командная работа. Советы начинающему тим-лиду
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADD
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
 
Три инструмента тест-менеджера для работы с людьми
Три инструмента тест-менеджера для работы с людьмиТри инструмента тест-менеджера для работы с людьми
Три инструмента тест-менеджера для работы с людьми
 
Ivanova_M_ Kompetencii_testirovshhika
Ivanova_M_ Kompetencii_testirovshhikaIvanova_M_ Kompetencii_testirovshhika
Ivanova_M_ Kompetencii_testirovshhika
 
Тестируем развитие тестировщика
Тестируем развитие тестировщикаТестируем развитие тестировщика
Тестируем развитие тестировщика
 
UAT не для слабаков
UAT не для слабаковUAT не для слабаков
UAT не для слабаков
 
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированиюМодель компетенций в оценке, обучении и развитии специалиста по тестированию
Модель компетенций в оценке, обучении и развитии специалиста по тестированию
 

Viewers also liked

COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY
 
Agile days 2015. Непрерывное качество в непрерывной разработке
Agile days 2015. Непрерывное качество в непрерывной разработкеAgile days 2015. Непрерывное качество в непрерывной разработке
Agile days 2015. Непрерывное качество в непрерывной разработкеMaxim Boguslavsky
 
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.CPAex
 
Как собрать команду мечты
Как собрать команду мечтыКак собрать команду мечты
Как собрать команду мечтыSQALab
 
Как получить и использовать знания о клиентах! Bablometer.ru
Как получить и использовать знания о клиентах!  Bablometer.ruКак получить и использовать знания о клиентах!  Bablometer.ru
Как получить и использовать знания о клиентах! Bablometer.ruRafail Galiev
 
Newsbrands and finance
Newsbrands and financeNewsbrands and finance
Newsbrands and financeNewsworks
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Maxim Shulga
 
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...CA API Management
 
работа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruработа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruYuri Afanasiev
 
Язык программирования PHP
Язык программирования PHPЯзык программирования PHP
Язык программирования PHPVasiliy Gudoshnikov
 
Идеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileИдеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileCodeFest
 
Почему почта не работает
Почему почта не работаетПочему почта не работает
Почему почта не работаетRina Uzhevko
 
Invasion of the Aggregators
Invasion of the AggregatorsInvasion of the Aggregators
Invasion of the AggregatorsMike Teasdale
 
Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!SQALab
 
Внедрение измениений. Рефакторинг Vs реинжиниринг
Внедрение измениений. Рефакторинг Vs реинжинирингВнедрение измениений. Рефакторинг Vs реинжиниринг
Внедрение измениений. Рефакторинг Vs реинжинирингRina Uzhevko
 
Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)NerdWalletHQ
 
Kanban at MoneySupermarket.com
Kanban at MoneySupermarket.comKanban at MoneySupermarket.com
Kanban at MoneySupermarket.comThoughtworks
 
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )setupru
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиковSQALab
 
Измеряя будущее: новые KPI для новых медиа
Измеряя будущее: новые KPI для новых медиаИзмеряя будущее: новые KPI для новых медиа
Измеряя будущее: новые KPI для новых медиаStas Gladkov
 

Viewers also liked (20)

COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
 
Agile days 2015. Непрерывное качество в непрерывной разработке
Agile days 2015. Непрерывное качество в непрерывной разработкеAgile days 2015. Непрерывное качество в непрерывной разработке
Agile days 2015. Непрерывное качество в непрерывной разработке
 
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.
Banki.ru Иван Ильин: Емейл-маркетинг в банковской лидогенерации.
 
Как собрать команду мечты
Как собрать команду мечтыКак собрать команду мечты
Как собрать команду мечты
 
Как получить и использовать знания о клиентах! Bablometer.ru
Как получить и использовать знания о клиентах!  Bablometer.ruКак получить и использовать знания о клиентах!  Bablometer.ru
Как получить и использовать знания о клиентах! Bablometer.ru
 
Newsbrands and finance
Newsbrands and financeNewsbrands and finance
Newsbrands and finance
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы
 
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...
Reduce, Reuse, Recycle: How Moneysupermarket.com Created APIs Without Startin...
 
работа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruработа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ru
 
Язык программирования PHP
Язык программирования PHPЯзык программирования PHP
Язык программирования PHP
 
Идеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до AgileИдеальный тестдизайн: от Цема Канера до Agile
Идеальный тестдизайн: от Цема Канера до Agile
 
Почему почта не работает
Почему почта не работаетПочему почта не работает
Почему почта не работает
 
Invasion of the Aggregators
Invasion of the AggregatorsInvasion of the Aggregators
Invasion of the Aggregators
 
Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!
 
Внедрение измениений. Рефакторинг Vs реинжиниринг
Внедрение измениений. Рефакторинг Vs реинжинирингВнедрение измениений. Рефакторинг Vs реинжиниринг
Внедрение измениений. Рефакторинг Vs реинжиниринг
 
Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)Gobblin @ NerdWallet (Nov 2015)
Gobblin @ NerdWallet (Nov 2015)
 
Kanban at MoneySupermarket.com
Kanban at MoneySupermarket.comKanban at MoneySupermarket.com
Kanban at MoneySupermarket.com
 
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )
Как увеличить конверсию продающего лендинга? (Алексей Пучков, 10.12.2014, )
 
Тренировка служебных тестировщиков
Тренировка служебных тестировщиковТренировка служебных тестировщиков
Тренировка служебных тестировщиков
 
Измеряя будущее: новые KPI для новых медиа
Измеряя будущее: новые KPI для новых медиаИзмеряя будущее: новые KPI для новых медиа
Измеряя будущее: новые KPI для новых медиа
 

Similar to Mail.ru: Как вырастить в себе автоматизатора и разработчика

Наталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиковНаталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиковSPbCoA
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаPavel Veinik
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиковNatalia Zhelnova
 
Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Alexey Rybak
 
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьКак прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьNetpeak
 
Обучение аналитиков - методы и программы
Обучение аналитиков - методы и программыОбучение аналитиков - методы и программы
Обучение аналитиков - методы и программыSQALab
 
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)SEO.UA
 
Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииCEE-SEC(R)
 
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажать
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажатьИнструкция для SEO-специалиста: как расти, зарабатывать больше и не лажать
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажатьNetpeak
 
Формирование технической команды на старте
Формирование технической команды на старте Формирование технической команды на старте
Формирование технической команды на старте Sergey Xek
 
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серыйVladislav Morgun
 
Открытая лекция для студентов МГТУ ГА (декабрь 2013)
Открытая лекция для студентов МГТУ ГА (декабрь 2013)Открытая лекция для студентов МГТУ ГА (декабрь 2013)
Открытая лекция для студентов МГТУ ГА (декабрь 2013)Pavel Melnikov
 
Чеклисты по Seo для максимального результата помним банальное, делаем неожид...
Чеклисты по Seo для максимального результата  помним банальное, делаем неожид...Чеклисты по Seo для максимального результата  помним банальное, делаем неожид...
Чеклисты по Seo для максимального результата помним банальное, делаем неожид...Taras Gushcha
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаMarina Peregud
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена ПрихничLviv Startup Club
 
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії""ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"Lviv Startup Club
 
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...borovoystudio
 

Similar to Mail.ru: Как вырастить в себе автоматизатора и разработчика (20)

Наталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиковНаталья Желнова для ITGM#6. Обучение системных аналитиков
Наталья Желнова для ITGM#6. Обучение системных аналитиков
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Обучение IT-аналитиков
Обучение IT-аналитиковОбучение IT-аналитиков
Обучение IT-аналитиков
 
Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)Про то, что (лекция для студентов об адаптации к работе)
Про то, что (лекция для студентов об адаптации к работе)
 
IT people
IT peopleIT people
IT people
 
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажатьКак прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
Как прийти в сферу SEO без опыта: расти, зарабатывать больше и не лажать
 
Обучение аналитиков - методы и программы
Обучение аналитиков - методы и программыОбучение аналитиков - методы и программы
Обучение аналитиков - методы и программы
 
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)
Проектный менеджмент в Seo или как вести лучше и больше seo проектов (1)
 
Измеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенцииИзмеряем неизмеримое: навыки, знания и компетенции
Измеряем неизмеримое: навыки, знания и компетенции
 
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажать
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажатьИнструкция для SEO-специалиста: как расти, зарабатывать больше и не лажать
Инструкция для SEO-специалиста: как расти, зарабатывать больше и не лажать
 
Формирование технической команды на старте
Формирование технической команды на старте Формирование технической команды на старте
Формирование технической команды на старте
 
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
08.11 SEMPRO Club - Влад Моргун - Цвет настроения серый
 
Открытая лекция для студентов МГТУ ГА (декабрь 2013)
Открытая лекция для студентов МГТУ ГА (декабрь 2013)Открытая лекция для студентов МГТУ ГА (декабрь 2013)
Открытая лекция для студентов МГТУ ГА (декабрь 2013)
 
Чеклисты по Seo для максимального результата помним банальное, делаем неожид...
Чеклисты по Seo для максимального результата  помним банальное, делаем неожид...Чеклисты по Seo для максимального результата  помним банальное, делаем неожид...
Чеклисты по Seo для максимального результата помним банальное, делаем неожид...
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
"Практика переходу з фрілансу в офіс для аутсорсингової компанії" Олена Прихнич
 
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії""ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
"ТОП 3 кроки для швидкого старту кар'єри Project Manager в IT компанії"
 
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 

More from Maxim Boguslavsky

Organization of development from scratch. what to start with--
Organization of development from scratch. what to start with--Organization of development from scratch. what to start with--
Organization of development from scratch. what to start with--Maxim Boguslavsky
 
Доклад об организации процесса разработки с нуля.
Доклад об организации процесса разработки с нуля.Доклад об организации процесса разработки с нуля.
Доклад об организации процесса разработки с нуля.Maxim Boguslavsky
 
Agile days: How to hire QA engineer
Agile days: How to hire QA engineerAgile days: How to hire QA engineer
Agile days: How to hire QA engineerMaxim Boguslavsky
 
AgileDays: Как подбирать инженеров по обеспечению качества.
AgileDays: Как подбирать инженеров по обеспечению качества.AgileDays: Как подбирать инженеров по обеспечению качества.
AgileDays: Как подбирать инженеров по обеспечению качества.Maxim Boguslavsky
 
Mail.ru: Как собрать команду мечты
Mail.ru: Как собрать команду мечтыMail.ru: Как собрать команду мечты
Mail.ru: Как собрать команду мечтыMaxim Boguslavsky
 
Sqa days. Отдел автоматизации DIY
Sqa days. Отдел автоматизации DIYSqa days. Отдел автоматизации DIY
Sqa days. Отдел автоматизации DIYMaxim Boguslavsky
 
Agile kitchen: Управление в трех стихиях
Agile kitchen: Управление в трех стихияхAgile kitchen: Управление в трех стихиях
Agile kitchen: Управление в трех стихияхMaxim Boguslavsky
 
9 релизов в неделю: секрет успеха.
9 релизов в неделю: секрет успеха.9 релизов в неделю: секрет успеха.
9 релизов в неделю: секрет успеха.Maxim Boguslavsky
 

More from Maxim Boguslavsky (8)

Organization of development from scratch. what to start with--
Organization of development from scratch. what to start with--Organization of development from scratch. what to start with--
Organization of development from scratch. what to start with--
 
Доклад об организации процесса разработки с нуля.
Доклад об организации процесса разработки с нуля.Доклад об организации процесса разработки с нуля.
Доклад об организации процесса разработки с нуля.
 
Agile days: How to hire QA engineer
Agile days: How to hire QA engineerAgile days: How to hire QA engineer
Agile days: How to hire QA engineer
 
AgileDays: Как подбирать инженеров по обеспечению качества.
AgileDays: Как подбирать инженеров по обеспечению качества.AgileDays: Как подбирать инженеров по обеспечению качества.
AgileDays: Как подбирать инженеров по обеспечению качества.
 
Mail.ru: Как собрать команду мечты
Mail.ru: Как собрать команду мечтыMail.ru: Как собрать команду мечты
Mail.ru: Как собрать команду мечты
 
Sqa days. Отдел автоматизации DIY
Sqa days. Отдел автоматизации DIYSqa days. Отдел автоматизации DIY
Sqa days. Отдел автоматизации DIY
 
Agile kitchen: Управление в трех стихиях
Agile kitchen: Управление в трех стихияхAgile kitchen: Управление в трех стихиях
Agile kitchen: Управление в трех стихиях
 
9 релизов в неделю: секрет успеха.
9 релизов в неделю: секрет успеха.9 релизов в неделю: секрет успеха.
9 релизов в неделю: секрет успеха.
 

Mail.ru: Как вырастить в себе автоматизатора и разработчика

  • 1. Как вырастить в себе автоматизатора и разработчика Максим Богуславский
  • 2. О себе Опыт тестирования и обеспечения качества 8+ лет. Работал в Акронисе, Люксофте, Иннове, Суперскейпе (Glu). Руководитель отдела обеспечения качества в banki.ru. Занимаюсь руководством, автоматизацией и нагрузочным тестированием.
  • 3. О компании Лидер на рынке информационных услуг о банках, курсах валют банков и обменников, рейтингах банков. Публикуем Народный Рейтинг банков, основанный на отзывах наших пользователей. Нам принадлежат: banki.ru, bankir.ru, finparty.ru, vklad.ru.
  • 4. Об отделе ● 6 человек ● Автоматизируем: ○ Приемочное тестирование ○ Функционально е ● Тестируем админку и интерфейсы ● Смоук-тесты
  • 5. О технологиях ● Php 5.6 >> PHP 7.0 ● Composer + vendor- libs ● Selenium WebDriver
  • 6. О проблеме ● Личный опыт: ○ Преподавал ○ Учился ○ Гумманитарное образование ● Учил и учился с нуля ● Мотивация и границы роста
  • 7. О докладе ● Мотивация ● Опыт нашего отдела не репрезентативен - слишком мало данных, поэтому сделали опрос ● Три группы
  • 9. Обязанности инженера по автоматизации ● Общие навыки работы с кодом ● DevOps практики ● Автоматизация тестирования: ○ Интерфейса ○ Запросами ○ Базы
  • 10. Обязанности инженера по автоматизации: Общие навыки работы с кодом ● Работа с системой контроля версий (например, Git) ● Знание тестовых фреймворков (для php - Codeception) ● Работа с IDE (например, Idea, PHPStorm, PyCharm) ● Работа с данными: ○ Подготовка тестовых данных ○ Создание и обработка отчетов ○ Работа с логами ● Организация кода ● Описание архитектуры
  • 11. Обязанности инженера по автоматизации: DevOps праткики ● Подключение и обновление компонентов ● Непрерывная интеграция ○ Работа с xUnit ○ Сборка тестовой среды ○ Настройка CI: ■ создание и настройка планов ■ Автоматизированная сборка артефактов
  • 13. Обязанности инженера по автоматизации: Автоматизация бэкенд тестирования ● Тестирование базы: ○ Валидация данных ○ Тестирование производительности запросов ● Тестирование запросами: ○ Валидация ответа через схему ○ Проверка времени исполнения
  • 14. Базовые требования для инженера ● Личные качества: ○ Аналитический склад ума ○ Способность видеть систему в целом ○ Усидчивость.
  • 15. Базовые требования для инженера ● Образование: ○ Среди успешных автоматизаторов ¼ людей - это люди без технического образования ○ ⅓ людей с техническим образованием не смогли стать автоматизаторами.
  • 16. Базовые требования для инженера ● Что помешало людям с техническим образованием: ○ Прозанимавшись недостаточно долго они не получили ожидаемый результат и бросили обучение; ○ В процессе обучения они потеряли интерес к обучению автоматизации; ○ Возможно они низко оценили свои результаты и посчитали, что недостигли нужной им цели.
  • 17. Навыки начинающего автоматизатора ● Теоретические знания ● Практические знания ● Навыки работы с кодом ● Программирование
  • 18. Навыки начинающего автоматизатора ● Теоретические знания ○ Понимание основ тестирования ○ Понимание предметной области ○ Булевая алгебра ○ Комбинаторика ○ Теория вероятности ○ Статистика ○ Теория графов
  • 19. Навыки начинающего автоматизатора ● Практические знания ○ Умение декомпозировать задачу ○ Английский (на уровне чтения документации) ○ Знание структуры веб-приложения и умение работать с запросами
  • 20. Навыки начинающего автоматизатора ● Навыки работы с кодом ○ Понимание языка локаторов (для тестов интерфейса) ○ Умение работать с IDE и понимание его достоинств и ограничений ○ Работа с системой контроля версий (commit, add, push, pull). ○ Умение запускать тесты локально
  • 21. Навыки начинающего автоматизатора ● Программирование ○ Базовое владение одним из наиболее популярных языков(JS, Java, Python, PHP и bash/powershell): синтаксис, типы данных, основные операторы, исключения, логирование, input/output ○ Владение процедурным программированием: ■ Линейная автоматизация тестового сценария с обработкой исключений и валидацией результатов ○ Понимание алгоритмов на начальном уровне
  • 22. Навыки продвинутого автоматизатора ● Практические знания ● Работа с CI ● Программирование ● Работа с окружением ● Практики разработки
  • 23. Навыки продвинутого автоматизатора ● Практические знания ○ Английский (на уровне письменного изложения своих мыслей) ○ Знание основных тестовых фреймворков ○ Продвинутая работа с системой контроля версий. Знание таких команд как: merge, rebase, работа с ветками, пулл-реквесты.
  • 24. Навыки продвинутого автоматизатора ● Программирование ○ ООП ○ Продвинутое понимание алгоритмов ○ Принципы организация кода (DRY, SOLID, KISS) ○ Понимание стандартов языка: PHP(PSR), Python (Pythonic, PEP8) ○ Работа с базой данных для генерации тестовых данных
  • 25. Навыки продвинутого автоматизатора ● Работа с CI: ○ Подключение тестов ○ Сбор результатов ○ Обновление пакетов ○ Оценка покрытия ○ Разница между средами (staging, test, production)
  • 26. Навыки продвинутого автоматизатора ● Практики разработки: ○ CodeReview ○ Рефакторинг ○ Использование методов статического анализа
  • 27. Навыки экспертного автоматизатора ● Практики разработки ● CI ● Программирование
  • 28. Навыки экспертного автоматизатора ● Практики разработки ○ Проектирование ○ Разработка через прототип
  • 29. Навыки экспертного автоматизатора ● CI: ○ Скрипты накатки ○ Деплой
  • 30. Навыки экспертного автоматизатора ● Программирование: ○ Функциональное программирование ○ Оптимизация кода ○ Юнит-тесты ○ Расширение покрытия за счет доработки тестируемого приложения
  • 31. Разработчик !== автоматизатор? ● Разница между экспертом в автоматизации и разработчиком не так уж и велика ● Литература и курсы ● Матрица компетенции разработчика (английский)
  • 32. Разработчик !== автоматизатор? ● Если вы эксперт по тестированию, то попробуйте себя в создании: ○ блога ○ мобильного приложения ○ разработка админки для базы данных ○ Интернет-магазине ○ Yet another bot for Telegram
  • 33. Какие фреймворки стоит изучить? ● Платные: ○ TestComplete ○ IBM Rational Test ○ HP Quick Test ● Бесплатные: ○ Codeception ○ Selenide ○ Appium
  • 34. Что изучать и где получить эти знания? ● Теоретический путь ○ Изучать синтаксис языка ○ Читать блоги ○ Читать книги (список литературы будет в конце доклада) ○ Читать мануалы ○ Изучать другие языки программирования
  • 35. Что изучать и где получить эти знания? ● Практический путь: ○ Набиванием шишек или личным опытом ○ Выполнять простые упражнения ○ Участвовать в code review ○ Рекомендации опытных коллег ○ Сертификационные центры и сайты (список будет в конце) ○ Инструменты по статическому анализу кода ○ Состоязания (типа hackerrank)
  • 36. Помехи в обучении ● Отсутствие обратной связи ● Отсутствие умения планировать и приоритезировать задачи ● Плохая концентрация ● Сохранение зоны комфорта ● Страх выглядеть глупо и отказ от смены привычек ● Отсутствие веры в себя
  • 37. Как практиковаться в обучении ● Разбивайте цель на проекты и задачи ● Честно фиксируйте время. Попробуйте wakatime ● Вкладывайте силы, деньги и время ● Необходимая жертва
  • 38. Сколько времени нужно на обучение? ● Сократить список обучения до необходимого ● Учитывайте человеческий фактор ● Занятия меньше 3 часов в неделю - не эффективны ● Успех от 5 и более часов в неделю
  • 39. Про помощь со стороны ● Наставник не гарантирует успех ● Умение тренировать и обучать - отдельный навык ● Сделанная за тебя задача - плохая услуга ● Обратная связь для мотивации
  • 41. Рекомендации ● Преждевременное успокоение ● Личностные качества и образование ● Выделить время
  • 42. Напутствие ● Эффект Даннинга-Крюгера ● Задействуйте разработчиков ● Вдохновение vs Упорство ● Сделайте первый шаг сегодня
  • 45. The Art Of Unit Testing Roy Osherove
  • 52. Курсы Edx: Курс введение в программирование на Java Edx: Введение в программирование на Python Codecademy: https://www.codecademy.com/learn Codecombat: http://codecombat.com/ Udacity: https://www.udacity.com/
  • 53. Ссылки на курсы: Team Tree House: https://teamtreehouse.com/ Udemy: https://www.udemy.com/ Интуит: http://www.intuit.ru/ CheckIo: https://checkio.org/
  • 56. Ссылки на опрос: ● Пройти опрос: http://goo. gl/forms/eVEJIOHXdf7HPlzN2 ● Промежуточный результат: https://goo.gl/dNgWbK