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.
Держим дизайн системы
под контролем, используя
изолированное юнит-
тестирование
Коломенский Андрей
Юнит-тесты — основной инструмент получения
обратной связи от системы
Интегрированные тесты — это
тесты прохождение или падение
которых зависит более чем от
одной единицы нетривиального
поведе...
Я использую изолированные тесты для
повышения качества дизайна системы и
её обоснованного рефакторинга
Непрерывно поддерживать высокую
продуктивность возможно только
практикуя дисциплину Test Driven
Development
Test Driven Development — это дисциплина
1. Вам запрещается писать любой продакшен код,
за исключением того кода который нужен для
прохождения падающего юнит-теста.
1. Вам запрещается писать любой продакшен код,
за исключением того кода который нужен для
прохождения падающего юнит-теста...
1. Вам запрещается писать любой продакшен код,
за исключением того кода который нужен для
прохождения падающего юнит-теста...
Легаси код — это код
без юнит-тестов
Легаси код — это код
который страшно
изменять
С целью защитить и сохранить честь
профессии программистов, я обещаю что в
меру своих возможностей и суждений:
Я не буду создавать вредоносный код
Код, который я создаю, всегда будет моей
лучшей работой. Я не буду сознательно
допускать, чтобы мой код был дефектен, как
...
Я буду предоставлять с каждым релизом
быстрое, надежное и повторяемое
доказательство того, что каждый элемент
кода работае...
Я буду делать частые, небольшие релизы,
чтобы не мешать прогрессу других
Я буду бесстрашно и неустанно улучшать свой
код при каждой возможности. Я никогда не
буду снижать его качество
Я сделаю всё что смогу, для того чтобы
сохранять продуктивность самого себя и
других как можно выше. Я не буду делать
ниче...
Я буду постоянно следить за тем, чтобы
другие могли подменить меня, и что я могу
подменить их
Я буду давать оценки, которые являются
честными как в их правильности, так и в
точности. Я не буду давать обещания без
уве...
Я никогда не перестану изучать и
совершенствовать свое ремесло
J. B. Rainsberger Kent Beck Robert Martin
Что делать дальше:
Попробуйте написать изолированные тесты на ту часть системы которую
вы считаете хорошо спроектированной
Что дальше?
Попробуйте написать изолированные тесты на ту часть системы которую
вы считаете хорошо спроектированной
Глубок...
Что дальше?
Попробуйте написать изолированные тесты на ту часть системы которую
вы считаете хорошо спроектированной
Практи...
Cпасибо!
Пишите мне, задавайте вопросы! Отвечаю всем.
Андрей Коломенский
+7 999 001 10 70 (+ Telegram)
me@agile-coach.ru
F...
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский
Upcoming SlideShare
Loading in …5
×

Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский

81 views

Published on

РИТ++ 2017, Backend Conf
Зал Кейптаун, 6 июня, 10:00

Тезисы:
http://backendconf.ru/2017/abstracts/2637.html

Код наших систем со временем загнивает из-за низкого качества обратной связи, которую дают интегрированные тесты.

Под интегрированными тестами я подразумеваю юнит-тесты, прохождение или падение которых зависит более чем от одной единицы нетривиального поведения. Очень часто в индустрии мы вместо быстрых и изолированных юнит-тестов пишем тесты, которые запускают на исполнение большие объемы кода или общаются с базой данных через ActiveRecord.
...

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Держим дизайн системы под контролем, используя изолированное юнит-тестирование / Андрей Коломенский

  1. 1. Держим дизайн системы под контролем, используя изолированное юнит- тестирование Коломенский Андрей
  2. 2. Юнит-тесты — основной инструмент получения обратной связи от системы
  3. 3. Интегрированные тесты — это тесты прохождение или падение которых зависит более чем от одной единицы нетривиального поведения
  4. 4. Я использую изолированные тесты для повышения качества дизайна системы и её обоснованного рефакторинга
  5. 5. Непрерывно поддерживать высокую продуктивность возможно только практикуя дисциплину Test Driven Development
  6. 6. Test Driven Development — это дисциплина
  7. 7. 1. Вам запрещается писать любой продакшен код, за исключением того кода который нужен для прохождения падающего юнит-теста.
  8. 8. 1. Вам запрещается писать любой продакшен код, за исключением того кода который нужен для прохождения падающего юнит-теста. 2. Вам запрещается писать больше кода юнит-теста чем достаточно для его падения. И ошибки компиляции это падение.
  9. 9. 1. Вам запрещается писать любой продакшен код, за исключением того кода который нужен для прохождения падающего юнит-теста. 2. Вам запрещается писать больше кода юнит-теста чем достаточно для его падения. И ошибки компиляции это падение. 3. Вам запрещается писать больше продакшен кода чем достаточно для прохождения одного падающего юнит-теста.
  10. 10. Легаси код — это код без юнит-тестов
  11. 11. Легаси код — это код который страшно изменять
  12. 12. С целью защитить и сохранить честь профессии программистов, я обещаю что в меру своих возможностей и суждений:
  13. 13. Я не буду создавать вредоносный код
  14. 14. Код, который я создаю, всегда будет моей лучшей работой. Я не буду сознательно допускать, чтобы мой код был дефектен, как в поведении, так и в структуре
  15. 15. Я буду предоставлять с каждым релизом быстрое, надежное и повторяемое доказательство того, что каждый элемент кода работает так, как должен
  16. 16. Я буду делать частые, небольшие релизы, чтобы не мешать прогрессу других
  17. 17. Я буду бесстрашно и неустанно улучшать свой код при каждой возможности. Я никогда не буду снижать его качество
  18. 18. Я сделаю всё что смогу, для того чтобы сохранять продуктивность самого себя и других как можно выше. Я не буду делать ничего, что снижает эту продуктивность
  19. 19. Я буду постоянно следить за тем, чтобы другие могли подменить меня, и что я могу подменить их
  20. 20. Я буду давать оценки, которые являются честными как в их правильности, так и в точности. Я не буду давать обещания без уверенности в том что смогу их сдержать
  21. 21. Я никогда не перестану изучать и совершенствовать свое ремесло
  22. 22. J. B. Rainsberger Kent Beck Robert Martin
  23. 23. Что делать дальше: Попробуйте написать изолированные тесты на ту часть системы которую вы считаете хорошо спроектированной
  24. 24. Что дальше? Попробуйте написать изолированные тесты на ту часть системы которую вы считаете хорошо спроектированной Глубоко погрузитесь в тему качества кода учась у крутых ребят:
  25. 25. Что дальше? Попробуйте написать изолированные тесты на ту часть системы которую вы считаете хорошо спроектированной Практикуйте TDD, проясняйте свои намерения, устраняйте дублирование Глубоко погрузитесь в тему качества кода учась у крутых ребят:
  26. 26. Cпасибо! Пишите мне, задавайте вопросы! Отвечаю всем. Андрей Коломенский +7 999 001 10 70 (+ Telegram) me@agile-coach.ru FB: a.kolomensky

×