У нас вы можете посмотреть бесплатно Что такое TDD? Что такое разработка через тестирование? или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
В этом нетехническом введении в TDD мы углубимся в модульные тесты, изоляцию тестов и загадочный мир фиктивных тестов. = = = = = = = = = = = = Новинка 2024 года: мой лучший тренинг: «Как ваши Agile-команды могут добиться предсказуемости и продуктивности БЕЗ выгорания» → https://www.developmentthatpays.com/w... = = = = = = = = = = = = Получите БЕСПЛАТНУЮ шпаргалку: https://www.developmentthatpays.com/c... Добро пожаловать на строго нетехническое введение в разработку через тестирование (TDD). Мы углубимся в модульные тесты, изоляцию тестов и загадочный мир фиктивных тестов. Ключевые выводы о модульных тестах: Написание модульных тестов для существующего кода может быть сложным... или невозможным. Модульный тест — это тестирование компонента в изоляции. Для проверки изоляции необходимо имитировать любые внешние зависимости. Примером часто имитируемого объекта является подключение к базе данных. Модульные тесты, как правило, выполняются очень быстро. Ключевые выводы о разработке через тестирование: Это итеративный процесс: напишите небольшой тест... напишите ровно столько кода, чтобы тест прошёл. Промойте и повторите. Тесты и код, который они «покрывают», рождаются и развиваются вместе. Они тесно переплетены. Музыка: 260809 Funky Nurykabe: ccmixter.org/files/jlbrock44/29186 ------------------- 60. Что такое TDD? Что такое разработка через тестирование? #РазработкаЭтоОкупается Что такое разработка через тестирование (Test Driven Development), она же TDD? Рад, что вы спросили! Модульные тесты... могут быть сложными --------- Начнём с самого начала. Если мы собираемся говорить о разработке через тестирование, нам нужно поговорить о конкретном типе тестов, который лежит в основе TDD: модульных тестах. Впервые я столкнулся с модульным тестированием примерно в 2008 году. К тому моменту я уже несколько лет занимался разработкой на полную ставку. Я думал, что разобрался. Но оказалось, что писать модульные тесты — это сложно. Чертовски сложно. В 10 раз сложнее, чем писать код. Удручает. В конце концов, я понял, что это не моя вина. Многое из того, что я считал невозможным для тестирования... ... действительно БЫЛО невозможно протестировать. В конце концов, это не я! Почему тесты было невозможно написать? Я пытался — и терпел неудачу — написать тест для чего-то, что... ... не было похоже на свечу зажигания. Тестовая изоляция ----- Помните, в прошлом эпизоде мы говорили о проверке зазора свечи зажигания. Это прекрасный пример модульного теста. Другим прекрасным примером будет проверка ее сопротивления. При наличии подходящего оборудования мы могли бы даже провести модульный тест, чтобы подтвердить, что она искрит. Все эти тесты возможны, потому что в свече зажигания есть что-то особенное. Она... ТЕСТИРУЕМАЯ! По своей конструкции ее можно снять с двигателя. Это одна из немногих вещей в мире, для которой есть (более или менее) стандартизированный инструмент для ее снятия. Я предполагаю, что свечи зажигания не были разработаны специально для того, чтобы их можно было тестировать. Я думаю, что, вероятно, свечи зажигания были разработаны для замены, и возможность тестирования стала очень полезным побочным эффектом. По моему опыту, вещи редко естественным образом становятся заменяемыми/проверяемыми. Они заменяемы/проверяемы по своей конструкции. Или вообще не заменяемы. Нигде это не проявляется так, как в случае с программным обеспечением. Могу с уверенностью сказать, что если в вашей кодовой базе нет модульных тестов, то она состоит преимущественно из НЕТЕСТИРУЕМОГО кода. Разработка через тестирование ---------- Что плавно подводит нас к разработке через тестирование. Разработка через тестирование, как следует из названия, — это процесс, при котором тесты пишутся ДО написания кода. Это не означает, что сначала нужно написать все тесты, а затем весь код. Всё гораздо сложнее. Вы начинаете с написания всего одного теста. Очень короткого теста. Затем вы пишете немного кода. Кода ровно столько, чтобы тест прошёл. Затем вы пишете ещё один небольшой тест. Промойте и повторите. Код и тесты рождаются и развиваются вместе. Тестируемость кода «встроена». Мокинг ------- Писать модульные тесты для нового кода проще, чем для существующего. Но это не значит, что это тривиально. Есть одна сложность. Ключ к модульному тестированию — это изолированное тестирование «модуля». Если вы видели предыдущий эпизод, я провёл следующий тест: снял колпачок свечи, выкрутил свечу зажигания, вставил её обратно в колпачок и включил кик-стартер. Это была проверка искры, но НЕ блочная проверка. Потому что это не проверка свечи зажигания в отдельности. (На самом деле, это проверка целого ряда компонентов, работающих вместе.) блочная проверка возможна. Для неё просто потребуется дополнительное оборудование. Это устройство заменяет аккумулятор и целый ряд электрооборудования. Предполагается, что устройство исправно, поэтому, если искры нет, мы знаем, что проблема в свече зажигания. Итак, http...