5 лекция. презентация
-
Upload
vyacheslavmaslov -
Category
Engineering
-
view
92 -
download
3
Transcript of 5 лекция. презентация
Методология Agile - TDD
• Test-driven development – Разработка через тестирование
• техника разработки ПО, которая основывается на повторении очень коротких циклов разработки: – Написание теста– Написание кода– рефакторинг нового кода к
соответствующим стандартам
Плюсы TDD
• Более приспособленный для тестирования код
• Рефакторинг кода без риска его испортить
• Большое количество тестов• Более модульный, гибкий и
расширяемый код• Тесты могут быть использованы в
качестве документации
Минусы TDD
• Большое количество кода• Большее время на разработку• Ложное ощущение надежности• Инверсия ответственности без
изменения ответственного• Существуют задачи, которые
невозможно решить только тестами (безопасность данных и взаимодейсвие между процессами)
TDD для тестировщика
• Написание Тест-плана ДО получения продукта на тестирование
• Метод Черного ящика на основе спецификации
• В Agile документация не является сильной стороной
• Частое изменение требований нарушает принципы TDD
От TDD к BDD
• Behavior-driven development (BDD) - Разработка через поведение
• техника разработки ПО, которая основывается на TDD, но в основу берутся не тесты, а поведение системы
• Поведение описывается на «обычном» языке по шаблонам – User story
Сильные стороны
• Более полная спецификация за счет «User story»
• «User story» можно показать конечному пользователю
• Меньшее количество тестов, по сравнению с TDD, при более плотном покрытии функционала
User story
• Одно или несколько предложений, на «обычном» языке, понятных конечному пользователю
• Описывает «Кто», «Что» и «Почему» требует от системы
• Простое и короткое описаниеКак (As a) Я хочу (I want) Чтобы (so that)
Пример User story Банкомат
Название: Клиент изымает наличныеКак клиент,Я хочу получить наличные из банкомата,чтобы мне не пришлось стоять в очереди в банке.
Сценарии для User story
• описание поведения системы, которым она отвечает на внешние запросы
• сценарий использования описывает, «кто» и «что» может сделать с рассматриваемой системой
• На одну User story может быть от одного до нескольких сценариев
Критерии хороших сценариев
• Независимые
• Конфигурируемые (таблицы, параметры)
• Конкретные имена
• Одно действие (пользователя) = один шаг (сценария)
• Одинаковые действия = одинаковое имя шага
User story и Сценарии
• User story содержат небольшие детали, оставаясь открытыми для интерпретации. Они помогают понимать что должна делать система.
• Сценарии описывают процесс и его шаги подробно. Обеспечивает всю необходимую информацию и детали для понимания
Примеры сценариев
Сценарий 1: На счету есть деньги
• Допустим на счету есть деньгиИ Карточка валиднаяИ в банкомате есть наличностьЕсли Клиент запрашивает наличностьТо Убедиться в том, что сумма вычтена со счетаИ убедиться в том, что деньги выданыИ убедиться в том, что карточка возвращена
Примеры сценариев
Сценарий 2: счет превышен за рамки лимита
• Допустим счет превышенИ карточка валиднаяЕсли клиент запрашивает наличностьТо убедиться в том, что показано сообщение об отказеИ убедиться в том, что наличность не выданаИ убедиться в том, что карточка возвращена
BDD для тестировщика
• Написание Сценариев совместно с аналитиком и заказчиком
• Нефункциональное тестирование (UI, локализации, совместимости, безопасности, производительности и т.д.)
ПримерБонусная программа на
автозаправке• Бонусы получают клиенты после каждой
совершенной покупки. Количество бонусов зависит от статуса карты.
• Серебряный – 3 бонуса за каждые 100р
• Золотой - 4 бонуса за каждые 100р
• Платиновый - 5 бонусов за каждые 100р
Пример (продолжение)
• Новые участники получают статус Серебряный, который меняется в начале каждого месяца.
Серебряный – менее 5999,99р
Золотой – от 6000 до 11999,99р
Платиновый – более 12000р