Successfully reported this slideshow.
Your SlideShare is downloading. ×

QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие изящные способы ускорить доставку фич

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 92 Ad

QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие изящные способы ускорить доставку фич

Раньше мы в Badoo фокусировались в основным на ручном тестировании. Получался этакий дедлок мануальной регрессии: не было времени, чтоб писать тесты, потому что много тестировали руками, а много тестировали руками, потому что не было автотестов.
Но мы смогли наладить свою систему автоматизации и процессы, разорвали этот порочный круг и начали писать годные тесты.
В своем докладе я расскажу, как нам удалось сократить ручную регрессию с 90% до 30% рабочего времени, при этом сохранить достойный уровень качества и профессионально вырасти!

Раньше мы в Badoo фокусировались в основным на ручном тестировании. Получался этакий дедлок мануальной регрессии: не было времени, чтоб писать тесты, потому что много тестировали руками, а много тестировали руками, потому что не было автотестов.
Но мы смогли наладить свою систему автоматизации и процессы, разорвали этот порочный круг и начали писать годные тесты.
В своем докладе я расскажу, как нам удалось сократить ручную регрессию с 90% до 30% рабочего времени, при этом сохранить достойный уровень качества и профессионально вырасти!

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие изящные способы ускорить доставку фич (20)

Advertisement

More from QAFest (20)

Recently uploaded (20)

Advertisement

QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие изящные способы ускорить доставку фич

  1. 1. Тема доклада Тема доклада Тема доклада KYIV 2019 Параллельное покрытие автотестами и другие изящные способы ускорить доставку фич (Badoo) QA CONFERENCE #1 IN UKRAINE
  2. 2. ! ускорение процесса доставки фич; ! технический рост; ! ускорение автотестов. О чем я хочу рассказать? 2
  3. 3. Senior iOS QA. Хочу помочь вам: * сократить количество ручной регрессии; * быстрее релизить фичи; * использовать освободившееся время для более интересных задач. О себе 3
  4. 4. О Badoo 4
  5. 5. >430 000 000 people all over the world use Badoo 5
  6. 6. iOS команда Еженедельные релизы 6
  7. 7. Что мы хотели улучшить? 7
  8. 8. Deadlock ручной регрессии 8
  9. 9. Deadlock ручной регрессии Много тестируем руками Мало автотестов Почему ? Почему ? 9
  10. 10. Automation QA команда 10 ' инфраструктура; ' тестовое покрытие.
  11. 11. Инфраструктура 11
  12. 12. Инфраструктура 12
  13. 13. Инфраструктура Facebash = Calabash + Facebook WebDriverAgent 13
  14. 14. Calabash ! Calabash сервер интегрируется в приложение и позволяет управлять им; ! быстрая скорость. 14
  15. 15. Facebook WebDriverAgent 15 ! стартует тестовую сессию прямо на девайсе и позволяет выйти за рамки приложения
  16. 16. Тестовое покрытие 16
  17. 17. Тестовое покрытие,% 17 0 10 20 30 40 2014 H2 2015 H1 2015 H2 2016 H1 2016 H2
  18. 18. Высокий процент переоткрытых задач из статуса "в тестировании" 18
  19. 19. QA=YES тикеты Тикеты, которые проходят через команду тестирования 19
  20. 20. 20 master Feature_1 submission submission QA QA=Yes flow QA QA QA QA QA Feature_2 Feature_3 Feature_4
  21. 21. В идеальном мире без багов 21
  22. 22. В идеальном мире без багов Разработка Тестирование в ветке Мастер! 22
  23. 23. Разработка Очередь Review Reopen Мастер!Тестирование в ветке Bug fixing Review В реальности 23 Переключение контекста RetestОчередь Retest
  24. 24. Сравним 24 Разработка Очередь Review Reopen Мастер!Тестирование в ветке Bug fixing ReviewПереключение контекста RetestОчередь Retest Разработка Тестирование в ветке Мастер!
  25. 25. 25
  26. 26. 26 Спасибо за внимание! Вакансия в Лондоне
  27. 27. ! тестируем руками, но редко; ! отдаем часть ручного тестирования разработчикам; ! покрываем тестами параллельно. Как мы снизили количество reopen-ов? 27
  28. 28. ! увеличили покрытие; ! вырастили сильную команду; ! сократили время на выполнение рутинных задач вручную; ! улучшили процессы тестирования; ! ускорили доставку фич. К чему это привело? 28
  29. 29. На свой страх и риск или QA=NO тикеты 29
  30. 30. QA=NO тикеты Тикеты, которые не проходят через команду тестирования 30
  31. 31. QA=Yes flow 31 master Feature_1 submission submission QA QA QA QA QA QA Feature_2 Feature_3 Feature_4
  32. 32. QA=NO flow 32 master Feature_1 submission submission Feature_2 Feature_3 Feature_4
  33. 33. Разрешить разработчикам мерджить без участия QA — звучит опасно? 33
  34. 34. “With great power comes great responsibility” 34
  35. 35. Как обезопасить себя от перепроверок? Доверяй, но проверяй помогай 35
  36. 36. Mind Map В помощь разработчикам и себе мы создали iOS testing mind map 36
  37. 37. Mind Map 37 Ментальная карта состоит из 10 секций
  38. 38. 38
  39. 39. Mind Map 39 Ментальная карта состоит из 10 секций
  40. 40. 40
  41. 41. Mind Map 41 Ментальная карта состоит из 10 секций
  42. 42. Mind Map 42 Ментальная карта состоит из 10 секций
  43. 43. Mind Map 43
  44. 44. Mind Map 44 Ментальная карта состоит из 10 секций
  45. 45. 45
  46. 46. Mind Map 46 Ментальная карта состоит из 10 секций
  47. 47. Mind Map 47 Ментальная карта состоит из 10 секций
  48. 48. Mind Map 48
  49. 49. Mind Map 49
  50. 50. Mind Map 50 Ментальная карта состоит из 10 секций
  51. 51. Mind Map 51 Ментальная карта состоит из 10 секций
  52. 52. Mind Map 52 Ментальная карта состоит из 10 секций
  53. 53. Mind Map В полном варианте выглядит так 53
  54. 54. Mind Map Нам правда необходимо тестировать ВСЕ ЭТО? Сколько же ВРЕМЕНИ это займет 54
  55. 55. Mind Map Только те проверки, которые применимы к вашей конкретной задаче 55
  56. 56. QA=NO тикеты Месяц % Bug fixes % Features % Tasks % Sub-tasks Январь 2018 35,00 % 22,22 % 80,00 % 95,74 % Июль 2018 78,26 % 35,48 % 94,55 % 100,00 % Январь 2019 79,17 % 88,24 % 88,24 % 100,00 % Июль 2019 97,73 % 100,00 % 100,00 % 92,31 % 56
  57. 57. QA=NO тикеты. Подводные баги камни 57
  58. 58. Параллельное покрытие или Automation_QA = YES 58
  59. 59. Automation_QA=YES Тикеты, которые не тестируются QA командой вручную, но покрываются end-to-end тестами 59
  60. 60. Automation_QA=YES. Процесс 60
  61. 61. Выбор фичи Automation_QA=YES. Процесс 61
  62. 62. Выбор фичи Выбор QA инженера Automation_QA=YES. Процесс 62
  63. 63. Выбор фичи Выбор QA инженера Обзор документации Automation_QA=YES. Процесс 63
  64. 64. Выбор фичи Выбор QA инженера Обзор документации Kickoff Automation_QA=YES. Процесс 64
  65. 65. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Automation_QA=YES. Процесс 65
  66. 66. Automation_QA=YES. Процесс 66
  67. 67. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Выбор уровня имплементации Automation_QA=YES. Процесс 67
  68. 68. Automation_QA=YES. Процесс 68
  69. 69. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Выбор уровня имплементации Automation_QA=YES. Процесс 69 Имплементация фичи
  70. 70. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Выбор уровня имплементации Имплементация фичи Имплементация end-to-end тестов Automation_QA=YES. Процесс 70
  71. 71. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Выбор уровня имплементации Automation_QA=YES. Процесс 71 Review Review Имплементация фичи Имплементация end-to-end тестов
  72. 72. Выбор фичи Выбор QA инженера Обзор документации Kickoff Создание тестовых сценариев Выбор уровня имплементации Automation_QA=YES. Процесс 72 Master Review Review Имплементация фичи Имплементация end-to-end тестов
  73. 73. Automation_QA=YES. Процесс 73
  74. 74. Тестовое покрытие,% 74 0 22,5 45 67,5 90 2016 H1 2017 H1 2017 H2 2018 H1 2018 H2 2019 H1 83,07%
  75. 75. Пока тесты не будут готовы, фича не идет в master? 75
  76. 76. Ускоряем автотесты 76
  77. 77. Параллельный запуск 77
  78. 78. !1800+ тестов = 45 машиночасов; !хотим знать результаты за 20-30 минут; !прогонять тесты параллельно (Device Server). 78 Параллельный запуск
  79. 79. Настройки параметров теста 79
  80. 80. 80
  81. 81. Backdoors !логин — 20 секунд !диалоги о доступах — 10 !повторять это в каждом тесте? 81
  82. 82. Backdoors 82
  83. 83. QA API !серверный Backdoor; !позволяет нашим тестам писать сообщения, добавлять лайки, посетителей, избранные. 83
  84. 84. Профилирование 84
  85. 85. Профилирование +метрики помогают найти узкие места; +ускорить и стабилизировать сами тесты; +короткая и надежная обратная связь. 85
  86. 86. Команда, готовая развиваться 86
  87. 87. Команда, готовая развиваться 87
  88. 88. Как мы росли? +анализ тестового покрытия; +изучения языка программирования и фреймворка; +создание тестов с уже существующими шагами; +создание тестов с новыми методами, объектами и классами; +починка упавших и нестабильных тестов; +параллельное покрытие фич автотестами. 88
  89. 89. !непонимание чужого кода; !код разного качества; !инфраструктурные проблемы; !нестабильные тесты. Подводные камни и как мы их обходим 89
  90. 90. С чего же начать? 90
  91. 91. С чего же начать? +анализ рутинных задач; +анализ процессов; +обсуждение и поиск путей улучшения; +тестовый эксперимент; +анализ метрик после улучшение; +коррекция; +повторение. 91
  92. 92. Спасибо за внимание! Все материалы здесь: https://t.me/kat_tests

×