Каждый тест-менеджер должен посадить дерево или как...

Post on 13-Apr-2017

1.360 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Каждый тест-менеджер должен посадить дерево

или как искать баги в процессе Сергей Вербенко, г. Зеленоград

Знакомимся?

Стаж:• Немного был программистом – 2 года• Как тестировщик ~ 10 лет• Как тест-менеджер ~ 6 лет• В продуктовой компании

Проблематика

• Мы ищем баги, но есть всегда есть проблемы

• Проблемы тестирования - это результат тестирования © Майкл Болтон

• Баги процесса не только в тестировании

• Наша задача - найти баги

Инструментарий

• «5 Почему?»

• «Рыбья кость» - диаграммы Исикавы

Инструментарий

• «Дерево Текущей Реальности»

Инструментарий

Как я заинтересовался Теорией Ограничений?

Все началось с удивления, что• верный способ привести предприятие

к банкротству - это сделать работу каждого подразделения максимально эффективной

КАК ЖЕ ТАК?

Theory of Constraints (TOC) – что это?

• Противники – ничего нового…• В основе – здравый смысл• На мой взгляд, проста… и не

проста одновременно…

TOC – что это?• Рассматривает любую систему

как модель (простая аналогия – цепь)

• Ограничение – частое слово

Зачем знать про ограничения?

• Направление воздействия это ограничение

• Есть физические ограничения

• А есть организационные

Зачем это тестировщику?

• Тестирование – ограничение. Это хорошо или плохо?

Согласно TOC

• Контроль качества должен быть перед ограничением

• Ограничение – уникальный или дорогой ресурс

• Если ресурс не ограничение, то должен иметь резерв в мощности

1. Ищем2. Загружаем3. Подчиняем4. Увеличиваем5. Повторяем

Пять шагов

1. Что менять?• Дерево Текущей Реальности2. На что менять?• Диаграмма Разрешения Конфликтов• Дерево Будущей Реальности3. Как изменить?• Дерево переходов• План преобразований

Три вопроса улучшенийи деревья

1. Что менять?• Дерево Текущей Реальности2. На что менять?• Диаграмма Разрешения Конфликтов• Дерево Будущей Реальности3. Как изменить?• Дерево переходов• План преобразований

Три вопроса улучшенийи деревья

Дерево Текущей Реальности

• Отвечает на вопрос: «Почему система больна?»

• Модель нашей ситуации

Какова Цель?• Разобраться в сложной системе• Выявить и собрать

Нежелательны Явления (НЯ)• Определить причины для

дальнейших воздействий• Получить наглядную модель• Получить данные для

дальнейшей работы - ДБР

Способ построения• От общего к частному

(дедуктивный метод)• От частного к общему

(индуктивный метод)

От Ключевой Проблемы к НЯ• От Конфликта или Проблемы

ищем последствия• Строем «вверх»• Ищем следствия через

предложение «Если …, то …»• Умеем решать «Грозовые Тучи»• Нужна экспертиза и интуиция

Пример Конфликта• Грозовая туча «Регрессионное

тестирование»

Выпуск новой версии

Провести тестирование

быстро

Не допустить ошибок в старом

функционале

Сократить объем

регрессионного тестирования

Полноценное регрессионное тестирование

От НЯ к Ключевой Проблеме• Подробный алгоритм в книге

Детмера (ссылка в конце)• Построение «вниз»• Переход ниже через вопрос

«Почему происходит НЯ?»• Привлекаем экспертов

Как строить?• Определим область – «Почему …?»• Выписываем список НЯ

• Проверяем по чеклисту - Критериям Правильности Логических Построений (КПЛП)

• Строим связи между явлениями• Помня о КПЛП

• Проверяем• Ищем, что придает системе

устойчивость?

Главный вопрос• Почему <наша главная

проблема>?• Почему ВажныйПроект провален?• Почему скорость разработки

недостаточна?• Почему пользователи возвращают

нашу продукцию?• Почему ИмяРек опаздывает на

работу?• Почему дети постоянно спрашивают

«Почему»?

Выписываем Нежелательные Явления

• Составляем ТОП 10 из НЯ

Выписываем Нежелательные Явления

• Составляем ТОП 10 из НЯ• Выбираем половину

Выписываем Нежелательные Явления

• Составляем ТОП 10 из НЯ• Выбираем половину• Проверяем

• Ясность• Наличие утверждения

Проверка НЯ по КПЛП

Ясность УтвержденияНе

приходиться объяснять, о

чем речь

Нет двусмысленно

сти

Законченное простое

предложение

Имеет смыслПодтверждае

тся на практике

Одна мысль

Построение связей• Ищем зависимости между НЯ• Причину размещаем ниже• Связь есть, но НЯ не причина, то

ищем пропущенные явления (могут быть разными)

• Наращиваем дерево, помня о КПЛП

• Тупик – хорошо• Цикл или конфликт – прекрасно!

КПЛП: для связей• Ясность• Достаточность причины• Проверочное следствие• Альтернативные причины• Подмена причины и следствия• Тавтология

КПЛП: Достаточность

Тестировщики пропустили

баг

Недостаточно времени на

тестирование

Запутанная и непонятная архитектура приложения

КПЛП: Проверочное следствие

Тестировщики пропустили

баг

Недостаточно времени на

тестирование

Запутанная и непонятная архитектура

модуля

Отладка кода дольше, чем

на других модулях

?

КПЛП: Альтернативная причина

Сборка не тестопригодн

а

Пакет не устанавливае

тсяСервис не

запускается

КПЛП: Подмена причины и следствия

Тестировщик <Имярек>

плохо работает

Тестировщикам в компании X

мало платят

Тестировщикам в компании X мало платят

Тестировщик <Имярек>

плохо работает

ИЛИ

КПЛП: Тавтология

Состояние приложения

неустойчивое

Приложение не работоспособно

Где растить дерево?• В дендрарии • С ПО не получилось

• MS Visio• Плагин для wiki - graphviz• ПО для работы с диаграммами

TOC – Transformation Logic Tree

Где растить дерево?• Успешный опыт

• На доске с листочками

Где растить дерево?• По опыту коллег

• ПО Flying Logic

Примеры ДТР• Неопределенность функций

менеджера проектов

http://anton-nix.livejournal.com/16513.html

Примеры ДТР• Провал на переговорах

Примеры ДТР• Почему проект П не успешен?

Примеры ДТР• Почему «Софт не очень…»?

Польза• Дерево можно презентовать• Конструктивное поведение в группе

• Постоянная ретроспектива• Определение зон контроля и влияния

• Данные для дальнейшей работы – Дерево Будущей Реальности

В заключении• Построение Дерева – наш рост

• Думаем не только о своей грядке, но и о всём огороде

• Дерево – это пополнение нашего арсенала

Книги1. У. Детмер. Теория

ограничений Голдратта. Системный подход к непрерывному совершенствованию

2. Л. Лоуренс. Вовремя и в рамках бюджета.

Сергей Вербенкоemail: greyver@gmail.com twitter: @SVerbenkomoikrug: sergeyverbenko

top related