42
Сташевский Паша [Управляя автоматизацией тестирования]

Управляя автоматизацией тестирования

Embed Size (px)

DESCRIPTION

Мой доклад на конференции "Российские интернет-технологии" про то, как мы внедряем автоматизацию тестирования на проектах в 2ГИС.

Citation preview

Page 1: Управляя автоматизацией тестирования

Сташевский Паша

[Управляя автоматизацией тестирования]

Page 2: Управляя автоматизацией тестирования

➔ 6 лет в тестировании (почти)

➔ По образованию:

программист,

системный аналитик

➔ Крайний за автоматизацию

тестирования в 2ГИС

Обо мне

Page 3: Управляя автоматизацией тестирования

[Автоматизация тестирования]

? ? ?

Page 4: Управляя автоматизацией тестирования

[Автоматизация тестирования]

Люди ? ?

Page 5: Управляя автоматизацией тестирования

[Автоматизация тестирования]

ПроцессыЛюди ?

Page 6: Управляя автоматизацией тестирования

[Автоматизация тестирования]

Процессы ИнструментыЛюди

Page 7: Управляя автоматизацией тестирования
Page 8: Управляя автоматизацией тестирования

[Кадры]➔ Их просто нет!

➔ Какой специалист должен заниматься автоматизацией тестирования?

Page 9: Управляя автоматизацией тестирования

[Кадры]➔ Их просто нет!

➔ Какой специалист должен заниматься автоматизацией тестирования?

➔ Зачем нам это нужно?

➔ Не хватает времени на тесты

➔ «Красные» сборки

[Процессы]

Page 10: Управляя автоматизацией тестирования

[Кадры]➔ Их просто нет!

➔ Какой специалист должен заниматься автоматизацией тестирования?

➔ Зачем нам это нужно?

➔ Не хватает времени на тесты

➔ «Красные» сборки

[Процессы]

[Технологии]➔ Плохое тестабилити продукта

➔ Нет подходящих инструментов для автоматизации тестирования

Page 11: Управляя автоматизацией тестирования

[Как организовать?]

Page 12: Управляя автоматизацией тестирования

[Online 2gis] [Web API]

[Мобильный грым]

[Грым]

[InfoRussia]

[ERM]

[Geomaster]

[Maps API]

Page 13: Управляя автоматизацией тестирования

[Online 2gis] [Web API]

[Мобильный грым]

[Грым]

[InfoRussia]

[ERM]

[Geomaster]

[Maps API]

Сервисная командаȅȚȖ�șȍȘȊȐș"ǬȈ��ȥȚȖ�șȍȘȊȐș�

�� ȖȚȌȍȓȤȕȈȧ�ȒȖȔȈȕȌȈ�� Ȋșȍ��ȗȖȟȚȐ��ȕȈȗȘȈȊȓȍȕȐȧ�Ȑ�

ȗȘȖȍȒȚȣ�� șȊȖȑ�șȒȘȈȔ��ȕȖ��

Page 14: Управляя автоматизацией тестирования

➔ Распространение знаний и инженерной культуры

➔ Поддержка продуктовых команд

➔ Можно переиспользовать опыт и инструменты

➔ Поддержка стандартов и качества тестов

Зачем?

Page 15: Управляя автоматизацией тестирования

[Online 2gis] [Web API]

[Mobile 2gis]

[PC 2gis]

[InfoRussia]

[ERM]

[Geomaster]

[Maps API]

[Как работать с проектами?]

Page 16: Управляя автоматизацией тестирования

1

[Поставьте цель]

Page 17: Управляя автоматизацией тестирования

➔ Выбираем срок

➔ Неделя

➔ Месяц

➔ Год

➔ Обозначаем цель

➔ Смоук-тестирование

➔ Регрессия

➔ Исследование приложения

Как ставить цель?

Page 18: Управляя автоматизацией тестирования

2

[Анализируйте приложение]

Page 19: Управляя автоматизацией тестирования

➔ Функционал и приоритеты

➔ Технологии и тестабилити

➔ Стратегия автоматизации тестирования

Анализируем приложение

Page 20: Управляя автоматизацией тестирования

Стратегия АТ

C#

[Функционал с приоритетами]

[Тестовое окружение]

[Технологии и тестабилити]

Page 21: Управляя автоматизацией тестирования

Стратегия АТ

C#

[Функционал с приоритетами]

[Тестовое окружение]

[Технологии и тестабилити]

[Цель АТ]

Page 22: Управляя автоматизацией тестирования

3[Исследуйте инструменты]

Page 23: Управляя автоматизацией тестирования

Выбрать готовый 1

Page 24: Управляя автоматизацией тестирования

Выбрать готовый

Дописать существующий

1

2

Page 25: Управляя автоматизацией тестирования

Выбрать готовый

Дописать существующий

Написать свой

1

2

3

Page 26: Управляя автоматизацией тестирования

➔ Единый стек технологий

➔ Делаем сразу для нескольких проектов

➔ Выкладываем в Open Source

Как мы подходим к инструментам

Page 27: Управляя автоматизацией тестирования

Cruciatus

[Фреймворк для тестирования WPF-приложений]

-+ https://github.com/2gis/cruciatus

Page 28: Управляя автоматизацией тестирования

WinphoneDriver

[Инструмент для тестирования приложений WinPhone 8.0+]

-+ Скоро:)

Page 29: Управляя автоматизацией тестирования

QtwebkitDriver

[Инструмент для qt_webkit приложения]

-+ https://github.com/2gis/qtwebkitdriver

Page 30: Управляя автоматизацией тестирования

4

[Пишем тесты]

Page 31: Управляя автоматизацией тестирования

О чем думать, когда пишешь тесты

[Что я пишу]

[Как я это пишу]

Page 32: Управляя автоматизацией тестирования

Архитектура

Подходы

О чем думать, когда пишешь тесты

[Что я пишу]

[Как я это пишу]

Page 33: Управляя автоматизацией тестирования

В 2ГИС

➔ Проектный тестировщик

➔ Пишет большую часть тестов, так как знает продукт

➔ Следит за актуальностью

➔ Специалист по автоматизации тестирования

➔ Прорабатывает подходы и архитектуру

➔ Помогает написать «стартовый пакет» тестов

Page 34: Управляя автоматизацией тестирования

5

[Поддерживаем процесс]

Page 35: Управляя автоматизацией тестирования

➔ Запускаем (Continuous integration)

➔ Поддерживаем старые тесты

➔ Пишем новые

➔ Следим за качеством тестов:

➔ подходы

➔ архитектура

Что значит поддерживаем?

Page 36: Управляя автоматизацией тестирования

Cамый главный слайд

[Люди] [Процессы] [Инструменты]

Page 37: Управляя автоматизацией тестирования

1. [Ставим цель]

Page 38: Управляя автоматизацией тестирования

2. [Анализируем приложение]

1. [Ставим цель]

Page 39: Управляя автоматизацией тестирования

3. [Выбираем инструмент]

2. [Анализируем приложение]

1. [Ставим цель]

Page 40: Управляя автоматизацией тестирования

4. [Пишем тесты]

3. [Выбираем инструмент]

2. [Анализируем приложение]

1. [Ставим цель]

Page 41: Управляя автоматизацией тестирования

5. [Поддерживаем процесс]

4. [Пишем тесты]

3. [Выбираем инструмент]

2. [Анализируем приложение]

1. [Ставим цель]

Page 42: Управляя автоматизацией тестирования

Сташевский Павел

@paulstashevsky [email protected]