SlideShare a Scribd company logo
Почему мы тестируем именно
так?
Тестирование как управление рисками продукта
Григорий Сенин. Люксофт
Язык рисков
Чем мы рискуем, если сейчас прекращаем
тестирование и выпускаем продукт?
No risk -- no test
 Чтобы ответить на этот вопрос, необходимо представлять себе
риски продукта
 Области, таящие риск и НЕ охваченные тестами, трактуются как
угроза продукту
Дефект – источник риска
• Проявление дефекта
– это неблагоприятное событие, которое может с некоторой
вероятностью случиться при работе с продуктом
 с каждым дефектом, остающимся в продукте, связан
риск
• Остающийся в продукте риск мог бы быть вычислен как
суммарный риск от всех неисправленных, а также
ненайденных дефектов
Примеры рисков,
связанных с дефектами
• «слишком долгий отклик системы» – потеря времени
поль-ля
• «неудобный интерфейс» – то же плюс невыполнение
полезной функции
• «отсутствие нужной функции» – негативное воздействие
на бизнес-процесс предприятия пользователя
• «крах системы» – потеря данных и др. тяжёлые
последствия вплоть до потери заказчиком репутации
• При заказной разработке исполнитель может
подвергнуться штрафным санкциям
• Разные дефекты таят в себе разный потенциальный ущерб для
Заказчика/пользователя
• Поэтому важно не только считать их общее количество, но и
оценивать размер последствий от наличия дефектов
Тестирование с точки зрения
управления рисками
 Анализ и
ранжирование
требований
 Проектирование
тестов
 Выполнение
тестов
 Измерения,
отчёты
 Стратегия,
подход
Тестирование с точки зрения
управления рисками
Этап управления рисками Деятельность группы тестирования
Идентификация рисков
Стратегиятестирования
Получение перечня рисков
Анализ атрибутов рисков
Приоритеты тестирования;
ранжирование требований
План сдерживания рисков
Тест-проектирование, планирование
тест-циклов
Отслеживание рисков
Прогон тестов, регистрация дефектов,
верификация исправлений, отчёты
Контроль
Анализ результатов, метрики,
коррекция приоритетов
Идентификация рисков
Три метода
1. от рисков к продукту: ведение общего перечня рисков
2. от продукта к рискам: анализ слабых мест продукта
3. от требований к рискам -- атрибуты качества
От рисков к продукту:
перечни рисков
• пример
источник риска код риска категория
риска
риск
Immature vendor
capability
CUS-08 Technical
Development Risk
Customer-supplied components have poor
quality, resulting in extra testing, design,
and integration work and in extra customer-
relationship management.
Общие источники продуктовых рисков (Дж.Бах):
• «новое»
• «сложное»
• «важное»
• «интенсивность»
• интерфейсы
• место поломки
• оптимизация
• ...
От продукта к рискам
Слабости Угрозы Ущерб
Идентификация рисков по
характеристикам качества
• Functionality – функциональные дефекты
• Reliability – низкая производительность
• Usability – неудоство пользовательского интерфейса
• Efficiency – неэффективная работа с вычислительными ресурсами
• Maintainability -- ...
• Portability -- ...
-- т.наз. FRUEMP-методика (по ISO 9126)
• Уровень риска: что случится, если требования данного типа не
будут удовлетворены?
• Важность (приоритет, ранг) требования можно трактовать как
размер потенциального ущерба
Анализ атрибутов рисков
Вероятность – степень «видимости» дефекта
• Всегда: пользователь попадает сюда в каждой сессии
• Часто: сюда «рано или поздно» попадает каждый
пользователь, но не обязательно в каждой сессии
• Время от времени: обычно опытные пользователи
• Редко: большинство здесь не бывает никогда
– в эту область можно попасть только в результате весьма
специфической последовательности шагов
Ущерб
• Катастрофический: крах системы, потеря
данных
• Серьёзный: функция отсутствует
• Средний: функция отсутствует, но есть
обходной путь
• Незначительный: неудобный интерфейс
Анализ атрибутов рисков2
Ущерб через приоритеты требований:
• Обязательное требование: продукт неприемлем, если требование
не реализовано
• условно-необходимое, или желательное требование: усиливает
продукт, но продукт остаётся приемлемым и без него
• необязательное требование: ценность его неочевидна
Соответствующие приоритеты тестирования:
• обязательные: должны быть реализованы безукоризненным
образом (без дефектов)
• желательные: должны работать, но не обязательно безупречно
(незначительные дефекты приемлемы)
• необязательные: могут содержать дефекты (приемлемы
дефекты, кроме критических)
Способы определения
приоритетов требований
1. Заказчиком на основе собственных предпочтений
(customer value)
2. Исполнителем на основе информации о ценности
требований для заказчика:
 функция тем ценнее для Заказчика, чем больше
выигрыш от её наличия и чем больше потеря от её
неполучения
 ценность можно рассматривать как сумму этих
величин
3. (Good enough approach) Какие усилия, вложенные в
тестирование на соответствие требованиям
некоторого уровня, будут оправданны?
 Если тестировать в области риска становится дороже,
чем понести потери от этого риска, то тестирование
нецелесообразно
Оценка рисков служит...
• для классификации дефектов
– серьёзность дефекта ставится в зависимость от
критичности требования
• для формулировки критериев завершения
тестирования
– суммарный риск, остающийся в продукте, должен
быть достаточно низок
Приоритеты для
классификации дефектов
функция
недоступна
обходные пути,
неочевидные
действия
неудобство
использования
косметические
замечания,
пожелания
высокая фатальный серьёзный серьёзный средний
средняя серьёзный серьёзный средний незначит
низкая средний средний незначит незначит
Критичностьтребования
Симптом нарушения требования
Серьёзность ошибки в зависимости от важности требования
Критерии завершения
тестирования
• Идея: минимизировать суммарный остающийся в продукте
риск
• Критерии опираются на классификацию дефектов в
проекте
1. Классификация: критический, серьёзный, незначительный,
косметический
– Критерий:
• Все критические тесты пройдены
• Все критические или серьёзные дефекты закрыты
2. Классификация: критический, серьёзный, незначительный
– Критерий:
• Все критические тесты пройдены
• Все критические дефекты закрыты
• Все незакрытые серьёзные дефекты проанализированы и
величина стоящего за ними риска признана приемлемой
План сдерживания рисков
продукта
• Специфика продуктовых рисков:
– Ответственность де-факто на тест-менеджере
– Риски рукотворные! Источник – в самом процессе
разработки
Риск можно «вызвать» в виде дефекта,
затем «разоблачить» и устранить
• Сдерживание рисков  выявление дефектов
– План тестирования – инструмент для этого
Сдерживание рисков при
тестировании
Приоритеты тестирования служат:
• для планирования тест-циклов
• критичные компоненты/подсистемы тестируются
раньше
• для проектирования функциональных тестов
– моделирование угроз продукту («провокация»
рисков)
– если функциональная область (или компонент) не
покрыта тестами, это равносильно принятию риска
На сдерживание рисков направлены также:
• Регрессионное тестирование
• Автоматизированное тестирования
Приоритеты при тест-
проектировании
Глубина проектирования функциональных тестов
вероятность/частота выполнения сценария
Критичностьсценария
высокая средняя низкая
высокая глубокое
средняя
низкая неглубокое
Отслеживание рисков
• Выполнение тестов направлено на
устранение рисков через обнаружение и
исправление дефектов
– более критичные сценарии прогоняются
чаще
• Отслеживание рисков ведётся в форме
отслеживания дефектов
– Отчёты о тестировании, статистика
– Метрики тестирования; суммарный риск
продукта
Отслеживание рисков2
• Во время выполнения тестов наступившие
риски исследуются в форме дефектов (те же
фазы):
– Идентификация – обнаружен дефект
– Анализ – дефект воспроизведён, изолирован,
уточнён, обобщён, взвешен (серьёзность);
– Планирование -- уточнены тест-спеки,
контролируется статус дефекта
Отслеживание и контроль
рисков
• Пока дефект не исправлен, риск в продукте остаётся
• В результате исправления и верификации дефекта риск
устраняется (eliminated)
• Когда известный дефект решено не исправлять, это принятие
риска (accepted) – нормально для незначительных дефектов
• Когда не исправляется серьёзный дефект, его обычно
необходимо разделить с кем-то (tranferred):
– с менеджером проекта (проектное совещание)
– с заказчиком (в ходе сдачи-приёмки)
– с пользователем (путём описания дефектов в
сопроводительной документации ~ Known Bugs/Workarounds)
• Иногда можно пробовать избежать риска (avoided)
– переписать фрагмент кода, где коренятся дефекты
– урезать код -- сократить функционал
Типичное состояние
продукта в конце разработки
проверено и
исправлено
проверено, но не
исправлено
не проверено
Ожидаемыехарактеристики
Реальные
характеристики
Риски
остаются
неопределённость
Риски
устранёны

• выявить самые высокие риски
качества в продукте как можно
раньше!
• Максимальные риски будут
вовремя устранены
• Остающиеся в продукте риски
будут на приемлемом уровне
• Область неопределённости не
будет источником
существенных рисков
Приоритеты помогают
уменьшить риски продукта
не
проверено
проверено, но
не исправлено
проверено и
исправлено
Тестирование на основе
рисков качества
– что тестировать,
– что тестировать раньше,
– насколько тщательно тестировать,
– когда завершать тестирование.
Различать важное и неважное для тестирования
При нехватке времени уметь пожертвовать наименее существенным
Риски продукта
Анализ рисков устанавливает приоритеты
Больше риска – больше тестирования
Риск
Вероятность (частота)
• кто будет пользоваться системой
• что будет с ней делать
• как часто
Ущерб, потери
Что наихудшее может произойти,
если в этой функции или свойстве
системы произойдет отказ?
Questions?

More Related Content

What's hot

Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionAlexei Lupan
 
Istqb lesson 4
Istqb lesson 4Istqb lesson 4
Istqb lesson 4
Eugene Bulba
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
SQALab
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
Eugene Bulba
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
Eugene Bulba
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Mail.ru Group
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
Eugene Bulba
 
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийAlexander Kalouguine
 
Istqb lesson 5
Istqb lesson 5Istqb lesson 5
Istqb lesson 5
Eugene Bulba
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
Uladzimir Kryvenka
 
Александр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыАлександр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыsqadays8
 
RCM Logic Explanation
RCM Logic ExplanationRCM Logic Explanation
RCM Logic Explanation
Konstantin Zyryanov, CMRP
 
RCM briefly
RCM brieflyRCM briefly
«Управление рисками, или Когда выпускать продукт» Александр Федотов
«Управление рисками, или Когда выпускать продукт» Александр Федотов«Управление рисками, или Когда выпускать продукт» Александр Федотов
«Управление рисками, или Когда выпускать продукт» Александр Федотов
DataArt
 
Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!
CUSTIS
 
7 принципов эффективного тестирования
7 принципов эффективного тестирования7 принципов эффективного тестирования
7 принципов эффективного тестирования
ak-itconsulting.com
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practices
Eugene Bulba
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
Eugene Bulba
 
Секреты становления тестировщика
Секреты становления тестировщикаСекреты становления тестировщика
Секреты становления тестировщика
SQALab
 

What's hot (20)

Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
 
Istqb lesson 4
Istqb lesson 4Istqb lesson 4
Istqb lesson 4
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
 
Istqb lesson 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Req Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требованийReq Labs'2011. Коммуникация нефункциональных требований
Req Labs'2011. Коммуникация нефункциональных требований
 
Istqb lesson 5
Istqb lesson 5Istqb lesson 5
Istqb lesson 5
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
Александр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефектыАлександр Александров -- Дефектные дефекты
Александр Александров -- Дефектные дефекты
 
RCM Logic Explanation
RCM Logic ExplanationRCM Logic Explanation
RCM Logic Explanation
 
RCM briefly
RCM brieflyRCM briefly
RCM briefly
 
«Управление рисками, или Когда выпускать продукт» Александр Федотов
«Управление рисками, или Когда выпускать продукт» Александр Федотов«Управление рисками, или Когда выпускать продукт» Александр Федотов
«Управление рисками, или Когда выпускать продукт» Александр Федотов
 
Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!Тестирование ПО: баг не пройдет!
Тестирование ПО: баг не пройдет!
 
7 принципов эффективного тестирования
7 принципов эффективного тестирования7 принципов эффективного тестирования
7 принципов эффективного тестирования
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practices
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
 
Секреты становления тестировщика
Секреты становления тестировщикаСекреты становления тестировщика
Секреты становления тестировщика
 
Test management print
Test management printTest management print
Test management print
 

Similar to SQA-11 (GSenin-Luxoft+comments)

SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестирования
SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестированияSQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестирования
SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестированияNikita Nalyutin
 
Risk management
Risk managementRisk management
Risk management
Return on Intelligence
 
Risk Management
Risk ManagementRisk Management
Risk Management
Return on Intelligence
 
[Sqa days]risk driven testing
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testingAlexei Lupan
 
Paper 51 (supplementary file) [sqa days]risk driven testing
Paper 51 (supplementary file)   [sqa days]risk driven testingPaper 51 (supplementary file)   [sqa days]risk driven testing
Paper 51 (supplementary file) [sqa days]risk driven testingAlexei Lupan
 
Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)
Alexey Kachalin
 
Анна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingАнна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingsqadays8
 
Взгляд на QA со стороны
Взгляд на QA со стороныВзгляд на QA со стороны
Взгляд на QA со стороны
Alexander Kalouguine
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciplesQA Guards
 
Alexandrov, Alexandr основы управления качеством
Alexandrov, Alexandr основы управления качествомAlexandrov, Alexandr основы управления качеством
Alexandrov, Alexandr основы управления качествомrit2010
 
Test labs 2016. Пренебрежение лучшими практиками тестирования
Test labs 2016. Пренебрежение лучшими практиками тестированияTest labs 2016. Пренебрежение лучшими практиками тестирования
Test labs 2016. Пренебрежение лучшими практиками тестирования
Sasha Soleev
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыSerguei Gitinsky
 
Ihor Dorochevskyi: How to handle Risks on Projects
Ihor Dorochevskyi: How to handle Risks on ProjectsIhor Dorochevskyi: How to handle Risks on Projects
Ihor Dorochevskyi: How to handle Risks on Projects
Lviv Startup Club
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
Risk management theory
Risk management theoryRisk management theory
Risk management theory
Anna Lavrova
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...it-people
 

Similar to SQA-11 (GSenin-Luxoft+comments) (20)

SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестирования
SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестированияSQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестирования
SQA Days 9. Налютин Никита, Антон Александров. Управление рисками тестирования
 
Risk management
Risk managementRisk management
Risk management
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
[Sqa days]risk driven testing
[Sqa days]risk driven testing[Sqa days]risk driven testing
[Sqa days]risk driven testing
 
Paper 51 (supplementary file) [sqa days]risk driven testing
Paper 51 (supplementary file)   [sqa days]risk driven testingPaper 51 (supplementary file)   [sqa days]risk driven testing
Paper 51 (supplementary file) [sqa days]risk driven testing
 
Управление рисками
Управление рискамиУправление рисками
Управление рисками
 
Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)Внедрение безопасной разработки (Infosecurity 2014)
Внедрение безопасной разработки (Infosecurity 2014)
 
Анна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testingАнна Кербель -- Risk driven testing
Анна Кербель -- Risk driven testing
 
Взгляд на QA со стороны
Взгляд на QA со стороныВзгляд на QA со стороны
Взгляд на QA со стороны
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciples
 
Alexandrov, Alexandr основы управления качеством
Alexandrov, Alexandr основы управления качествомAlexandrov, Alexandr основы управления качеством
Alexandrov, Alexandr основы управления качеством
 
Test labs 2016. Пренебрежение лучшими практиками тестирования
Test labs 2016. Пренебрежение лучшими практиками тестированияTest labs 2016. Пренебрежение лучшими практиками тестирования
Test labs 2016. Пренебрежение лучшими практиками тестирования
 
Управление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктурыУправление рисками при эксплуатации ИТ-инфраструктуры
Управление рисками при эксплуатации ИТ-инфраструктуры
 
Ihor Dorochevskyi: How to handle Risks on Projects
Ihor Dorochevskyi: How to handle Risks on ProjectsIhor Dorochevskyi: How to handle Risks on Projects
Ihor Dorochevskyi: How to handle Risks on Projects
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
Risk management theory
Risk management theoryRisk management theory
Risk management theory
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
Dump nzh 02
Dump nzh 02Dump nzh 02
Dump nzh 02
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
 

SQA-11 (GSenin-Luxoft+comments)

  • 1. Почему мы тестируем именно так? Тестирование как управление рисками продукта Григорий Сенин. Люксофт
  • 2. Язык рисков Чем мы рискуем, если сейчас прекращаем тестирование и выпускаем продукт? No risk -- no test  Чтобы ответить на этот вопрос, необходимо представлять себе риски продукта  Области, таящие риск и НЕ охваченные тестами, трактуются как угроза продукту
  • 3. Дефект – источник риска • Проявление дефекта – это неблагоприятное событие, которое может с некоторой вероятностью случиться при работе с продуктом  с каждым дефектом, остающимся в продукте, связан риск • Остающийся в продукте риск мог бы быть вычислен как суммарный риск от всех неисправленных, а также ненайденных дефектов
  • 4. Примеры рисков, связанных с дефектами • «слишком долгий отклик системы» – потеря времени поль-ля • «неудобный интерфейс» – то же плюс невыполнение полезной функции • «отсутствие нужной функции» – негативное воздействие на бизнес-процесс предприятия пользователя • «крах системы» – потеря данных и др. тяжёлые последствия вплоть до потери заказчиком репутации • При заказной разработке исполнитель может подвергнуться штрафным санкциям • Разные дефекты таят в себе разный потенциальный ущерб для Заказчика/пользователя • Поэтому важно не только считать их общее количество, но и оценивать размер последствий от наличия дефектов
  • 5. Тестирование с точки зрения управления рисками  Анализ и ранжирование требований  Проектирование тестов  Выполнение тестов  Измерения, отчёты  Стратегия, подход
  • 6. Тестирование с точки зрения управления рисками Этап управления рисками Деятельность группы тестирования Идентификация рисков Стратегиятестирования Получение перечня рисков Анализ атрибутов рисков Приоритеты тестирования; ранжирование требований План сдерживания рисков Тест-проектирование, планирование тест-циклов Отслеживание рисков Прогон тестов, регистрация дефектов, верификация исправлений, отчёты Контроль Анализ результатов, метрики, коррекция приоритетов
  • 7. Идентификация рисков Три метода 1. от рисков к продукту: ведение общего перечня рисков 2. от продукта к рискам: анализ слабых мест продукта 3. от требований к рискам -- атрибуты качества
  • 8. От рисков к продукту: перечни рисков • пример источник риска код риска категория риска риск Immature vendor capability CUS-08 Technical Development Risk Customer-supplied components have poor quality, resulting in extra testing, design, and integration work and in extra customer- relationship management. Общие источники продуктовых рисков (Дж.Бах): • «новое» • «сложное» • «важное» • «интенсивность» • интерфейсы • место поломки • оптимизация • ...
  • 9. От продукта к рискам Слабости Угрозы Ущерб
  • 10. Идентификация рисков по характеристикам качества • Functionality – функциональные дефекты • Reliability – низкая производительность • Usability – неудоство пользовательского интерфейса • Efficiency – неэффективная работа с вычислительными ресурсами • Maintainability -- ... • Portability -- ... -- т.наз. FRUEMP-методика (по ISO 9126) • Уровень риска: что случится, если требования данного типа не будут удовлетворены? • Важность (приоритет, ранг) требования можно трактовать как размер потенциального ущерба
  • 11. Анализ атрибутов рисков Вероятность – степень «видимости» дефекта • Всегда: пользователь попадает сюда в каждой сессии • Часто: сюда «рано или поздно» попадает каждый пользователь, но не обязательно в каждой сессии • Время от времени: обычно опытные пользователи • Редко: большинство здесь не бывает никогда – в эту область можно попасть только в результате весьма специфической последовательности шагов Ущерб • Катастрофический: крах системы, потеря данных • Серьёзный: функция отсутствует • Средний: функция отсутствует, но есть обходной путь • Незначительный: неудобный интерфейс
  • 12. Анализ атрибутов рисков2 Ущерб через приоритеты требований: • Обязательное требование: продукт неприемлем, если требование не реализовано • условно-необходимое, или желательное требование: усиливает продукт, но продукт остаётся приемлемым и без него • необязательное требование: ценность его неочевидна Соответствующие приоритеты тестирования: • обязательные: должны быть реализованы безукоризненным образом (без дефектов) • желательные: должны работать, но не обязательно безупречно (незначительные дефекты приемлемы) • необязательные: могут содержать дефекты (приемлемы дефекты, кроме критических)
  • 13. Способы определения приоритетов требований 1. Заказчиком на основе собственных предпочтений (customer value) 2. Исполнителем на основе информации о ценности требований для заказчика:  функция тем ценнее для Заказчика, чем больше выигрыш от её наличия и чем больше потеря от её неполучения  ценность можно рассматривать как сумму этих величин 3. (Good enough approach) Какие усилия, вложенные в тестирование на соответствие требованиям некоторого уровня, будут оправданны?  Если тестировать в области риска становится дороже, чем понести потери от этого риска, то тестирование нецелесообразно
  • 14. Оценка рисков служит... • для классификации дефектов – серьёзность дефекта ставится в зависимость от критичности требования • для формулировки критериев завершения тестирования – суммарный риск, остающийся в продукте, должен быть достаточно низок
  • 15. Приоритеты для классификации дефектов функция недоступна обходные пути, неочевидные действия неудобство использования косметические замечания, пожелания высокая фатальный серьёзный серьёзный средний средняя серьёзный серьёзный средний незначит низкая средний средний незначит незначит Критичностьтребования Симптом нарушения требования Серьёзность ошибки в зависимости от важности требования
  • 16. Критерии завершения тестирования • Идея: минимизировать суммарный остающийся в продукте риск • Критерии опираются на классификацию дефектов в проекте 1. Классификация: критический, серьёзный, незначительный, косметический – Критерий: • Все критические тесты пройдены • Все критические или серьёзные дефекты закрыты 2. Классификация: критический, серьёзный, незначительный – Критерий: • Все критические тесты пройдены • Все критические дефекты закрыты • Все незакрытые серьёзные дефекты проанализированы и величина стоящего за ними риска признана приемлемой
  • 17. План сдерживания рисков продукта • Специфика продуктовых рисков: – Ответственность де-факто на тест-менеджере – Риски рукотворные! Источник – в самом процессе разработки Риск можно «вызвать» в виде дефекта, затем «разоблачить» и устранить • Сдерживание рисков  выявление дефектов – План тестирования – инструмент для этого
  • 18. Сдерживание рисков при тестировании Приоритеты тестирования служат: • для планирования тест-циклов • критичные компоненты/подсистемы тестируются раньше • для проектирования функциональных тестов – моделирование угроз продукту («провокация» рисков) – если функциональная область (или компонент) не покрыта тестами, это равносильно принятию риска На сдерживание рисков направлены также: • Регрессионное тестирование • Автоматизированное тестирования
  • 19. Приоритеты при тест- проектировании Глубина проектирования функциональных тестов вероятность/частота выполнения сценария Критичностьсценария высокая средняя низкая высокая глубокое средняя низкая неглубокое
  • 20. Отслеживание рисков • Выполнение тестов направлено на устранение рисков через обнаружение и исправление дефектов – более критичные сценарии прогоняются чаще • Отслеживание рисков ведётся в форме отслеживания дефектов – Отчёты о тестировании, статистика – Метрики тестирования; суммарный риск продукта
  • 21. Отслеживание рисков2 • Во время выполнения тестов наступившие риски исследуются в форме дефектов (те же фазы): – Идентификация – обнаружен дефект – Анализ – дефект воспроизведён, изолирован, уточнён, обобщён, взвешен (серьёзность); – Планирование -- уточнены тест-спеки, контролируется статус дефекта
  • 22. Отслеживание и контроль рисков • Пока дефект не исправлен, риск в продукте остаётся • В результате исправления и верификации дефекта риск устраняется (eliminated) • Когда известный дефект решено не исправлять, это принятие риска (accepted) – нормально для незначительных дефектов • Когда не исправляется серьёзный дефект, его обычно необходимо разделить с кем-то (tranferred): – с менеджером проекта (проектное совещание) – с заказчиком (в ходе сдачи-приёмки) – с пользователем (путём описания дефектов в сопроводительной документации ~ Known Bugs/Workarounds) • Иногда можно пробовать избежать риска (avoided) – переписать фрагмент кода, где коренятся дефекты – урезать код -- сократить функционал
  • 23. Типичное состояние продукта в конце разработки проверено и исправлено проверено, но не исправлено не проверено Ожидаемыехарактеристики Реальные характеристики Риски остаются неопределённость Риски устранёны 
  • 24. • выявить самые высокие риски качества в продукте как можно раньше! • Максимальные риски будут вовремя устранены • Остающиеся в продукте риски будут на приемлемом уровне • Область неопределённости не будет источником существенных рисков Приоритеты помогают уменьшить риски продукта не проверено проверено, но не исправлено проверено и исправлено
  • 25. Тестирование на основе рисков качества – что тестировать, – что тестировать раньше, – насколько тщательно тестировать, – когда завершать тестирование. Различать важное и неважное для тестирования При нехватке времени уметь пожертвовать наименее существенным
  • 26. Риски продукта Анализ рисков устанавливает приоритеты Больше риска – больше тестирования Риск Вероятность (частота) • кто будет пользоваться системой • что будет с ней делать • как часто Ущерб, потери Что наихудшее может произойти, если в этой функции или свойстве системы произойдет отказ?