«agile-тестирование по версии api 2ГИС» — Анастасия...

65
Agile-тестирование по версии API 2ГИС

Upload: devday

Post on 30-Nov-2014

676 views

Category:

Documents


4 download

DESCRIPTION

В свое время, когда мы только запускали API, всё было скромно: небольшая команда, комфортные требования, да и бизнес не требовал от нас подвигов. Но всё коренным образом изменилось, когда API разрослось до 30 серверных компонент в трёх датацентрах, а бизнес «порекомендовал» успевать с ответом в 200 мс и выкатывать релизы раз в неделю. На фоне роста проекта, росла команда и остро встали вопросы «как экологично встроить тестирование в большую scrum-команду большого проекта». Мы сфокусировались на трёх важных моментах: Планирование Большая команда → «большое» планирование. Тестирование планируется отдельно или вместе с разработчиками? Нужна ли выделенная роль крайнего за тестирование на проекте? Релиз Нужен ли крайний за релиз и кто отвечает за интеграционные зависимости? Когда надо остановиться и заморозить фичи? Кто и как мониторит продукт после релиза? Автоматизация — наше всё ;) Как не «захлебнуться» в регрессии: unit-тесты, json-схема. Как правильно выбрать фичи для автоматизации и как встроить автоматизацию в процесс тестирования.

TRANSCRIPT

Page 1: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Agile-тестирование по версии

API 2ГИС

Page 2: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Настасья «Горыныч» Огаркова

Ведущий тестировщик Стажёр

2 года в

Page 3: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Справочное API 2ГИС •  Почти 1000 партнёров (Mail.ru,

2GIS.Online…);

•  3 ДЦ: Новосибирск, Москва, Дронтен;

•  700 rps на фронтэнд.

Page 4: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Как встроить тестирование в Scrum-команду?

Page 5: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Идеальный Scrum

Планирование Демо

Page 6: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Реальный Scrum

Планирование

Test

Page 7: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Реальный Scrum

Планирование

1d

Test

Page 8: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum

sp1 sp2

sp1 (test)

Page 9: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Планирование

sp1 sp2

sp1 (test)

Page 10: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

6 часов планируемся планировались

Page 11: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Решение

Свой человек

Page 12: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Решение

Ведущий тестировщик

Page 13: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Ведущий тестировщик

1. Планирование разработчиков

Page 14: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Ведущий тестировщик

1. Планирование разработчиков 2. Согласование ребований, сроков

Page 15: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Ведущий тестировщик

1. Планирование разработчиков 2. Согласование ребований, сроков 3. Планирование тестировщиков

Page 16: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Ведущий тестировщик

1. Планирование разработчиков 2. Согласование ребований, сроков 3. Планирование тестировщиков 4. Взаимодействие с другими командами

Page 17: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Решение

Большие уши

Page 18: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Большие уши

1. Планирование разработчиков в комнате

Page 19: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Большие уши

1. Планирование разработчиков в комнате

2. Тестируем и слушаем

Page 20: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Планирование

sp1 sp2

sp1 (test)

Page 21: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Планирование

sp1 sp2

sp1 (test)

Page 22: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование / Профит

2.5h VS 6h

Page 23: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum

sp1 sp2

sp1 (test)

Page 24: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

sp1 sp2

sp1 (test)

2-3 sp

Работающий Scrum / Тестирование

Page 25: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

3 дня регрессионного тестирования

Page 26: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

Unit Tests

Page 27: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

Unit Tests

Page 28: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Unit Tests

1.  Наколбасил? – Запусти Unit Tests!

Page 29: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Unit Tests

1.  Наколбасил? – Запусти Unit Tests! 2.  Взял задачу в тестирование? – Запусти Unit Tests!

Page 30: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Unit Tests

1.  Наколбасил? → Запусти Unit Tests! 2.  Взял задачу в тестирование? → Запусти Unit Tests!

3.  Регрессируешь? → Запусти Unit Tests!

Page 31: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

Functional AutoTests

Page 32: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

Functional AutoTests

Page 33: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Functional AutoTests

1.  Тесты на новый функционал

Page 34: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Functional AutoTests

1.  Тесты на новый функционал 2.  Каждый спринт пишем тесты

Page 35: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Functional AutoTests

1.  Тесты на новый функционал 2.  Каждый спринт пишем тесты 3.  Тесты на найденные ошибки

Page 36: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

JSON Schema http://habrahabr.ru/company/2gis/blog/186768/

Page 37: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Решение

Автодокументация автотестов

PHPDoc

Page 38: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Автодокументация

Формат описания

•  Заголовок (идея тест-кейса); •  Шаги воспроизведения; •  Проверки (ожидаемый результат); •  Дополнительная информация (автор, дата).

Page 39: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

/** * StationSearch. Единовременное использование

*project и where * * 1. Получаем некорретное значение с помощью метода

*getIncorrectValues и запоминаем его * 2. Параметру where присваиваем некорректное * значение из п.1 * 3. Делаем запрос * 4. Проверяем значения полей, содержащихся в ответе: * a. версия API равна указанной в запросе; * b. код отевета = 400; * * @author Ogarkova Anastasia <[email protected]> * @since 26.03.2012 */

Page 40: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС
Page 41: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Резюме

•  Unit Tests; •  Functional AutoTests; •  Автоматизация тестирования документации; •  Автоматизация внутренней документации.

Page 42: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Тестирование

sp1 sp2

sp1 (test)

2-3 sp

Page 43: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

sp1 sp2

sp1 (test)

Работающий Scrum / Тестирование

Page 44: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование / Профит

3h VS 3d регрессионного тестирования

Page 45: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum

sp1 sp2

sp1 (test)

Page 46: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

1 → 3 дата-центра 2 → 11 нод 3 часа приёмки →

Page 47: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Релиз

sp1 sp2

sp1 (test)

Page 48: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

15 часов — приёмка релиза

Page 49: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

sp1 sp2

sp1 (test)

2-3 sp

Page 50: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Решение

Smoke AutoTests

Page 51: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Решение

Релиз-тестировщик

Page 52: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Релиз-тестировщик

1. Подготовка релиза

Page 53: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Релиз-тестировщик

1. Подготовка релиза 2. Процесс релиза

Page 54: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Релиз-тестировщик

1. Подготовка релиза 2. Процесс релиза 3. Мониторинг боя

Page 55: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Мониторинг боя

Page 56: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Мониторинг боя

Page 57: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Мониторинг боя

Page 58: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Работающий Scrum / Релиз

sp1 sp2

sp1 (test)

2-3 sp

Page 59: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

sp1 sp2

sp1 (test)

Работающий Scrum / Релиз

Page 60: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Приёмка релиза / Профит

3h VS 15h

Page 61: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Планирование

•  Отдельное планирование тестировщиков

•  Свой человек на планировании разработчиков

•  Тестировать и слушать

Ещё раз...

Page 62: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Тестирование

•  Unit Tests •  Functional AutoTests •  Автоматизация тестирования документации

•  Автоматизация внутренней документации

Ещё раз...

Page 63: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Релиз •  Автоматизация Smoke-тестов

•  Релиз-тестировщик

Ещё раз...

Page 64: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Роли •  Ведущий тестировщик •  Релиз-тестировщик •  Тестировщик

Page 65: «Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС

Всё!

Спасибо за внимание! Вопросы?

[email protected] @gorynych3003