Top Banner
IT-Академия Алексея Сухорукова Разработка, управляемая поведением
23

5 лекция. презентация

Jul 14, 2015

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 5 лекция. презентация

IT-Академия Алексея Сухорукова

Разработка, управляемая поведением

Page 2: 5 лекция. презентация

Agile

Page 3: 5 лекция. презентация

Методология Agile - TDD

• Test-driven development – Разработка через тестирование

• техника разработки ПО, которая основывается на повторении очень коротких циклов разработки: – Написание теста– Написание кода– рефакторинг нового кода к

соответствующим стандартам

Page 4: 5 лекция. презентация

Итерации TDD

Page 5: 5 лекция. презентация

Плюсы TDD

• Более приспособленный для тестирования код

• Рефакторинг кода без риска его испортить

• Большое количество тестов• Более модульный, гибкий и

расширяемый код• Тесты могут быть использованы в

качестве документации

Page 6: 5 лекция. презентация

Минусы TDD

• Большое количество кода• Большее время на разработку• Ложное ощущение надежности• Инверсия ответственности без

изменения ответственного• Существуют задачи, которые

невозможно решить только тестами (безопасность данных и взаимодейсвие между процессами)

Page 7: 5 лекция. презентация

TDD для тестировщика

• Написание Тест-плана ДО получения продукта на тестирование

• Метод Черного ящика на основе спецификации

• В Agile документация не является сильной стороной

• Частое изменение требований нарушает принципы TDD

Page 8: 5 лекция. презентация

От TDD к BDD

• Behavior-driven development (BDD) - Разработка через поведение

• техника разработки ПО, которая основывается на TDD, но в основу берутся не тесты, а поведение системы

• Поведение описывается на «обычном» языке по шаблонам – User story

Page 9: 5 лекция. презентация

Сильные стороны

• Более полная спецификация за счет «User story»

• «User story» можно показать конечному пользователю

• Меньшее количество тестов, по сравнению с TDD, при более плотном покрытии функционала

Page 10: 5 лекция. презентация

Недостатки BDD

• Постоянное общение с заказчиком (не всегда возможно)

• Не для всех проектов

Page 11: 5 лекция. презентация

User story

• Одно или несколько предложений, на «обычном» языке, понятных конечному пользователю

• Описывает «Кто», «Что» и «Почему» требует от системы

• Простое и короткое описаниеКак (As a) Я хочу (I want) Чтобы (so that)

Page 12: 5 лекция. презентация

Пример User story Банкомат

Название: Клиент изымает наличныеКак клиент,Я хочу получить наличные из банкомата,чтобы мне не пришлось стоять в очереди в банке.

Page 13: 5 лекция. презентация

Сценарии для User story

• описание поведения системы, которым она отвечает на внешние запросы

• сценарий использования описывает, «кто» и «что» может сделать с рассматриваемой системой

• На одну User story может быть от одного до нескольких сценариев

Page 14: 5 лекция. презентация

Критерии хороших сценариев

• Независимые

• Конфигурируемые (таблицы, параметры)

• Конкретные имена

• Одно действие (пользователя) = один шаг (сценария)

• Одинаковые действия = одинаковое имя шага

Page 15: 5 лекция. презентация

User story и Сценарии

• User story содержат небольшие детали, оставаясь открытыми для интерпретации. Они помогают понимать что должна делать система.

• Сценарии описывают процесс и его шаги подробно. Обеспечивает всю необходимую информацию и детали для понимания

Page 16: 5 лекция. презентация

Примеры сценариев

Сценарий 1: На счету есть деньги

• Допустим на счету есть деньгиИ Карточка валиднаяИ в банкомате есть наличностьЕсли Клиент запрашивает наличностьТо Убедиться в том, что сумма вычтена со счетаИ убедиться в том, что деньги выданыИ убедиться в том, что карточка возвращена

Page 17: 5 лекция. презентация

Примеры сценариев

Сценарий 2: счет превышен за рамки лимита

• Допустим счет превышенИ карточка валиднаяЕсли клиент запрашивает наличностьТо убедиться в том, что показано сообщение об отказеИ убедиться в том, что наличность не выданаИ убедиться в том, что карточка возвращена

Page 18: 5 лекция. презентация

Жизненный цикл User story

Page 19: 5 лекция. презентация

BDD для тестировщика

• Написание Сценариев совместно с аналитиком и заказчиком

• Нефункциональное тестирование (UI, локализации, совместимости, безопасности, производительности и т.д.)

Page 20: 5 лекция. презентация

Инструменты

• JBehave

• Cucumber

• Specflow

• NBehave

Page 21: 5 лекция. презентация

ПримерБонусная программа на

автозаправке• Бонусы получают клиенты после каждой

совершенной покупки. Количество бонусов зависит от статуса карты.

• Серебряный – 3 бонуса за каждые 100р

• Золотой - 4 бонуса за каждые 100р

• Платиновый - 5 бонусов за каждые 100р

Page 22: 5 лекция. презентация

Пример (продолжение)

• Новые участники получают статус Серебряный, который меняется в начале каждого месяца.

Серебряный – менее 5999,99р

Золотой – от 6000 до 11999,99р

Платиновый – более 12000р

Page 23: 5 лекция. презентация