Подготовка стратегии тестирования под...

52
Software quality assurance days 18 Международная конференция по вопросам качества ПО sqadays.com Москва. 27–28 ноября 2015 Сергей Мартыненко Москва, РФ Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Upload: sqalab

Post on 21-Mar-2017

1.230 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Software quality assurance days

18 Международная конференция

по вопросам качества ПО

sqadays.com

Москва. 27–28 ноября 2015

Сергей МартыненкоМосква, РФ

Подготовка стратегии тестирования под

высокорискованный, высокодоходный проект

Page 2: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

План доклада

Введение

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

Разработка стратегии тестирования

Общие принципы

Рисуем фон

Строим стратегии

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 3: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

ВВЕДЕНИЕ

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 4: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

О себе

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 5: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Что вы получите

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 6: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

ПОНЯТИЕ СТРАТЕГИИ

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Введение

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

Рисуем фон (описание проекта)

Разработка стратегии тестирования

Общие принципы

Рисуем фон

Строим стратегии

Page 7: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Обобщенный алгоритм создания

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 8: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Варианты стратегий II-мировой

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

01.09.1939 02.09.1945

Page 9: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Варианты стратегий II-мировой

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Реальность

01.09.1939 02.09.1945

План

весна- лето1944

Page 10: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Варианты стратегий II-мировой

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Быстрое уничтожение значительной части армии Лишение противника трудоспособного населения Парализация транспортной системы Парализация производства …

Page 11: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Варианты стратегий II-мировой

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Быстрое уничтожение значительной части армии Лишение противника трудоспособного населения Парализация транспортной системы Парализация производства

Page 12: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Операция Chastise

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 13: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Операция Chastise

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

минус 45% на 3-4 месяца – реальность

минус 65% на год - возможность

Page 14: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

РАЗРАБОТКА СТРАТЕГИИ ТЕСТИРОВАНИЯ

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Введение

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

Разработка стратегии тестирования

Общие принципы

Рисуем фон

Строим стратегии

Page 15: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

ОБЩИЕ ПРИНЦИПЫ

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 16: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Шаги, предшествующие

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

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 17: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Порядок разработки стратегии

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

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 18: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Связь стратегий

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Базовые принципы стратегии создания продукта:1. 2.

Стратегия системного анализа

Стратегия проектирования

Стратегия программирования

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

Page 19: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

РИСУЕМ ФОН

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Введение

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

Разработка стратегии тестирования

Общие принципы

Рисуем фон

Строим стратегии

Page 20: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Рисуем фон. Приоритеты.

1. Более половины таких проектов не взлетает.

2. Те, которые взлетают, приносят миллионы в неделю. Не рублей. Каждая лишняя неделя разработки - это многомиллионные потери. Приоритет – скорость.

3. Ошибка в системе, подобная описанной в "данетке для разработчика» или в «Дефект ценой в 440 миллионов долларов», может сделать фирму банкротом в течении часа.

4. Окно возможностей быстро захлопывается.

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 21: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Пример. Встраиваемый софт.

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Жизненный цикл продукта ранее

Жизненный цикл продукта сейчас

Продажи

t

Page 22: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Встраиваемый софт

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Продажи

t

Окно возможностей

Page 23: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Рисуем фон. Архитектура системы.

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Ядро

API

Наша разработка прикладных модулей

Сторонняя разработка прикладных модулей

Платформа А

Платформа B

Page 24: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Рисуем фон. Вехи.

• Выход в промышленную эксплуатацию

• Приемо-сдаточные испытания

• Начало разработки прикладных модулей

• Начало разработки ядра

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 25: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Рисуем фон. Ограничения системы

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Архитекторы ядра

Поток

Page 26: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Рисуем фон. Расчет бюджета

• Окно возможностей 100-300 рабочих дней

• Продажи в один рабочий день порядка $1 000 000

• Архитектор ядра обходится фирме в $1 000 / день

• Тестировщик ядра обходится фирме в $500 / день

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 27: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

СТРОИМ СТРАТЕГИИ

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Введение

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

Разработка стратегии тестирования

Общие принципы

Рисуем фон

Строим стратегии

Page 28: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Негатив vsПозитив

Исходя из ограничения системы

Автоматизация vs вручную

ГОСТ 9126

Знание кода

Кем проводится

Исследовательское или сценарное?

Page 29: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет стратегии тестирования «Позитив-Негатив»

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Негатив vsПозитив

При сдаче ядра -позитив

На ПСИ согласно ПМИ

В конце негатив

Приоритеты на разных вехах

В продакшене не должно быть возможности потерь

На ранней стадии нужно увидеть соответствие Идее

Как можно раньше передать API разработчикам прикладных модулей

Page 30: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Стратегия программирования

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Полная утилизация рабочего времени

t, дней

Работа

Легенда

Простои

0 дефектов

10095

Page 31: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 32: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 33: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Стратегия программирования

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Полная утилизация рабочего времени

t, дней

Работа

Легенда

Простои

0 дефектов

10095 120

Заморозканового функционала

Заморозканового функционала

Page 34: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Стратегия программирования

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Полная утилизация рабочего времени

t, дней

Работа

Легенда

Простои

0 дефектов

10095 120

Проект В

150

Page 35: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 36: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Склад

В производство

Делается

На проверку

Тестируется

В релиз

Если 5 программистов, то не более 7 задач в желтой зоне

Page 37: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Стратегия программирования

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

t, дней

Работа

Легенда

Простои

0 дефектов

10095 120

Заморозканового функционала

150

+ $ 5 000 000

+ $ 35 000 000

Page 38: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет из ограничения системы

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Исходя из ограничения системы

Планируемая норма простоя тестировщиков ядра 20-30%

Ограничение системы

Программисты ядра – уникальный ресурс

Page 39: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Роль Кол-во Стоимость

в день, $

Дней Итого

Сбалансиро-

ванная

цепочка

Архитектор 3 1000 130 585 000

Тестировщик 3 500 130

По теории

ограничений

Архитектор 3 1000 115 575 000

Тестировщик 4 500 115

Page 40: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Роль Кол-во Стоимость

в день, $

Дней Итого

Сбалансиро-

ванная

цепочка

Архитектор 3 1000 130 585 000

Тестировщик 3 500 130

По теории

ограничений

Архитектор 3 1000 115 575 000

Тестировщик 4 500 115

Заб [и|ы] ть

+ 15 дней = - $ 15 000 000

Page 41: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «вручную или автоматизировать»?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 42: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «вручную или автоматизировать»?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

t, дней115 345

0 дефектов

- $ 230 000 000

Тестировние

Page 43: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «вручную или автоматизировать»?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Работа

Легенда

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

10095 120 150

+ $ 5 000 000

Программирование

Page 44: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «вручную или автоматизировать»?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

t, дней

Работа

Легенда

Простои

0 дефектов

10095 120

Заморозканового функционала

Заморозканового функционала

Page 45: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет Автоматизации

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Автоматизировать

Количество тестировщиков кардинально возрастает

Приоритет - скорость

Программисты ядра –уникальный ресурс

Уберите простои программистовядра

Увеличьте производительность программистовядра

Page 46: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «Кто тестирует»?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 47: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет «Кто гоняет тесты?»

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

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

Автоматизировать

Тесты гоняют программисты

Приоритет - скорость

Программисты ядра –уникальный ресурс

Уберите простои программистовядра

Увеличьте производительность программистовядра

Page 48: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет по атрибутам качества ПО

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

ГОСТ 9126Надежность (Reliability)

Функциональные возможности (Functionality)

Практичность (Usability)

Эффективность (Efficiency)

Мобильность (Portability)

Сопровождаемость(Maintainability)

Page 49: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Фасет по атрибутам качества ПО

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

ГОСТ 9126Надежность (Reliability)

Функциональные возможности (Functionality)

Практичность (Usability)

Эффективность (Efficiency)

Мобильность (Portability)

Сопровождаемость(Maintainability)

Page 50: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Функциональные возможности (Functionality)

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Важность

Пригодность (Suitability) ++

Правильность (Accuracy) ++

Способность к

взаимодействию

(Interoperability)

+++

Согласованность (Compliance) +

Защищенность (Security ++++

Page 51: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

А есть еще фасеты?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Page 52: Подготовка стратегии тестирования под высокорискованный, высокодоходный проект

Вопросы?

Подготовка стратегии тестирования под высокорискованный, высокодоходный проект