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

45
Каждый тест-менеджер должен посадить дерево или как искать баги в процессе Сергей Вербенко, г. Зеленоград

Upload: sqalab

Post on 13-Apr-2017

1.357 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 2: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

Знакомимся?

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

Page 3: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

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

Page 4: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

• «5 Почему?»

Page 5: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 6: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 7: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

КАК ЖЕ ТАК?

Page 8: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 9: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 10: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

Page 11: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 12: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

Согласно TOC

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

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

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

Page 13: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

Пять шагов

Page 14: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 15: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 16: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 17: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

Page 18: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 19: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 20: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

быстро

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

функционале

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

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

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

Page 21: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 22: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

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

Page 23: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

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

«Почему»?

Page 24: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 25: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 26: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 27: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

чем речь

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

сти

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

предложение

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

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

Одна мысль

Page 28: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

Page 29: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

Page 30: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

баг

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

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

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

Page 31: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

баг

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

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

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

модуля

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

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

?

Page 32: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

а

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

тсяСервис не

запускается

Page 33: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

мало платят

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

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

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

ИЛИ

Page 34: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

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

Page 35: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

TOC – Transformation Logic Tree

Page 36: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

Page 37: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

• ПО Flying Logic

Page 38: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 39: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

Page 40: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

Page 41: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

Page 42: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 43: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 44: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

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

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

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

Page 45: Каждый тест-менеджер должен посадить дерево или как искать баги в процессе

Сергей Вербенкоemail: [email protected] twitter: @SVerbenkomoikrug: sergeyverbenko