Как научить людей общаться с помощью Spec By Example

Post on 26-Jun-2015

187 views 2 download

Transcript of Как научить людей общаться с помощью Spec By Example

Спецификация на примерах или как научить людей общаться

Ребров Андрей

История об одной команде

Тестировщик

Аналитик

Разработчик

Их ждала работа

Много работы

А тут еще и заказчик негодует

И что с ними

стало?

На практике• 15000 требований•Постоянные переделки• Рассогласование требований, тестирования и разработки

Делаем первые шаги в правильном направлении

Story Mapping

• Формируем бэклог релиза• Определяем объем задач• Определяем архитектурные

изменения

Начало

Препланирование

• 2 раза в неделю• Участвует вся команда• Длительность 1 час• Что не успели, то не

успели

Промежуточные итоги

• Стало меньше багов• Стало меньше переделок• Демо стало проходить

успешно

Но!

Три источника правды• Требования• Тест-кейсы• Код

SPEC BY EXAMPLE

Используем Impact mapping

Зачем•Проверяем на соответствие бизнес целям релиза•Ищем альтернативные пути решения• Четко формулируем пользовательские истории

Например

Импорт данных в CRM через шину

Продажа услуг через CRM

Продажник

Повышение эффективности отдела продаж

Импорт данных в CRM из XML

Парная работа тестировщика и аналитика

Что они делают

• Подготовка 1 - 2 примеров с точки зрения пользователя

• Представление данных в виде таблицы

• Описание всей терминологии

НапримерРегион Существ

ует категория

Данные услуги

Услуга Адрес

Юрлицо

Поволжье Да ID1АдресРога и копыта

ID1 Адрес

Рога и копыта

Поволжье Нет ID1АдресРога и копыта

ID2 Адрес

Рога и копыта

Меняем препланирования

Новый формат• Тестировщик и

аналитик объясняют примеры

• Проводим Diverse & Merge

Diverse & Merge• Разбиваем команду на

группы• Хотя бы 1 группа без

тестировщика и аналитика, которые прорабатывали требования

• Даем 15-20 минут на проработку своих примеров

• По окончании сводим все таблицы в одну

Что на выходеРегион Существ

ует категория

Найдена услуга

Данные услуги

Услуга

Адрес

Адрес доставки

Юрлицо

Поволжье Да Да ID1АдресРога и копыта

ID1 Адрес

Адрес

Рога и копыта

Поволжье Нет Да ID1АдресРога и копыта

ID2 Адрес

Адрес

Рога и копыта

Уменьшаем размеры

Что делаемУменьшаем количество строк/столбцов в таблице• Вводим параметрические

обозначения• Сливаем схожие сценарии

в один• Убираем лишние данные• Выделяем новые

пользовательские истории

Как былоРегион Существ

ует категория

Найдена услуга

Данные услуги

Услуга

Адрес

Адрес доставки

Юрлицо

Поволжье Да Да ID1АдресРога и копыта

ID1 Адрес

Рога и копыта

Поволжье Нет Да ID1АдресРога и копыта

ID2 Адрес

Рога и копыта

Как сталоСуществует категория

Найдена услуга

Данные услуги

Услуга Данные услуги

Да Да Услуга Обновляем

Копируем

Нет Да Услуга Создаем Копируем

Требования =

Тест-кейсы

Время автоматизации

Behavior Driven Development (BDD)

• Разбиваем пользовательскую историю на шаги• Каждый шаг имеет трансляцию в код• Входные данные – таблицы с предыдущего этапа

Пример

Подведем итоги

Что сделали• Impact mapping• Совместная работа QA

+ BA• Diverse & Merge• Оптимизация данных• BDD

Чего добились• Однозначная трассировка

требований в код• Однозначное понимание

требований всей командой• Упрощение оценки требований• Экономия времени

тестировщиков• Стало проще готовить и

проводить демо

Twitter@andrebrov

E-mailarebrov@scrumtrek.ru

Skyperebrov.andrey

Вопросы?

Приглашаю на тренинги

Построение культуры DevOps Москва, 12 – 13 июня

Тестирование в AgileМосква, 8 – 10 июля