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

686 views
576 views

Published on

В свое время, когда мы только запускали API, всё было скромно: небольшая команда, комфортные требования, да и бизнес не требовал от нас подвигов. Но всё коренным образом изменилось, когда API разрослось до 30 серверных компонент в трёх датацентрах, а бизнес «порекомендовал» успевать с ответом в 200 мс и выкатывать релизы раз в неделю. На фоне роста проекта, росла команда и остро встали вопросы «как экологично встроить тестирование в большую scrum-команду большого проекта».

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
686
On SlideShare
0
From Embeds
0
Number of Embeds
236
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Agile-тестирование по версии API 2ГИС
  2. 2. Настасья «Горыныч» Огаркова Ведущий тестировщикСтажёр 2 года в
  3. 3. Справочное API 2ГИС •  Почти 1000 партнёров (Mail.ru, 2GIS.Online…); •  3 ДЦ: Новосибирск, Москва, Дронтен; •  700 rps на фронтэнд.
  4. 4. Как встроить тестирование в Scrum-команду?
  5. 5. Идеальный Scrum Планирование Демо
  6. 6. Реальный Scrum Планирование Test
  7. 7. Реальный Scrum Планирование 1d Test
  8. 8. Работающий Scrum sp1 sp2 sp1 (test)
  9. 9. Работающий Scrum / Планирование sp1 sp2 sp1 (test)
  10. 10. 6 часов планируемся планировались
  11. 11. Планирование / Решение Свой человек
  12. 12. Планирование / Решение Ведущий тестировщик
  13. 13. Планирование / Ведущий тестировщик 1. Планирование разработчиков
  14. 14. Планирование / Ведущий тестировщик 1. Планирование разработчиков 2. Согласование ребований, сроков
  15. 15. Планирование / Ведущий тестировщик 1. Планирование разработчиков 2. Согласование ребований, сроков 3. Планирование тестировщиков
  16. 16. Планирование / Ведущий тестировщик 1. Планирование разработчиков 2. Согласование ребований, сроков 3. Планирование тестировщиков 4. Взаимодействие с другими командами
  17. 17. Планирование / Решение Большие уши
  18. 18. Планирование / Большие уши 1. Планирование разработчиков в комнате
  19. 19. Планирование / Большие уши 1. Планирование разработчиков в комнате 2. Тестируем и слушаем
  20. 20. Работающий Scrum / Планирование sp1 sp2 sp1 (test)
  21. 21. Работающий Scrum / Планирование sp1 sp2 sp1 (test)
  22. 22. Планирование / Профит 2.5h VS 6h
  23. 23. Работающий Scrum sp1 sp2 sp1 (test)
  24. 24. sp1 sp2 sp1 (test) 2-3 sp Работающий Scrum / Тестирование
  25. 25. 3 дня регрессионного тестирования
  26. 26. Тестирование / Решение Unit Tests
  27. 27. Тестирование / Решение Unit Tests
  28. 28. Тестирование / Unit Tests 1.  Наколбасил? – Запусти Unit Tests!
  29. 29. Тестирование / Unit Tests 1.  Наколбасил? – Запусти Unit Tests! 2.  Взял задачу в тестирование? – Запусти Unit Tests!
  30. 30. Тестирование / Unit Tests 1.  Наколбасил? → Запусти Unit Tests! 2.  Взял задачу в тестирование? → Запусти Unit Tests! 3.  Регрессируешь? → Запусти Unit Tests!
  31. 31. Тестирование / Решение Functional AutoTests
  32. 32. Тестирование / Решение Functional AutoTests
  33. 33. Тестирование / Functional AutoTests 1.  Тесты на новый функционал
  34. 34. Тестирование / Functional AutoTests 1.  Тесты на новый функционал 2.  Каждый спринт пишем тесты
  35. 35. Тестирование / Functional AutoTests 1.  Тесты на новый функционал 2.  Каждый спринт пишем тесты 3.  Тесты на найденные ошибки
  36. 36. Тестирование / Решение JSON Schema http://habrahabr.ru/company/2gis/blog/186768/
  37. 37. Тестирование / Решение Автодокументация автотестов PHPDoc
  38. 38. Тестирование / Автодокументация Формат описания • Заголовок (идея тест-кейса); • Шаги воспроизведения; • Проверки (ожидаемый результат); • Дополнительная информация (автор, дата).
  39. 39. /** * StationSearch. Единовременное использование *project и where * * 1. Получаем некорретное значение с помощью метода *getIncorrectValues и запоминаем его * 2. Параметру where присваиваем некорректное * значение из п.1 * 3. Делаем запрос * 4. Проверяем значения полей, содержащихся в ответе: * a. версия API равна указанной в запросе; * b. код отевета = 400; * * @author Ogarkova Anastasia <a.ogarkova@2gis.ru> * @since 26.03.2012 */
  40. 40. Тестирование / Резюме • Unit Tests; • Functional AutoTests; • Автоматизация тестирования документации; • Автоматизация внутренней документации.
  41. 41. Работающий Scrum / Тестирование sp1 sp2 sp1 (test) 2-3 sp
  42. 42. sp1 sp2 sp1 (test) Работающий Scrum / Тестирование
  43. 43. Тестирование / Профит 3h VS 3d регрессионного тестирования
  44. 44. Работающий Scrum sp1 sp2 sp1 (test)
  45. 45. 1 → 3 дата-центра 2 → 11 нод 3 часа приёмки →
  46. 46. Работающий Scrum / Релиз sp1 sp2 sp1 (test)
  47. 47. 15 часов — приёмка релиза
  48. 48. sp1 sp2 sp1 (test) 2-3 sp
  49. 49. Приёмка релиза / Решение Smoke AutoTests
  50. 50. Приёмка релиза / Решение Релиз-тестировщик
  51. 51. Приёмка релиза / Релиз-тестировщик 1. Подготовка релиза
  52. 52. Приёмка релиза / Релиз-тестировщик 1. Подготовка релиза 2. Процесс релиза
  53. 53. Приёмка релиза / Релиз-тестировщик 1. Подготовка релиза 2. Процесс релиза 3. Мониторинг боя
  54. 54. Приёмка релиза / Мониторинг боя
  55. 55. Приёмка релиза / Мониторинг боя
  56. 56. Приёмка релиза / Мониторинг боя
  57. 57. Работающий Scrum / Релиз sp1 sp2 sp1 (test) 2-3 sp
  58. 58. sp1 sp2 sp1 (test) Работающий Scrum / Релиз
  59. 59. Приёмка релиза / Профит 3h VS 15h
  60. 60. Планирование •  Отдельное планирование тестировщиков •  Свой человек на планировании разработчиков •  Тестировать и слушать Ещё раз...
  61. 61. Тестирование •  Unit Tests •  Functional AutoTests •  Автоматизация тестирования документации •  Автоматизация внутренней документации Ещё раз...
  62. 62. Релиз •  Автоматизация Smoke- тестов •  Релиз-тестировщик Ещё раз...
  63. 63. Роли •  Ведущий тестировщик •  Релиз-тестировщик •  Тестировщик
  64. 64. Всё! Спасибо за внимание! Вопросы? a.ogarkova@2gis.ru @gorynych3003

×