SlideShare a Scribd company logo
1 of 20
ИСПОЛЬЗОВАНИЕ МЕТРИК
В ПРОЦЕССЕ ОБЕСПЕЧЕНИЯ КАЧЕСТВА
СЛОЖНЫХ СИСТЕМ
ВИКТОР ГРЕБЕНЮК
Гребенюк Виктор
http://ru.linkedin.com/pub/viktor-grebenyuk/19/b55/76
Менеджер по координации процесса тестирования
Райффайзенбанк
Москва
КРАТКО О СЕБЕ
Словарь ISTQB (v2.2): Метрика (metric): Шкала измерений и метод,
используемый для измерений [ISO 14598]
ISO/IEC 14598-1:1999 : The term "metric" has been used in many senses
in software engineering publications. In this international standard it is
defined as a quantitative scale and method which can be used for
measurement. The word "measure" is used to refer to the result of a
measurement.
Wikipedia: Ме́трика програ́ммного обеспе́чения (англ. software
metric) — мера, позволяющая получить численное значение
некоторого свойства программного обеспечения или его
спецификаций.
ЧТО ТАКОЕ МЕТРИКИ?
• отклонения от календарного плана;
• отклонения по составу работ/трудозатратам;
• возникновение необходимости доработок или
исправления проблем после окончания
запланированных работ.
МЕТРИКИ, КАК СРЕДСТВО
ИДЕНТИФИКАЦИИ РИСКОВ
• нет универсального набора метрик;
• нет единого подхода к использованию;
• нет единого подхода к классификации;
• много метрик - плохо;
• некоторые метрики могут навредить;
• нюансы тестируемых систем, организации,
процессов.
ПОЧЕМУ ВЫБРАТЬ МЕТРИКИ НЕ
ВСЕГДА ПРОСТО?
Сложная система — система, состоящая из множества
взаимодействующих составляющих, вследствие чего
сложная система приобретает новые свойства, которые
отсутствуют на подсистемном уровне и не могут быть
сведены к свойствам подсистемного уровня.
http://ru.wikipedia.org/wiki/Сложная_система
ЧТО ТАКОЕ «СЛОЖНАЯ СИСТЕМА»?
12
линий
НАПРИМЕР… МЕТРО?
195
станций
2 463 800 000
перевезённых за год пассажиров
**данные годового отчёта Московского метрополитена за 2012 год
9 279 083
перевезённых за день пассажиров
39 946
работников метрополитена
3 656
среднесуточный эксплуатируемый
парк вагонов
• разная критичность подсистем;
• разные технологии и языки программирования;
• отсутствие доступа к исходному коду;
• разное качество аналитики, разработки, тестирования;
• нет унификации между информацией о найденных
дефектах, деталях выполняемых испытаний и пр.
В ЧЕМ ОСОБЕННОСТЬ ВЫБОРА
МЕТРИК ДЛЯ СЛОЖНЫХ
ИНФОРМАЦИОННЫХ СИСТЕМ?
КАК ПОЛУЧИТЬ МАКСИМУМ
ИНФОРМАЦИИ ИЗ ВЫБРАННОГО
МАССИВА МЕТРИК?
Приведём различные виды и типы метрик к 2 видам:
а. Метрики, описывающие качество продукта;
б. Метрики, характеризующие качество процесса.
УПОРЯДОЧИВАЕМ И
КЛАССИФИЦИРУЕМ МЕТРИКИ
КАЧЕСТВА
Используемые метрики
- плотность дефектов в коде/по функциональным областям;
- полнота покрытия кода или требований тестами;
- распределение инцидентов по типам;
- распределение дефектов по фазам тестирования;
- уровень удовлетворённости конечных пользователей продуктом;
- эффективность нахождения дефектов во время тестирования.
Обобщим данные отдельных метрик используя шкалу
оценки от 0 до 10 (чем выше качество, тем выше оценка).
ОБОБЩАЕМ ДАННЫЕ ОТДЕЛЬНЫХ
МЕТРИК
Система Качество продукта Качество процесса
System A
System B
System C
System D
System E
7,78
5,30
4,80
2,46
3,58
1,75
6,78
6,45
7,02
3,40
I четверть
(высокое качество процессов
и продукта) – оптимальное
соотношение уровня
качества процессов и продукта
II четверть
(высокое качество процессов,
но низкое качество продукта)
– хорошее/неплохое состояние
III четверть
(низкое качество процессов
и продукта) – наихудшее
состояние
IV четверть
(низкое качество процессов,
но высокое качество продукта)
– неопределённое состояние
ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ
КАЧЕСТВА
0 5 10
5
10
КАЧЕСТВОПРОЦЕССА
КАЧЕСТВО ПРОДУКТА
I четверть
(высокое качество процессов
и продукта) – оптимальное
соотношение уровня
качества процессов и продукта
II четверть
(высокое качество процессов,
но низкое качество продукта)
– хорошее/неплохое состояние
III четверть
(низкое качество процессов
и продукта) – наихудшее
состояние
IV четверть
(низкое качество процессов,
но высокое качество продукта)
– неопределённое состояние
ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ
КАЧЕСТВА
0 5 10
5
10
КАЧЕСТВОПРОЦЕССА
КАЧЕСТВО ПРОДУКТА
I четверть
(высокое качество процессов
и продукта) – оптимальное
соотношение уровня
качества процессов и продукта
II четверть
(высокое качество процессов,
но низкое качество продукта)
– хорошее/неплохое состояние
III четверть
(низкое качество процессов
и продукта) – наихудшее
состояние
IV четверть
(низкое качество процессов,
но высокое качество продукта)
– неопределённое состояние
ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ
КАЧЕСТВА
0 5 10
5
10
КАЧЕСТВОПРОЦЕССА
КАЧЕСТВО ПРОДУКТА
I четверть
(высокое качество процессов
и продукта) – оптимальное
соотношение уровня
качества процессов и продукта
II четверть
(высокое качество процессов,
но низкое качество продукта)
– хорошее/неплохое состояние
III четверть
(низкое качество процессов
и продукта) – наихудшее
состояние
IV четверть
(низкое качество процессов,
но высокое качество продукта)
– неопределённое состояние
ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ
КАЧЕСТВА
0 5 10
5
10
КАЧЕСТВОПРОЦЕССА
КАЧЕСТВО ПРОДУКТА
Шаг 1. Определим критичность подсистем.
Выставим уровень критичности каждой из подсистем по шкале от 1
до 5 (тем выше риск, тем выше оценка). Этот показатель будет
определять «вес» системы на графике.
Шаг 2. Определим зависимости подсистем и нанесём на
диаграмму их отображение. Это сделает возможным получение
дополнительной информации о рисках, связанных с зависимыми
системами.
ДОБАВЛЯЕМ НАГЛЯДНОСТИ
ОТОБРАЖАЕМ ПОЛУЧЕННЫЕ
ДАННЫЕ НА ДИАГРАММЕ
System A
System B
System C
System D
System E
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
КАЧЕСТВО ПРОДУКТА
КАЧЕСТВОПРОЦЕССА
II I
III IV
• Наглядно отобразили текущую ситуацию с качеством в
системы целом, как и для каждой подсистемы;
• Упорядочили всё множество используемых метрик и
показателей качества;
• Избежали длинных аннотаций и пояснений;
• Выделили масштабы систем и наиболее критичные
связи.
ЧЕМ УДОБЕН ТАКОЙ МЕТОД?
Гребенюк Виктор
http://ru.linkedin.com/pub/viktor-grebenyuk/19/b55/76
ВОПРОСЫ?
1. Kan S.H., Metrics and Models in Software Quality Engineering, Second Edition. - Addison Wesle, 2002. - 560 c.
2. Certified Tester, Expert Level Syllabus, Ed. by Veenendaal E., Bath G., Evans I. - ISTQB, 2011 Режим доступа:
http://www.istqb.org/downloads/finish/18/12.html
3. Kaner C., Bond W.P., Software Engineering Metrics: What Do They Measure and How Do We Know?, 10th International
Software Metrics Symposium, Metrics 2004. Режим доступа: http://testingeducation.org/a/3
4. Hoffman D. The Darker Side of Metrics // Сайт компании Software Quality Methods, LLC. Режим доступа:
http://www.softwarequalitymethods.com/Papers/DarkMets%20Paper.pdf
5. Гребенюк В.М. О методах определения эффективности и достаточности мер по обеспечению качества сложных
информационных систем // INTERMATIC – 2013, Материалы Международной научно-технической конференции, 2
– 6 декабря 2013 г., Москва, часть 6, c. 11-12.
6. SWEBOK v3.0, edited by Bourque P., Fairley R.E. – IEEE, 2014 Режим доступа: www.swebok.org
7. Northrop L. at al, Ultra-Large-Scale Systems: The Software Challenge of the Future. - Carnegie Mellon University, 2006.
- 150 c..
8. ГОСТ Р 51901-2002 "Управление надежностью. Анализ риска технологических систем"
9. ГОСТ 27.310-95 "Надежность в технике. Анализ видов, последствий и критичности отказов. Основные
положения"
10. Схемы компонентов UML: справочные материалы // Microsoft Developer Network. Режим доступа:
http://msdn.microsoft.com/ru-ru/library/dd409390(v=vs.100).aspx (дата обращения 19.03.2014)
11. Гребенюк В.М. Использование метрик в процессе обеспечения качества сложных информационных систем //
Интернет-журнал «INTERNATIONAL JOURNAL OF OPEN INFORMATION TECHNOLOGIES» [Электронный ресурс]. –
Лаборатория Открытых Информационных Технологий факультета ВМК МГУ им. М.В. Ломоносова , № 4 2014 –
Режим доступа: http://injoit.org/index.php/j1/article/view/94/69.
12. Годовой отчет Московского метрополитена за 2012 год //
http://mosmetro.ru/upload/1716/2012.pdf
ЛИТЕРАТУРА ПО ТЕМЕ

More Related Content

What's hot

Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентация
akmoldir
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
Alexei Lupan
 
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
Alexei Lupan
 

What's hot (20)

обзор IT бизнеса
обзор IT бизнесаобзор IT бизнеса
обзор IT бизнеса
 
Istqb lesson 2
Istqb lesson 2Istqb lesson 2
Istqb lesson 2
 
Requirements engineering. IREB practices
Requirements engineering. IREB practicesRequirements engineering. IREB practices
Requirements engineering. IREB practices
 
Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентация
 
урок 1
урок 1урок 1
урок 1
 
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
Михаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for qualityМихаил Павлов - is a tester responsible for quality
Михаил Павлов - is a tester responsible for quality
 
Управление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестированияУправление конфигурациями и артефакты тестирования
Управление конфигурациями и артефакты тестирования
 
Istqb lesson 3
Istqb lesson 3Istqb lesson 3
Istqb lesson 3
 
Istqb lesson 1
Istqb lesson 1Istqb lesson 1
Istqb lesson 1
 
1 150818201143-lva1-app6892
1 150818201143-lva1-app68921 150818201143-lva1-app6892
1 150818201143-lva1-app6892
 
Test design print
Test design printTest design print
Test design print
 
Software testing foundations_ilya_pluzhnikov
Software testing foundations_ilya_pluzhnikovSoftware testing foundations_ilya_pluzhnikov
Software testing foundations_ilya_pluzhnikov
 
Istqb lesson 5
Istqb lesson 5Istqb lesson 5
Istqb lesson 5
 
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 6
Istqb lesson 6Istqb lesson 6
Istqb lesson 6
 
Istqb lesson 4
Istqb lesson 4Istqb lesson 4
Istqb lesson 4
 
Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.Requirements, введение в bug tracking systems.
Requirements, введение в bug tracking systems.
 
QA процесс, часть 1
QA процесс, часть 1QA процесс, часть 1
QA процесс, часть 1
 

Viewers also liked

Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качествоГлеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
SQALab
 
101 способ провести нагрузочное тестирование неправильно
101 способ провести нагрузочное тестирование неправильно101 способ провести нагрузочное тестирование неправильно
101 способ провести нагрузочное тестирование неправильно
SQALab
 
Построение системы нагрузочного тестирования
Построение системы нагрузочного тестированияПостроение системы нагрузочного тестирования
Построение системы нагрузочного тестирования
SQALab
 

Viewers also liked (20)

Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качествоГлеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
Глеб Рыбалко - Цена качества. Как объяснить заказчику, сколько стоит качество
 
Особенности процесса тестирования при внедрении Continuous Delivery на пример...
Особенности процесса тестирования при внедрении Continuous Delivery на пример...Особенности процесса тестирования при внедрении Continuous Delivery на пример...
Особенности процесса тестирования при внедрении Continuous Delivery на пример...
 
Метрики покрытия. Прагматичный подход
Метрики покрытия. Прагматичный подходМетрики покрытия. Прагматичный подход
Метрики покрытия. Прагматичный подход
 
Monthly Operations Review
Monthly Operations ReviewMonthly Operations Review
Monthly Operations Review
 
Полезные метрики покрытия. Практический опыт и немного теории
Полезные метрики покрытия. Практический опыт и немного теорииПолезные метрики покрытия. Практический опыт и немного теории
Полезные метрики покрытия. Практический опыт и немного теории
 
Waterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестированияWaterfall revisited: практические метрики тестирования
Waterfall revisited: практические метрики тестирования
 
Оценки тестирования - полезные и условные метрики
Оценки тестирования - полезные и условные метрикиОценки тестирования - полезные и условные метрики
Оценки тестирования - полезные и условные метрики
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 
Промышленные подходы к организации нагрузочного тестирования
Промышленные подходы к организации нагрузочного тестированияПромышленные подходы к организации нагрузочного тестирования
Промышленные подходы к организации нагрузочного тестирования
 
101 способ провести нагрузочное тестирование неправильно
101 способ провести нагрузочное тестирование неправильно101 способ провести нагрузочное тестирование неправильно
101 способ провести нагрузочное тестирование неправильно
 
Тестирование производительности для специалистов по автоматизации - зачем и как?
Тестирование производительности для специалистов по автоматизации - зачем и как?Тестирование производительности для специалистов по автоматизации - зачем и как?
Тестирование производительности для специалистов по автоматизации - зачем и как?
 
Построение системы нагрузочного тестирования
Построение системы нагрузочного тестированияПостроение системы нагрузочного тестирования
Построение системы нагрузочного тестирования
 
Коррелятор для JMeter
Коррелятор для JMeterКоррелятор для JMeter
Коррелятор для JMeter
 
Тестируем производительность с помощью Selenium
Тестируем производительность с помощью SeleniumТестируем производительность с помощью Selenium
Тестируем производительность с помощью Selenium
 
JMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский докладJMeter и OutOfMemory. Исследовательский доклад
JMeter и OutOfMemory. Исследовательский доклад
 
Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?Путь тестировщика: Расту или деградирую?
Путь тестировщика: Расту или деградирую?
 
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
 
Определение pass/fail критериев при тестировании и анализе производительности
Определение pass/fail критериев при тестировании и анализе производительностиОпределение pass/fail критериев при тестировании и анализе производительности
Определение pass/fail критериев при тестировании и анализе производительности
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и Selenium
 
Можно ли прикрутить нечеткий логический вывод к тестированию
Можно ли прикрутить нечеткий логический вывод к тестированиюМожно ли прикрутить нечеткий логический вывод к тестированию
Можно ли прикрутить нечеткий логический вывод к тестированию
 

Similar to Использование метрик в процессе обеспечения качества сложных систем

Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
Technopark
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
Technopark
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
Technopark
 
Test management
Test managementTest management
Test management
QA Guards
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?
sqadays8
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
CEE-SEC(R)
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
Denis Petelin
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
SQALab
 

Similar to Использование метрик в процессе обеспечения качества сложных систем (20)

Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
 
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
 
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
 
Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
PMIufa 2012-03-01
PMIufa 2012-03-01PMIufa 2012-03-01
PMIufa 2012-03-01
 
Test management print
Test management printTest management print
Test management print
 
Test management
Test managementTest management
Test management
 
Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?Отвечает ли тестировщик за качество?
Отвечает ли тестировщик за качество?
 
Как задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрахКак задавать требования к качеству ПО в цифрах
Как задавать требования к качеству ПО в цифрах
 
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...
 
1
11
1
 
1
11
1
 
Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?Михаил Павлов -- Отвечает ли тестировщик за качество?
Михаил Павлов -- Отвечает ли тестировщик за качество?
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
 
Как развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CIКак развить отдел тестирования от палки-копалки до CI
Как развить отдел тестирования от палки-копалки до CI
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Внедрение тестирования в Scrum
Внедрение тестирования в ScrumВнедрение тестирования в Scrum
Внедрение тестирования в Scrum
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 

More from SQALab

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Использование метрик в процессе обеспечения качества сложных систем

  • 1. ИСПОЛЬЗОВАНИЕ МЕТРИК В ПРОЦЕССЕ ОБЕСПЕЧЕНИЯ КАЧЕСТВА СЛОЖНЫХ СИСТЕМ ВИКТОР ГРЕБЕНЮК
  • 2. Гребенюк Виктор http://ru.linkedin.com/pub/viktor-grebenyuk/19/b55/76 Менеджер по координации процесса тестирования Райффайзенбанк Москва КРАТКО О СЕБЕ
  • 3. Словарь ISTQB (v2.2): Метрика (metric): Шкала измерений и метод, используемый для измерений [ISO 14598] ISO/IEC 14598-1:1999 : The term "metric" has been used in many senses in software engineering publications. In this international standard it is defined as a quantitative scale and method which can be used for measurement. The word "measure" is used to refer to the result of a measurement. Wikipedia: Ме́трика програ́ммного обеспе́чения (англ. software metric) — мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций. ЧТО ТАКОЕ МЕТРИКИ?
  • 4. • отклонения от календарного плана; • отклонения по составу работ/трудозатратам; • возникновение необходимости доработок или исправления проблем после окончания запланированных работ. МЕТРИКИ, КАК СРЕДСТВО ИДЕНТИФИКАЦИИ РИСКОВ
  • 5. • нет универсального набора метрик; • нет единого подхода к использованию; • нет единого подхода к классификации; • много метрик - плохо; • некоторые метрики могут навредить; • нюансы тестируемых систем, организации, процессов. ПОЧЕМУ ВЫБРАТЬ МЕТРИКИ НЕ ВСЕГДА ПРОСТО?
  • 6. Сложная система — система, состоящая из множества взаимодействующих составляющих, вследствие чего сложная система приобретает новые свойства, которые отсутствуют на подсистемном уровне и не могут быть сведены к свойствам подсистемного уровня. http://ru.wikipedia.org/wiki/Сложная_система ЧТО ТАКОЕ «СЛОЖНАЯ СИСТЕМА»?
  • 7. 12 линий НАПРИМЕР… МЕТРО? 195 станций 2 463 800 000 перевезённых за год пассажиров **данные годового отчёта Московского метрополитена за 2012 год 9 279 083 перевезённых за день пассажиров 39 946 работников метрополитена 3 656 среднесуточный эксплуатируемый парк вагонов
  • 8. • разная критичность подсистем; • разные технологии и языки программирования; • отсутствие доступа к исходному коду; • разное качество аналитики, разработки, тестирования; • нет унификации между информацией о найденных дефектах, деталях выполняемых испытаний и пр. В ЧЕМ ОСОБЕННОСТЬ ВЫБОРА МЕТРИК ДЛЯ СЛОЖНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ?
  • 9. КАК ПОЛУЧИТЬ МАКСИМУМ ИНФОРМАЦИИ ИЗ ВЫБРАННОГО МАССИВА МЕТРИК?
  • 10. Приведём различные виды и типы метрик к 2 видам: а. Метрики, описывающие качество продукта; б. Метрики, характеризующие качество процесса. УПОРЯДОЧИВАЕМ И КЛАССИФИЦИРУЕМ МЕТРИКИ КАЧЕСТВА Используемые метрики - плотность дефектов в коде/по функциональным областям; - полнота покрытия кода или требований тестами; - распределение инцидентов по типам; - распределение дефектов по фазам тестирования; - уровень удовлетворённости конечных пользователей продуктом; - эффективность нахождения дефектов во время тестирования.
  • 11. Обобщим данные отдельных метрик используя шкалу оценки от 0 до 10 (чем выше качество, тем выше оценка). ОБОБЩАЕМ ДАННЫЕ ОТДЕЛЬНЫХ МЕТРИК Система Качество продукта Качество процесса System A System B System C System D System E 7,78 5,30 4,80 2,46 3,58 1,75 6,78 6,45 7,02 3,40
  • 12. I четверть (высокое качество процессов и продукта) – оптимальное соотношение уровня качества процессов и продукта II четверть (высокое качество процессов, но низкое качество продукта) – хорошее/неплохое состояние III четверть (низкое качество процессов и продукта) – наихудшее состояние IV четверть (низкое качество процессов, но высокое качество продукта) – неопределённое состояние ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ КАЧЕСТВА 0 5 10 5 10 КАЧЕСТВОПРОЦЕССА КАЧЕСТВО ПРОДУКТА
  • 13. I четверть (высокое качество процессов и продукта) – оптимальное соотношение уровня качества процессов и продукта II четверть (высокое качество процессов, но низкое качество продукта) – хорошее/неплохое состояние III четверть (низкое качество процессов и продукта) – наихудшее состояние IV четверть (низкое качество процессов, но высокое качество продукта) – неопределённое состояние ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ КАЧЕСТВА 0 5 10 5 10 КАЧЕСТВОПРОЦЕССА КАЧЕСТВО ПРОДУКТА
  • 14. I четверть (высокое качество процессов и продукта) – оптимальное соотношение уровня качества процессов и продукта II четверть (высокое качество процессов, но низкое качество продукта) – хорошее/неплохое состояние III четверть (низкое качество процессов и продукта) – наихудшее состояние IV четверть (низкое качество процессов, но высокое качество продукта) – неопределённое состояние ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ КАЧЕСТВА 0 5 10 5 10 КАЧЕСТВОПРОЦЕССА КАЧЕСТВО ПРОДУКТА
  • 15. I четверть (высокое качество процессов и продукта) – оптимальное соотношение уровня качества процессов и продукта II четверть (высокое качество процессов, но низкое качество продукта) – хорошее/неплохое состояние III четверть (низкое качество процессов и продукта) – наихудшее состояние IV четверть (низкое качество процессов, но высокое качество продукта) – неопределённое состояние ВИЗУАЛИЗИРУЕМ ПОКАЗАТЕЛИ КАЧЕСТВА 0 5 10 5 10 КАЧЕСТВОПРОЦЕССА КАЧЕСТВО ПРОДУКТА
  • 16. Шаг 1. Определим критичность подсистем. Выставим уровень критичности каждой из подсистем по шкале от 1 до 5 (тем выше риск, тем выше оценка). Этот показатель будет определять «вес» системы на графике. Шаг 2. Определим зависимости подсистем и нанесём на диаграмму их отображение. Это сделает возможным получение дополнительной информации о рисках, связанных с зависимыми системами. ДОБАВЛЯЕМ НАГЛЯДНОСТИ
  • 17. ОТОБРАЖАЕМ ПОЛУЧЕННЫЕ ДАННЫЕ НА ДИАГРАММЕ System A System B System C System D System E 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 КАЧЕСТВО ПРОДУКТА КАЧЕСТВОПРОЦЕССА II I III IV
  • 18. • Наглядно отобразили текущую ситуацию с качеством в системы целом, как и для каждой подсистемы; • Упорядочили всё множество используемых метрик и показателей качества; • Избежали длинных аннотаций и пояснений; • Выделили масштабы систем и наиболее критичные связи. ЧЕМ УДОБЕН ТАКОЙ МЕТОД?
  • 20. 1. Kan S.H., Metrics and Models in Software Quality Engineering, Second Edition. - Addison Wesle, 2002. - 560 c. 2. Certified Tester, Expert Level Syllabus, Ed. by Veenendaal E., Bath G., Evans I. - ISTQB, 2011 Режим доступа: http://www.istqb.org/downloads/finish/18/12.html 3. Kaner C., Bond W.P., Software Engineering Metrics: What Do They Measure and How Do We Know?, 10th International Software Metrics Symposium, Metrics 2004. Режим доступа: http://testingeducation.org/a/3 4. Hoffman D. The Darker Side of Metrics // Сайт компании Software Quality Methods, LLC. Режим доступа: http://www.softwarequalitymethods.com/Papers/DarkMets%20Paper.pdf 5. Гребенюк В.М. О методах определения эффективности и достаточности мер по обеспечению качества сложных информационных систем // INTERMATIC – 2013, Материалы Международной научно-технической конференции, 2 – 6 декабря 2013 г., Москва, часть 6, c. 11-12. 6. SWEBOK v3.0, edited by Bourque P., Fairley R.E. – IEEE, 2014 Режим доступа: www.swebok.org 7. Northrop L. at al, Ultra-Large-Scale Systems: The Software Challenge of the Future. - Carnegie Mellon University, 2006. - 150 c.. 8. ГОСТ Р 51901-2002 "Управление надежностью. Анализ риска технологических систем" 9. ГОСТ 27.310-95 "Надежность в технике. Анализ видов, последствий и критичности отказов. Основные положения" 10. Схемы компонентов UML: справочные материалы // Microsoft Developer Network. Режим доступа: http://msdn.microsoft.com/ru-ru/library/dd409390(v=vs.100).aspx (дата обращения 19.03.2014) 11. Гребенюк В.М. Использование метрик в процессе обеспечения качества сложных информационных систем // Интернет-журнал «INTERNATIONAL JOURNAL OF OPEN INFORMATION TECHNOLOGIES» [Электронный ресурс]. – Лаборатория Открытых Информационных Технологий факультета ВМК МГУ им. М.В. Ломоносова , № 4 2014 – Режим доступа: http://injoit.org/index.php/j1/article/view/94/69. 12. Годовой отчет Московского метрополитена за 2012 год // http://mosmetro.ru/upload/1716/2012.pdf ЛИТЕРАТУРА ПО ТЕМЕ

Editor's Notes

  1. Эксперт в области обеспечения качества с почти 10 летним стажем тестирования сложных систем и приложений, преимущественно в финансовом секторе. Обширный опыт работы на различных проектах для крупнейших компаний в роли тестировщика, тест лида и тест менеджера позволил накопить экспертизу по самым разным направлениям и методологиям тестирования, технологиям и подходам к обеспечению качества.
  2. В первую очередь - слайд для того, чтобы всех напугать - на последующих текста будет значительно меньше! Не все понимают что такое метрики и зачем они нужны. Примеры со слайда…. В моём понимании - конечная цель любых метрик – своевременная идентификация рисков.
  3. В случае обеспечения качества сложных систем, как и во многих других случаях, основными рисками являются: • Риски не завершить запланированные активности в срок (т.е. отклонение от календарного плана); • Риски возникновения новых, незапланированных или неучтённых ранее активностей в процессе работы над инициативой (т.е. отклонение по составу работ и/или по трудозатратам); • Риски возникновения доработок и/или исправления проблем после окончания инициативы (например, выявление необходимости доработок или исправлений после завершения проекта, если речь идёт о проекте). В общем случае, при использовании метрик в сложных информационных системах, необходимо получать как можно более точное и однозначное представление о текущем уровне риска с учётом критичности подсистем.
  4. • нет универсального набора метрик; • не существует единого подхода к использованию метрик;• нет единого подхода к классификации; • слишком большое количество собираемых метрик может негативно отразится на производительности команды; • неправильно выбранные метрики могут создавать некорректную мотивацию у сотрудников (например, стремление скрыть информацию об известных дефектах), что негативно влияет на качество разрабатываемых систем; • при выборе метрик нужно учесть особенности тестируемых систем, организации, процессов.
  5. Упрощая: сложная система – система, содержащая несколько подсистем, каждая из которых сама по себе может считаться системой или группой систем. Сложная система – понятие, которое используется не только в IT. Для упрощения понимания, приведём пример не IT’шной сложной системы.
  6. Метро – сложная система высокого уровня критичности, состоящая из множества элементов (данные со слайда…). Каждая линия – это подсистема. Линии бывают разной протяжённости, загруженности, иметь разные типы поездов, расписание движения, а также разные точки интеграции между линиями. Теперь представим, что линии – ИТшные системы, поезда – наборы тестов, а пассажиры – дефекты.
  7. • Наличие нескольких подсистем разной степени критичности, основанных на разных технологиях и языках программирования; • Возможное отсутствие доступа к исходному коду продукта для отдельных подсистем;• Качество процессов аналитики, разработки, тестирования и др. может отличаться между подсистемами, а значит результаты некоторых метрик нельзя аппроксимировать с одной подсистемы на другие подсистемы; • Может отсутствовать унификация между информацией о найденных дефектах, деталях выполняемых испытаний и пр., поступающей от разных подсистем. Резюме: вместо того, чтобы пытаться выбрать универсальные метрики для всех систем – стоит сосредоточится на выборе оптимально подходящего набора метрик для каждой подсистемы
  8. а. Метрики, описывающие качество продукта; Пример с метро: линии метро доступны; количество пассажиров на каждой ветке прогнозируемо. б. Метрики, характеризующие качество процесса. Пример с метро: поезда останавливаются на всех станциях; ходят по расписанию; перевозят всех пассажиров, которые есть. Не смотря на то, что данные группы метрик связаны (например, чем выше степень покрытия системы тестами, чем больше вероятность обнаружения скрытых дефектов), метрики качества процессов можно однозначно отделить от метрик качества продукта (т.е. степень покрытия тестами - не то же самое, что высокое качество тестируемой системы)
  9. Обобщим данные, полученные с помощью отдельных метрик, в общие индикативные показатели уровня качества продукта и качества процессов для каждой из подсистем. Для этого предлагается использовать шкалу оценки от 0 до 10 (чем выше качество, тем выше оценка).
  10. Много разных тестов и мало дефектов
  11. Много тестов и много дефектов. Почему это не так плохо? Да, качество системы не очень, но мы точно оцениваем риски.
  12. Мало тестов и много дефектов. Почему наихудшее состояние? И тестируем плохо/мало и качество системы низкое.
  13. Мало тестов и мало дефектов. Почему неопределённое? Может качество системы выглядит неплохим только потому, что мы тестируем плохо/мало. Возможно, если тестировать качественнее, то обнаружится что качество системы на самом деле хуже.
  14. в список наиболее критичных подсистем попадут подсистемы, отвечающие следующим критериям: •подсистемы, используемые в наибольшем количестве бизнес процессов; • подсистемы, используемые в наиболее важных бизнес процессах (в том числе, являются определяющими успешность выполнения основных бизнес процессов другими подсистемами); • подсистемы, изначально имеющие дополнительные риски (например, график поставки изначально спланирован слишком оптимистично); • подсистемы, по которым в момент проведения анализа отсутствуют достоверные данные об их критичности для системы в целом.
  15. Как строить? Что обязательно, а что – нет? Что ещё можно пометить на эту схему?
  16. Кто потребитель? ПМы, релиз координаторы, заказчики и другие