Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cовременный контроль качества: давай сделаем это по-быстрому...

17,136 views

Published on

Published in: Education
  • Be the first to comment

Cовременный контроль качества: давай сделаем это по-быстрому...

  1. 1. Современный контроль качества: давай сделаем это по-быстрому… Игорь Хрол http://www.wargaming.net http://www.khroliz.com
  2. 2. О себе • Игорь Хрол • БГУ ФПМИ • QA Automation Team Lead в Wargaming • Восемь лет в отрасли • Десятки проектов • Инженер, тренер, консультант, менеджер, докладчик • Мой блог: http://ru.khroliz.com
  3. 3. О чём говорим?
  4. 4. О чём говорим? • Что такое «контроль качества» сегодня? • Почему это важно-сложно-интересно-…? Основано на личном мироощущении
  5. 5. Начнём с проблем…
  6. 6. Начнём с проблем… Скопировать идею очень легко
  7. 7. Копирование идей и их реализаций
  8. 8. Копирование идей и их реализаций
  9. 9. А при чём здесь тестирование?
  10. 10. Классическая модель разработки
  11. 11. Что в ней плохого? Продукт уже реализован
  12. 12. Это еще полбеды… Что происходит на длительных проектах?
  13. 13. Нельзя сделать всё «за раз» Требования меняются вместе с окружающим миром
  14. 14. Будем делать по чуть-чуть! • Итерация 1: функциональность #1 • Итерация 2: функциональность #2 • Итерация 3: функциональность #3 Требования на следующую итерацию корректируются
  15. 15. А что в тестировании? • Итерация 1: функциональность #1 • Итерация 2: функциональность #2 функциональность #1 • Итерация 3: функциональность #3 функциональность #2 функциональность #1
  16. 16. Тестирование тормозит новые версии Каждый раз всё больше и больше…
  17. 17. «Дорогое» тестирование не позволяет делать короткие итерации
  18. 18. Регрессионная спираль смерти
  19. 19. Вариант 1 Нанять еще людей
  20. 20. Проблемы «Варианта 1» • Требуется больше организационных усилий • Не решает проблему в долгосрочной перспективе На этом можно зарабатывать
  21. 21. Вариант 2 Автоматизация тестирования Вместе с кодом продукта пишем код, который тестирует продукт (автотесты)
  22. 22. Как ведут себя роботы? Делают работу по тестированию, но самостоятельно
  23. 23. Какие есть проблемы у роботов?
  24. 24. Немного о другом 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 Деньги Время Стоимость дефекта
  25. 25. Выводы • Чем раньше нашли дефект, тем лучше • Роботы-автотесты должны работать быстро
  26. 26. Как выглядят современные системы?
  27. 27. Как выглядят современные системы?
  28. 28. Модель задачи по тестированию 5 8 2 1 10 5 × 8 × 2 × 1 × 10 = 800
  29. 29. Модель задачи по тестированию 𝑉1 𝑉2 𝑉3 𝑉4 𝑉5 𝑉1 × 𝑉2 × 𝑉3 × 𝑉4 × 𝑉5
  30. 30. Сложность тестирования 𝑉1 𝑉2 𝑉3 … 𝑉𝑛 𝑖=1 𝑛 𝑉𝑖 ≈ 𝑉 𝑛 Сложность:
  31. 31. Экспоненциальная сложность http://ru.wikipedia.org/wiki/Экспоненциальный_рост
  32. 32. Чёрный ящик = Экспонента
  33. 33. Автоматизация тестирования - борьба с экспонентой • Параллельные запуски не помогают – 𝑚 – количество потоков – Сложность: 𝑉 𝑛 𝑚
  34. 34. Разделяй и властвуй
  35. 35. Модель задачи по тестированию 5 8 2 1 10 5 × 8 × 2 × 1 × 10 = 800 5 + 8 + 2 + 1 + 10 = 26 26 + 4 + 1 = 31
  36. 36. Модель задачи по тестированию 5 8 2 1 10 800 vs 31
  37. 37. Модель задачи по тестированию 𝑉1 𝑉2 𝑉3 𝑉4 𝑉5 𝑉1 + 𝑉2 + 𝑉3 + 𝑉4 + 𝑉5 + 5
  38. 38. Сложность тестирования 𝑉1 𝑉2 𝑉3 … 𝑉𝑛 𝑖=1 𝑛 𝑉𝑖 + 𝑛 ≈ 𝑉 × 𝑛 + 𝑛 Сложность:
  39. 39. Сложность тестирования 𝑉1 𝑉2 𝑉3 … 𝑉𝑛 𝑽 𝒏 vs 𝒏𝑽
  40. 40. Пирамида автоматизации UI API Unit Tests
  41. 41. Вариант 3 Автоматическое тестирование 1. Постепенный контроль качества на всех этапах разработки 2. Декомпозиция сложных систем на составляющие и проверка их по отдельности 3. Разработка через тестирование (TDD)
  42. 42. Контроль качества на всех этапах
  43. 43. Декомпозиция
  44. 44. Разработка через тестирование
  45. 45. Разработка через тестирование
  46. 46. Разработка через тестирование • Автотесты лежат на «критическом пути» выпуска продукта • Новая функциональность не выпускается без автотестов «У вас нет времени писать автотесты? А у нас нет времени тестировать одно и то же два раза»
  47. 47. Подводя итоги…
  48. 48. Современный контроль качества • Максимально проводится автоматическими средствами • Требуется на всех уровнях архитектуры системы • Обеспечивается глубоким пониманием технологий и бизнес-требований
  49. 49. Спасибо! Вопросы? Игорь Хрол i_khrol@wargaming.net / khroliz@gmail.com http://ru.khroliz.com

×