SlideShare a Scribd company logo
1 of 23
Download to read offline
Как создать команду по
автоматизации
тестирования
О докладчике
Чуфырина Наталья
Ведущий инженер по автоматизации тестирования
в Mail.ru Group с 2012 года
- Автоматизированное тестирование web приложений
- Обучение разработке автотестов
- Тест дизайн и тест аналитика
- Менеджмент тестирования
Как обычно представляют автоматизатора?
- опыт разработки
- знание нескольких языков программирования
- объектно ориентированное
программирование
- администрирование Linux
Что мы часто имеем?
- уверенное владение
компьютером
- выполнение лабораторных
работ в инcтитуте на С/С++
- знание Windows
Будет рассказано:
- как отбирать рекрутов автоматизации
- о первичном пороге для вхождения в рекруты
- о составлении учебной программы
- о промежуточном контроле и испытаниях
- о начале работы над реальными проектами
- о подводных камнях и ошибках, которые можно
допустить
Отбор рекрутов
1. Опрос коллег
- на наличие желающих автоматизировать
- сколько времени готовы уделять желающие
на обучение
- есть ли навыки программирования
2. Автоматизация - как вариант развития,
новые, интересные задачи и т.п.
3. Автоматизация - как цель, достижение
которой повышает ценность сотрудника,
квалификацию и др.
Отбор рекрутов
И все таки лучший фактор - ЖЕЛАНИЕ УЧИТЬСЯ!
Критерии вхождения в рекруты
Основные критерии:
1. Быть тестировщиком :)
2. Желание учиться, развиваться
3. Наличие свободного времени
(от 8 часов в неделю)
4. Умение доводить дело до конца
5. Наличие желания стать
автоматизатором
Учебная программа
Выбираем основные инструменты, которые должен знать инженер по автоматизации:
1. Maven
2. Junit
3. XPath & CSS
4. Selenium
5. Page Object
6. Git
7. Serenity
или другой фреймворк
Тема 1. Система сборки проектов
Apache Maven — фреймворк для автоматизации сборки проектов
на основе описания их структуры в файлах на языке POM (англ. Project Object Model)
На обучении разбирается:
1. Что такое pom.xml
2. Корневой элемент и заголовок
3. Зависимости
4. Стандартная структура катологов
5. Локальный, центральный и внутренний репозитории
6. Жизненный цикл сборки
7. Основные фазы сборки проекта
Тема 2. JUnit
JUnit - библиотека для модульного тестирования программного обеспечения на языке Java.
Основные аннотации:
1. @Before и @After
2. @BeforeClass и @AfterClass
3. @Test обозначает тестовые методы
У данной аннотации есть два параметра
- expected — задает ожидаемое исключение
- timeout — по истечению тест считается провалившимся
Тема 2. JUnit
Проверки JUnit выполняются с помощью класса Assert из библиотеки JUnit.
Например :
Assert.assertTrue(4 == 2 + 2);
Assert.assertFalse(5 == 2 + 2);
Assert.assertEquals(4, 2 + 2);
Assert.assertNotEquals(4, 2 + 1);
Тема 3. Локаторы
Локатор - это строка, уникально идентифицирующая элемент веб-страницы.
С помощью локаторов Selenium понимает с каким веб элементом производить действие
Абсолютный путь
VS
Относительный путь
Тема 3. Локаторы
Один из важнейших навыков автоматизатора - умение пользоваться локаторами.
Типы локаторов:
- id
- name
- link
- xpath
- css
Тема 4. Selenium
- Создание проекта Maven + Junit + Selenium
- Разработка первого простейшего теста
- Ознакомление с основными методами
Тема 4. Selenium
Основные методы WebDriver - абстракция браузера
- инициализация драйвера и запуск браузера
WebDriver driver = new FirefoxDriver()
- открытие страниц
driver.get("https://mail.ru")
- остановка работы драйвера
driver.close();
driver.quit();
Тема 4. Selenium
Основные методы WebElement - абстракция отдельного элемента страницы
- click
element.click()
- sendkeys
element.sendKeys(“text”)
- получение свойств
String elementText = element.getText()
String elementRef = element.getAttribute("href")
Тема 5. Page Object
Изучаем шаблон проектирования тестов
1. Позволяет разделять логику выполнения тестов от их реализации
2. Моделирует страницы тестируемого приложения в качестве объектов в коде
3. В результате его использования получаются отдельные классы, отвечающие за работу
с каждой конкретной веб-страницей.
Тема 5. Page Object
Изучаем основной принцип:
1. Класс PageObject не обязательно должен представлять собой всю страницу.
Он может быть частью страницы, которая часто используется на сайте (или даже на
одной странице). Это может быть, например, пагинатор или меню.
2. Основной принцип состоит в том, что есть только один класс в Вашем проекте,
который знает о структуре HTML конкретной страницы или ее части.
Тема 6. Git
Система контроля версий (Version Control System, VCS) — это система, регистрирующая
изменения в файлах, чтобы в дальнейшем была возможность вернуться к определённым
старым версиям этих файлов.
Изучаем команды необходимые для работы:
git clone — создание копии (удаленного) репозитория
git init — создание репозитория
git add и git rm — индексация изменений
git status — состояние проекта, измененные и не добавленные файлы
git commit — совершение коммита
git fetch и git pull — забираем изменения из центрального репозитория
git push — вносим изменения в удаленный репозиторий
Тема 6. Git
Изучаем ветвление и принципы работы с ветками:
git branch — создание, перечисление и удаление веток
git checkout — переключение между ветками, извлечение файлов
git merge — слияние веток (разрешение возможных конфликтов)
Подводные камни
1. Обучение не заинтересованных сотрудников = неэффективная трата времени
учащегося и преподавателя
2. Затягивание сроков выполнения работ = непродуктивное обучение
3. Сложная подача материала = отсутствие понимания материала, потеря интереса
В основном на результативность образовательного процесса влияет заинтересованность.
Обучение будет эффективным, если у него есть цель. Обучение автоматизации для
расширения кругозора, без цели заниматься разработкой - трата ресурсов.
Реальные проекты и работа в команде
Во время обучения:
- простые примеры по реальным кейсам
- домашнее задание по реальным кейсам
- помощь в выполнении домашних проектов
- консультации по любым вопросам
- ревью домашних заданий
После обучения:
- простые задачи в реальном проекте
- постепенное усложнение задач
- общий чат для решения вопросов
- взаимопомощь при трудностях
В результате:
- дружная команда, способная совместно решить любую задачу
- взаимозаменяемость, благодаря практике деления опытом
Спасибо за внимание!
Если у вас остались вопросы, мои контакты для связи:
email - n.seregina@corp.mail.ru
skype - timestampx

More Related Content

What's hot

Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
Igor Khrol
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
Igor Khrol
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нт
Alexei Lupan
 

What's hot (20)

Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем суть
 
Severity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятноеSeverity и Priority для неначинающих: очевидное и невероятное
Severity и Priority для неначинающих: очевидное и невероятное
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
Тестирование инсталляторов
Тестирование инсталляторовТестирование инсталляторов
Тестирование инсталляторов
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
 
ковалев нестандатное нт
ковалев    нестандатное нтковалев    нестандатное нт
ковалев нестандатное нт
 
Автоматическое тестирование Web api
Автоматическое тестирование Web apiАвтоматическое тестирование Web api
Автоматическое тестирование Web api
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?
 
План тестирования
План тестированияПлан тестирования
План тестирования
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
 
Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...
Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...
Кирилл Черятов. Эволюция системы логирования интеграционного ПО. Сокращаем вр...
 

Viewers also liked

Точки роста и тренды будущего в таргетированной рекламе
Точки роста и тренды будущего в таргетированной рекламеТочки роста и тренды будущего в таргетированной рекламе
Точки роста и тренды будущего в таргетированной рекламе
Hiconversion
 
Новые инструменты и тренды таргетированной рекламы
Новые инструменты и тренды таргетированной рекламыНовые инструменты и тренды таргетированной рекламы
Новые инструменты и тренды таргетированной рекламы
New Media
 
Мастер-класс по таргетированной рекламы от myTarget
 Мастер-класс по таргетированной рекламы от myTarget Мастер-класс по таргетированной рекламы от myTarget
Мастер-класс по таргетированной рекламы от myTarget
New Media
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
qasib
 

Viewers also liked (20)

Никита Макаров, Одноклассники, «API, Облака и зачем это все тестировщику»
Никита Макаров, Одноклассники, «API, Облака и зачем это все тестировщику»Никита Макаров, Одноклассники, «API, Облака и зачем это все тестировщику»
Никита Макаров, Одноклассники, «API, Облака и зачем это все тестировщику»
 
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
 
Александр Дьяконов, ВМК МГУ, Решение задачи Search Results Relevance (на плат...
Александр Дьяконов, ВМК МГУ, Решение задачи Search Results Relevance (на плат...Александр Дьяконов, ВМК МГУ, Решение задачи Search Results Relevance (на плат...
Александр Дьяконов, ВМК МГУ, Решение задачи Search Results Relevance (на плат...
 
Кейсы
КейсыКейсы
Кейсы
 
Михаил Фролов - Конверсия в социальных сетях и продажа эмоций - Fotostrana.ru
Михаил Фролов - Конверсия в социальных сетях и продажа эмоций - Fotostrana.ruМихаил Фролов - Конверсия в социальных сетях и продажа эмоций - Fotostrana.ru
Михаил Фролов - Конверсия в социальных сетях и продажа эмоций - Fotostrana.ru
 
Точки роста и тренды будущего в таргетированной рекламе
Точки роста и тренды будущего в таргетированной рекламеТочки роста и тренды будущего в таргетированной рекламе
Точки роста и тренды будущего в таргетированной рекламе
 
Кейс: X5 Retail Group - поддержка премиум-класса в социальных медиа
Кейс: X5 Retail Group - поддержка премиум-класса в социальных медиаКейс: X5 Retail Group - поддержка премиум-класса в социальных медиа
Кейс: X5 Retail Group - поддержка премиум-класса в социальных медиа
 
Как готовить аудиторные сегменты: все смешать, но не взбалтывать!
Как готовить аудиторные сегменты: все смешать, но не взбалтывать!Как готовить аудиторные сегменты: все смешать, но не взбалтывать!
Как готовить аудиторные сегменты: все смешать, но не взбалтывать!
 
Iab weborama rbc
Iab weborama rbcIab weborama rbc
Iab weborama rbc
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Новые инструменты и тренды таргетированной рекламы
Новые инструменты и тренды таргетированной рекламыНовые инструменты и тренды таргетированной рекламы
Новые инструменты и тренды таргетированной рекламы
 
Мастер-класс по таргетированной рекламы от myTarget
 Мастер-класс по таргетированной рекламы от myTarget Мастер-класс по таргетированной рекламы от myTarget
Мастер-класс по таргетированной рекламы от myTarget
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
 
Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"Кейс ArrowMedia: "Результативность от инструмента к инструменту"
Кейс ArrowMedia: "Результативность от инструмента к инструменту"
 
Кейс ArrowMedia строительство домов
Кейс ArrowMedia строительство домовКейс ArrowMedia строительство домов
Кейс ArrowMedia строительство домов
 
Programmatic Buying на всех этапах воронки продаж
Programmatic Buying на всех этапах воронки продажProgrammatic Buying на всех этапах воронки продаж
Programmatic Buying на всех этапах воронки продаж
 
«Coro. Intro» Евгений Вансевич, программист Почты Mail.Ru
«Coro. Intro» Евгений Вансевич, программист Почты Mail.Ru«Coro. Intro» Евгений Вансевич, программист Почты Mail.Ru
«Coro. Intro» Евгений Вансевич, программист Почты Mail.Ru
 
TargetSummit Moscow 2016 | Case study for smart campaigns optimization and pr...
TargetSummit Moscow 2016 | Case study for smart campaigns optimization and pr...TargetSummit Moscow 2016 | Case study for smart campaigns optimization and pr...
TargetSummit Moscow 2016 | Case study for smart campaigns optimization and pr...
 
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
 
«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков
 

Similar to Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестирования»

«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
MDDay_4
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
jazzteam
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
solit
 
TestLink
TestLinkTestLink
TestLink
ISsoft
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
SQALab
 

Similar to Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестирования» (20)

Testing with Selenium
Testing with SeleniumTesting with Selenium
Testing with Selenium
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко АлексейSolit 2013, Эволюция тестирования на Selenium, Мычко Алексей
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
TestLink
TestLinkTestLink
TestLink
 
Вадим Зубович - Test Link
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test Link
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...
 
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...
 
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 

More from Mail.ru Group

AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
Mail.ru Group
 

More from Mail.ru Group (20)

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
 

Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестирования»

  • 1. Как создать команду по автоматизации тестирования
  • 2. О докладчике Чуфырина Наталья Ведущий инженер по автоматизации тестирования в Mail.ru Group с 2012 года - Автоматизированное тестирование web приложений - Обучение разработке автотестов - Тест дизайн и тест аналитика - Менеджмент тестирования
  • 3. Как обычно представляют автоматизатора? - опыт разработки - знание нескольких языков программирования - объектно ориентированное программирование - администрирование Linux Что мы часто имеем? - уверенное владение компьютером - выполнение лабораторных работ в инcтитуте на С/С++ - знание Windows
  • 4. Будет рассказано: - как отбирать рекрутов автоматизации - о первичном пороге для вхождения в рекруты - о составлении учебной программы - о промежуточном контроле и испытаниях - о начале работы над реальными проектами - о подводных камнях и ошибках, которые можно допустить
  • 5. Отбор рекрутов 1. Опрос коллег - на наличие желающих автоматизировать - сколько времени готовы уделять желающие на обучение - есть ли навыки программирования 2. Автоматизация - как вариант развития, новые, интересные задачи и т.п. 3. Автоматизация - как цель, достижение которой повышает ценность сотрудника, квалификацию и др.
  • 6. Отбор рекрутов И все таки лучший фактор - ЖЕЛАНИЕ УЧИТЬСЯ!
  • 7. Критерии вхождения в рекруты Основные критерии: 1. Быть тестировщиком :) 2. Желание учиться, развиваться 3. Наличие свободного времени (от 8 часов в неделю) 4. Умение доводить дело до конца 5. Наличие желания стать автоматизатором
  • 8. Учебная программа Выбираем основные инструменты, которые должен знать инженер по автоматизации: 1. Maven 2. Junit 3. XPath & CSS 4. Selenium 5. Page Object 6. Git 7. Serenity или другой фреймворк
  • 9. Тема 1. Система сборки проектов Apache Maven — фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM (англ. Project Object Model) На обучении разбирается: 1. Что такое pom.xml 2. Корневой элемент и заголовок 3. Зависимости 4. Стандартная структура катологов 5. Локальный, центральный и внутренний репозитории 6. Жизненный цикл сборки 7. Основные фазы сборки проекта
  • 10. Тема 2. JUnit JUnit - библиотека для модульного тестирования программного обеспечения на языке Java. Основные аннотации: 1. @Before и @After 2. @BeforeClass и @AfterClass 3. @Test обозначает тестовые методы У данной аннотации есть два параметра - expected — задает ожидаемое исключение - timeout — по истечению тест считается провалившимся
  • 11. Тема 2. JUnit Проверки JUnit выполняются с помощью класса Assert из библиотеки JUnit. Например : Assert.assertTrue(4 == 2 + 2); Assert.assertFalse(5 == 2 + 2); Assert.assertEquals(4, 2 + 2); Assert.assertNotEquals(4, 2 + 1);
  • 12. Тема 3. Локаторы Локатор - это строка, уникально идентифицирующая элемент веб-страницы. С помощью локаторов Selenium понимает с каким веб элементом производить действие Абсолютный путь VS Относительный путь
  • 13. Тема 3. Локаторы Один из важнейших навыков автоматизатора - умение пользоваться локаторами. Типы локаторов: - id - name - link - xpath - css
  • 14. Тема 4. Selenium - Создание проекта Maven + Junit + Selenium - Разработка первого простейшего теста - Ознакомление с основными методами
  • 15. Тема 4. Selenium Основные методы WebDriver - абстракция браузера - инициализация драйвера и запуск браузера WebDriver driver = new FirefoxDriver() - открытие страниц driver.get("https://mail.ru") - остановка работы драйвера driver.close(); driver.quit();
  • 16. Тема 4. Selenium Основные методы WebElement - абстракция отдельного элемента страницы - click element.click() - sendkeys element.sendKeys(“text”) - получение свойств String elementText = element.getText() String elementRef = element.getAttribute("href")
  • 17. Тема 5. Page Object Изучаем шаблон проектирования тестов 1. Позволяет разделять логику выполнения тестов от их реализации 2. Моделирует страницы тестируемого приложения в качестве объектов в коде 3. В результате его использования получаются отдельные классы, отвечающие за работу с каждой конкретной веб-страницей.
  • 18. Тема 5. Page Object Изучаем основной принцип: 1. Класс PageObject не обязательно должен представлять собой всю страницу. Он может быть частью страницы, которая часто используется на сайте (или даже на одной странице). Это может быть, например, пагинатор или меню. 2. Основной принцип состоит в том, что есть только один класс в Вашем проекте, который знает о структуре HTML конкретной страницы или ее части.
  • 19. Тема 6. Git Система контроля версий (Version Control System, VCS) — это система, регистрирующая изменения в файлах, чтобы в дальнейшем была возможность вернуться к определённым старым версиям этих файлов. Изучаем команды необходимые для работы: git clone — создание копии (удаленного) репозитория git init — создание репозитория git add и git rm — индексация изменений git status — состояние проекта, измененные и не добавленные файлы git commit — совершение коммита git fetch и git pull — забираем изменения из центрального репозитория git push — вносим изменения в удаленный репозиторий
  • 20. Тема 6. Git Изучаем ветвление и принципы работы с ветками: git branch — создание, перечисление и удаление веток git checkout — переключение между ветками, извлечение файлов git merge — слияние веток (разрешение возможных конфликтов)
  • 21. Подводные камни 1. Обучение не заинтересованных сотрудников = неэффективная трата времени учащегося и преподавателя 2. Затягивание сроков выполнения работ = непродуктивное обучение 3. Сложная подача материала = отсутствие понимания материала, потеря интереса В основном на результативность образовательного процесса влияет заинтересованность. Обучение будет эффективным, если у него есть цель. Обучение автоматизации для расширения кругозора, без цели заниматься разработкой - трата ресурсов.
  • 22. Реальные проекты и работа в команде Во время обучения: - простые примеры по реальным кейсам - домашнее задание по реальным кейсам - помощь в выполнении домашних проектов - консультации по любым вопросам - ревью домашних заданий После обучения: - простые задачи в реальном проекте - постепенное усложнение задач - общий чат для решения вопросов - взаимопомощь при трудностях В результате: - дружная команда, способная совместно решить любую задачу - взаимозаменяемость, благодаря практике деления опытом
  • 23. Спасибо за внимание! Если у вас остались вопросы, мои контакты для связи: email - n.seregina@corp.mail.ru skype - timestampx