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.

мартюшев почему юнит-тесты не работают. история большого проекта

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

мартюшев почему юнит-тесты не работают. история большого проекта

  1. 1. Почему юнит-тесты не работают. История большого проекта Александр Мартюшев agile.fellow@gmail.com
  2. 2. Александр Мартюшев Внедряю и использую Agile с 2008 года Вырос в компании АСКОН Расту в компании SEMrush.com Представитель ScrumTrek в Питере
  3. 3. Renga Architecture
  4. 4. 2011 2012 2013 Старт проекта Мы тут
  5. 5. Проблема: Появляются регрессионные ошибки Мы не знаем где и когда отвалилось Unit-тесты не помогают Нет стабильной сборки
  6. 6. Тестируют в изоляции Почему Unit-тесты не помогли
  7. 7. Интеграционные тесты Укрупняйте System Under Test
  8. 8. Что это? [0,0,0] [0,100,0] [1000,0,0] [1000,100,0] [0,0,300] [0,100,300] [1000,0,300] [1000,100,300]
  9. 9. Простейший 3D объект [0,0,0] [0,100,0] [1000,0,0] [1000,100,0] [0,0,300] [0,100,300] [1000,0,300] [1000,100,300]
  10. 10. Нечитаемые данные [0,0,0] [0,100,0] [1000,0,0] [1000,100,0] [0,0,300] [0,100,300] [1000,0,300] [1000,100,300] Очень сложно писать Ещё тяжелее поддерживать
  11. 11. Тестировать через UI
  12. 12. Тестировать через UI
  13. 13. Идея: Snapshot’ы Специальная кнопка – F2 Модель, 3D сцена, DirectX, состояние UI Реализовать сравнение snapshot’ов
  14. 14. Зачем нам Test Complete/Squish?
  15. 15. Архитектура U I Model 3D SceneDirectX
  16. 16. Архитектура U I Model 3D SceneDirectX
  17. 17. 2 программиста сделали за 1 месяц Не нужно программировать чтобы создать тест Встроено и работает у всех Легко отлаживать Запись/воспроизведение сценариев для других нужд Требует поддержки
  18. 18. Как же изменился наш процесс Конец спринта Запускаем тесты Тесты красные Теперь мы точно знаем: что то сломалось Нет стабильной сборки
  19. 19. Давайте прикрутим к CI Тесты запускаются после вливания в master Отчет приходит всем разработчикам
  20. 20. Давайте прикрутим к CI Тесты запускаются после вливания в master Отчет приходит всем разработчикам Всем пофиг Нет стабильной сборки
  21. 21. Закрутим гайки (DoD) Разъяснительная работа с разработчиками Запуск на master + на ветках команд
  22. 22. Закрутим гайки (DoD) Авторы тестовой системы превратились в поддержку Не успевали исправлять Нет стабильной сборки Разъяснительная работа с разработчиками Запуск на master + на ветках команд
  23. 23. Обучить всех Обучающий семинар для разработчиков Авторы не исправляют, а обучают Начало легчать
  24. 24. Как сейчас Запуск на всех CI после commit’а Каждая фича «бетонируется» тестами сразу после разработки (DoD) Полный регресс 5000 тестов занимает один час Регрессия замкнута на программистах Все участники проекта просто счастливы
  25. 25. Чему этот кейс нас научил?
  26. 26. Unit тестов недостаточно Не зацикливайтесь на unit тестах В унаследованных системах начинайте сверху
  27. 27. Стоимость ошибки
  28. 28. Разработчики, помогайте! Автотесты ближе к программированию чем к тестированию Только программисты знают как лучше
  29. 29. Встраивание в процесс Автотесты - часть процесса Запуск на CI Все умеют запускать тесты Все знают как они устроены Умеют починить
  30. 30. Работа с ветками Код и тесты в одном репо, а не отдельно Текстовые snapshot’ы – отличная идея
  31. 31. Автотесты это не бесплатно Трудоёмкий процесс В фоновом режиме неэффективно Особенно если нет опыта Выгодное вложение
  32. 32. При чём тут Agile? Выявил проблему Заставил её решать
  33. 33. Renga Architecture

    Be the first to comment

    Login to see the comments

Views

Total views

804

On Slideshare

0

From embeds

0

Number of embeds

433

Actions

Downloads

6

Shares

0

Comments

0

Likes

0

×