Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Tdd – test-driven development

Содержание

Кент Бек — разработчик  программного обеспечения, создатель таких методологий разработки ПО как экстремальное программирование (XP) и разработка через тестирование (TDD)
TDD – Test-Driven DevelopmentРазработка через тестированиеПодготовил: Динмухаметов Айнур 11-304 Кент Бек — разработчик 	программного обеспечения, создатель таких методологий разработки ПО как экстремальное программирование (XP) и разработка через тестирование (TDD) Разработка через тестированиеТехника разработки ПО, основывающаяся на повторении очень коротких циклов разработки: ТестТест – это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода.Тесты бывают ручные и автоматические. Инверсия ответственностиОт логики тестов и от их качества зависит, будет ли код соответствовать техническому заданию. Методика TDDМетодика TDD заключается, в основном, в организации автоматических тестов (unit testing) Мантра TDDНаписать тест;Добиться, чтобы тест сработал;Устранить дублирование (выполнить рефакторинг). Цикл разработки TDD РефакторингПроцесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий Причины применения рефакторингаРефакторинг применяется постоянно при разработке кода. Основными стимулами являются:Необходимо добавить Пишем тест Нет класса Dollar;Нет конструктора;Нет метода times()Нет переменной класса Amount.Не компилируется – 4 ошибки! Решение Успешный тест – зеленая полоса! Полный цикл TDDДобавить небольшой тест.Запустить все тесты, при этом обнаружить, что что-то После рефакторинга Обычный цикл TDD 1. Напишите тест.Представьте, как будет реализована в коде воображаемая операция.Придумывая её интерфейс, 2. Заставьте тест работатьПервоочередная задача – получить зеленую полосу.Если ОЧЕВИДНО простое и 3. Улучшите решениеПосле того, как система работает, избавьтесь от прошлых прегрешений и Чистый код, который работаетСначала мы получаем код, который работает.Затем делаем из него чистый код. Слабые места TDDСложно привыкнуть.Сложно применять TDD в ряде случаев, например, при разработке СПАСИБО ЗА ВНИМАНИЕ!
Слайды презентации

Слайд 2 Кент Бек — разработчик 
программного обеспечения, создатель таких методологий разработки

Кент Бек — разработчик 	программного обеспечения, создатель таких методологий разработки ПО как экстремальное программирование (XP) и разработка через тестирование (TDD)

ПО как экстремальное программирование (XP) и разработка через тестирование (TDD)


Слайд 3 Разработка через тестирование
Техника разработки ПО, основывающаяся на повторении

Разработка через тестированиеТехника разработки ПО, основывающаяся на повторении очень коротких циклов

очень коротких циклов разработки:

Написать тест, покрывающий желаемое изменение.
Написать

код, который позволяет пройти тест.
Выполнить рефакторинг.

Слайд 4 Тест
Тест – это процедура, которая позволяет либо подтвердить,

ТестТест – это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода.Тесты бывают ручные и автоматические.

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


Слайд 5 Инверсия ответственности
От логики тестов и от их качества

Инверсия ответственностиОт логики тестов и от их качества зависит, будет ли код соответствовать техническому заданию.

зависит, будет ли код соответствовать техническому заданию.


Слайд 6 Методика TDD
Методика TDD заключается, в основном, в организации

Методика TDDМетодика TDD заключается, в основном, в организации автоматических тестов (unit

автоматических тестов (unit testing) и выработке определенных навыков тестирования.
Одной

из особенностей является написание тестов ДО написания кода.

Слайд 7 Мантра TDD
Написать тест;
Добиться, чтобы тест сработал;
Устранить дублирование (выполнить

Мантра TDDНаписать тест;Добиться, чтобы тест сработал;Устранить дублирование (выполнить рефакторинг).

рефакторинг).


Слайд 8 Цикл разработки TDD

Цикл разработки TDD

Слайд 9 Рефакторинг
Процесс изменения внутренней структуры программы, не затрагивающий её

РефакторингПроцесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и

внешнего поведения и имеющий целью облегчить понимание её работы.


Слайд 10 Причины применения рефакторинга
Рефакторинг применяется постоянно при разработке кода.

Причины применения рефакторингаРефакторинг применяется постоянно при разработке кода. Основными стимулами являются:Необходимо

Основными стимулами являются:
Необходимо добавить новую функцию, которая недостаточно укладывается

в принятое архитектурное решение.
Необходимо исправить ошибку, причины возникновения которой сразу не ясны. (Плохой код).
Преодоление трудностей в разработке, которые обусловлены сложной логикой программы. (Плохой код).


Слайд 11 Пишем тест

Пишем тест

Слайд 12 Нет класса Dollar;
Нет конструктора;
Нет метода times()
Нет переменной класса

Нет класса Dollar;Нет конструктора;Нет метода times()Нет переменной класса Amount.Не компилируется – 4 ошибки!

Amount.
Не компилируется – 4 ошибки!


Слайд 13 Решение

Решение

Слайд 14 Успешный тест – зеленая полоса!

Успешный тест – зеленая полоса!

Слайд 15 Полный цикл TDD
Добавить небольшой тест.
Запустить все тесты, при

Полный цикл TDDДобавить небольшой тест.Запустить все тесты, при этом обнаружить, что

этом обнаружить, что что-то не срабатывает.
Внести небольшое изменение.
Снова запустить

тесты и убедиться, что все они успешно выполняются.
Устранить дублирование с помощью рефакторинга.

Слайд 16 После рефакторинга

После рефакторинга

Слайд 17 Обычный цикл TDD

Обычный цикл TDD

Слайд 18 1. Напишите тест.
Представьте, как будет реализована в коде

1. Напишите тест.Представьте, как будет реализована в коде воображаемая операция.Придумывая её

воображаемая операция.
Придумывая её интерфейс, опишите все элементы, которые, как

вам кажется, понадобятся.
Пример: в первом тесте мы добавили класс Dollar, функцию times и переменную-член Amount.

Слайд 19 2. Заставьте тест работать
Первоочередная задача – получить зеленую

2. Заставьте тест работатьПервоочередная задача – получить зеленую полосу.Если ОЧЕВИДНО простое

полосу.
Если ОЧЕВИДНО простое и элегантное решение – создайте его.
Если

на реализацию такого решения потребуется время – ОТЛОЖИТЕ его. Просто отметьте, что к нему придется вернуться, когда будет решена основная задача – быстро получить зеленый индикатор.
Противоречит правилам хорошей разработки?

Слайд 20 3. Улучшите решение
После того, как система работает, избавьтесь

3. Улучшите решениеПосле того, как система работает, избавьтесь от прошлых прегрешений

от прошлых прегрешений и вернитесь к хорошей разработке.
Удалите дублирование

(и другие огрехи) и быстро сделайте так, чтобы полоска снова стала зеленой.

Слайд 21 Чистый код, который работает
Сначала мы получаем код, который

Чистый код, который работаетСначала мы получаем код, который работает.Затем делаем из него чистый код.

работает.
Затем делаем из него чистый код.


Слайд 22 Слабые места TDD
Сложно привыкнуть.
Сложно применять TDD в ряде

Слабые места TDDСложно привыкнуть.Сложно применять TDD в ряде случаев, например, при

случаев, например, при разработке GUI.
Требуется больше времени на разработку,

т.к. необходимо писать тесты.
Т.к. модульные тесты обычно пишутся теми же, кто написал код, то в случае неверной трактовки требований к приложению, и тест и тестируемый код могут содержать ошибки.
И др.

  • Имя файла: tdd-–-test-driven-development.pptx
  • Количество просмотров: 101
  • Количество скачиваний: 0