SlideShare a Scribd company logo
1 of 39
Download to read offline
Методики повышения
качества ПО
Характеристики
качественного ПО
• Внешние
• Внутренние
Внешние характеристики
• Корректность
• Практичность
• Эффективность
• Надежность
Внешние характеристики
• Целостность
• Адаптируемость
• Правильность
• Живучесть
Внешние
характеристики
это единственное, что волнует пользователей
Программисты
думают иначе!
Внутренние характеристики
• Удобство сопровождения
• Гибкость
• Портируемость
• Возможность повторного использования
Внутренние характеристики
• Удобочитаемость
• Тестируемость
• Понятность
Одни характеристики
влияют на другие
и наоборот
Методики повышения
качества ПО
• Выбор целевых характеристик
• Явный контроль качества
• Итеративная разработка
• Code review
Методики повышения
качества ПО
• Отдел тестирования
• Экстремальное программирование
Качество — одно из
важнейших целей
разработки ПО!
Организация процесса
• Контроль изменений. Сопротивление
дестабилизации проекта.
• Прототипирование
Методики контроля
качества ПО
• Code review
• Формальные инспекции кода и проекта
• Прототипирование
• Самостоятельная проверка кода
• Различное тестирование
• Бета-тесты (35%-75%!!!)
Методики контроля
качества ПО
• Одна методика <= 40%-50%
• Например, юнит-тестирование 30%-35%
• Комбинация методик ~80%-90%
Исследование Гленфорда
Майера
• Опыт 7-11 лет
• 15 ошибок
• Белый ящик, черный ящик, комбинация
Исследование Гленфорда
Майера
• Найдено от 1 до 9 ошибок, в среднем 5
• Это же 1/3!
• Комбинация x2
Исследования NASA и
Boeing
• Разные программисты находят разные дефекты
• Двое или больше разработчиков находят только
каждую 5 ошибку
Используйте
комбинации методик
XP
XP
• Позволяет устранить до 90% дефектов!
• Средний показатель по отрасли максимум 80%
XP
• Парное программирование — 35%
• Code review — 25%
• Самостоятельная проверка — 30%
XP
• Юнит-тестирование — 30%
• Интеграционное тестирование — 35%
• Регрессионное тестирование — 25%
Средняя величина —
90%!
Стоимость исправления
дефектов
• Чем дольше дефект в системе, тем дороже его
исправление.
• Дороже = время, деньги, ресурсы
• Чем раньше ошибка внедряется в приложение,
тем сильнее она переплетается с другими
частями
Стоимость исправления
дефектов
• Раннее обнаружение ошибок = снижение
стоимости разработки и поддержки
• Дефекты проникают в систему на всех этапах, от
планирования и проектирования до релиза.
Главный закон
контроля качества ПО
Повышение качества системы снижает расходы на ее
разработку и поддержку
Главный закон контроля
качества ПО
• Средняя производительность труда 10-50 строк
• Основное время убивается на поиск багов и
отладку
• Меньше времени на отладку = повышение
производительности труда
Устранение дефектов —
самый дорогой и длительный
этап разработки ПО
Парное программирование
выглядит примерно так
Парное программирование
• Затраты выше на 10%-15%
• Сокращение стоимости разработки и поддержки
на 45%
Парное программирование
• Code sharing
• Высокое качество кода
• Удобочитаемость
• Ускорение разработки
Некоторые факты о тестировании
Тестирование
• Разработчики тестируют хреново!
• Разработчики любят свой код. Мимими.
• Чистые/грязные тесты
• Необходимо ломать работу кода!
Тестирование
• Процесс незрелый: 5 чистых на 1 грязный
• Процесс зрелый: 5 грязных на 1 чистый
• За счет создания большего количества грязных
тестов
Тестирование
• Средний показатель ошибок: 1-25 на 1000 строк
• Microsoft: 10-20 ошибок на внутреннем
тестировании
• Microsoft: 0.5 ошибок в готовом продукте
Конец!

More Related Content

What's hot

ACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleSQALab
 
Проблемы курсов по тестированию и специалистов, которых они выпускают
Проблемы курсов по тестированию и специалистов, которых они выпускаютПроблемы курсов по тестированию и специалистов, которых они выпускают
Проблемы курсов по тестированию и специалистов, которых они выпускаютSQALab
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовCOMAQA.BY
 
Пять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуПять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуSergey Lourie
 
Devprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиDevprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиEvgeny Savitsky
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовSQALab
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...COMAQA.BY
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Улучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные моделиУлучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные моделиSQALab
 
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийSQALab
 
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньVolha Banadyseva
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010Artem Volftrub
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Эффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаЭффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаSQALab
 
Архитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиАрхитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
RUSSIA QUALITY REPORT 2015-16
RUSSIA QUALITY REPORT 2015-16RUSSIA QUALITY REPORT 2015-16
RUSSIA QUALITY REPORT 2015-16SQALab
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиковUladzimir Kryvenka
 

What's hot (20)

ACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом GoogleACC - конструируем тест-план методом Google
ACC - конструируем тест-план методом Google
 
Проблемы курсов по тестированию и специалистов, которых они выпускают
Проблемы курсов по тестированию и специалистов, которых они выпускаютПроблемы курсов по тестированию и специалистов, которых они выпускают
Проблемы курсов по тестированию и специалистов, которых они выпускают
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Пять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчикуПять вещей, которые нужно знать заказчику
Пять вещей, которые нужно знать заказчику
 
Devprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиDevprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработки
 
Шаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптовШаблоны проектирования нагрузочных скриптов
Шаблоны проектирования нагрузочных скриптов
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Улучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные моделиУлучшение процесса тестирования: контентные модели
Улучшение процесса тестирования: контентные модели
 
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
 
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровеньАлександр Анцыпов. REST: вывод традиционных систем на новый уровень
Александр Анцыпов. REST: вывод традиционных систем на новый уровень
 
О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010О чем молчит Scrum. Whalerider 2010
О чем молчит Scrum. Whalerider 2010
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Эффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитикаЭффективное взаимодействие тестировщика и аналитика
Эффективное взаимодействие тестировщика и аналитика
 
Архитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиАрхитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной области
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
RUSSIA QUALITY REPORT 2015-16
RUSSIA QUALITY REPORT 2015-16RUSSIA QUALITY REPORT 2015-16
RUSSIA QUALITY REPORT 2015-16
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Continuous Integration для тестировщиков
Continuous Integration для тестировщиковContinuous Integration для тестировщиков
Continuous Integration для тестировщиков
 

Viewers also liked

MachinesHUB investment proposal (Feb2015)
MachinesHUB investment proposal (Feb2015)MachinesHUB investment proposal (Feb2015)
MachinesHUB investment proposal (Feb2015)Parthiban Elangovan
 
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...Experientiel Sàrl
 
daily-slack-report
daily-slack-reportdaily-slack-report
daily-slack-reportKoichi Sato
 
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...Experientiel Sàrl
 
El retorno del rey
El retorno del reyEl retorno del rey
El retorno del reyjosias01
 
Akosha work culture
Akosha work cultureAkosha work culture
Akosha work cultureAkosha
 
3250 3577-1-pb
3250 3577-1-pb3250 3577-1-pb
3250 3577-1-pbraranteza
 
Presentation1
Presentation1Presentation1
Presentation1Akosha
 
Secrets to selling medicare year round
Secrets to selling medicare year roundSecrets to selling medicare year round
Secrets to selling medicare year roundramooney
 

Viewers also liked (17)

MachinesHUB investment proposal (Feb2015)
MachinesHUB investment proposal (Feb2015)MachinesHUB investment proposal (Feb2015)
MachinesHUB investment proposal (Feb2015)
 
Cocos2d-x и Lua
Cocos2d-x и LuaCocos2d-x и Lua
Cocos2d-x и Lua
 
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...
Experientiel - Proposez de meilleures expériences clients pour acquérir et fi...
 
Wedding suppliers
Wedding suppliersWedding suppliers
Wedding suppliers
 
ProjetoProinfo: reciclagem
ProjetoProinfo: reciclagemProjetoProinfo: reciclagem
ProjetoProinfo: reciclagem
 
daily-slack-report
daily-slack-reportdaily-slack-report
daily-slack-report
 
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...
Experientiel sàrl - Proposez de meilleures expériences clients pour acquérir ...
 
Presentacion patito
Presentacion patitoPresentacion patito
Presentacion patito
 
Zodiac
ZodiacZodiac
Zodiac
 
El retorno del rey
El retorno del reyEl retorno del rey
El retorno del rey
 
Akosha work culture
Akosha work cultureAkosha work culture
Akosha work culture
 
3250 3577-1-pb
3250 3577-1-pb3250 3577-1-pb
3250 3577-1-pb
 
ADOBE PHOTOSHOP
ADOBE PHOTOSHOPADOBE PHOTOSHOP
ADOBE PHOTOSHOP
 
Presentation1
Presentation1Presentation1
Presentation1
 
Secrets to selling medicare year round
Secrets to selling medicare year roundSecrets to selling medicare year round
Secrets to selling medicare year round
 
Animal extinction
Animal extinctionAnimal extinction
Animal extinction
 
Especial
EspecialEspecial
Especial
 

Similar to Разработка качественного ПО

Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!SQALab
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional testerVitebsk Miniq
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAndrey Rebrov
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казаниmargo-qa
 
Analyst days 2015 Оценка аутсорсинговых проектов
Analyst days 2015 Оценка аутсорсинговых проектовAnalyst days 2015 Оценка аутсорсинговых проектов
Analyst days 2015 Оценка аутсорсинговых проектовNatalia Zhelnova
 
Оценка аутсорсинговых проектов
Оценка аутсорсинговых проектовОценка аутсорсинговых проектов
Оценка аутсорсинговых проектовSQALab
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииGleb Rybalko
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Ontico
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеSQALab
 
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Technopark
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Система управления требованиями Devprom
Система управления требованиями DevpromСистема управления требованиями Devprom
Система управления требованиями DevpromEvgeny Savitsky
 

Similar to Разработка качественного ПО (20)

Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!Улучшить KPI в два раза? Сделано!
Улучшить KPI в два раза? Сделано!
 
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
 
Analyst days 2015 Оценка аутсорсинговых проектов
Analyst days 2015 Оценка аутсорсинговых проектовAnalyst days 2015 Оценка аутсорсинговых проектов
Analyst days 2015 Оценка аутсорсинговых проектов
 
Оценка аутсорсинговых проектов
Оценка аутсорсинговых проектовОценка аутсорсинговых проектов
Оценка аутсорсинговых проектов
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
01ka-nov
01ka-nov01ka-nov
01ka-nov
 
Testing
TestingTesting
Testing
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Критерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборотаКритерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборота
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
 
Инструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективныеИнструменты автоматизации тестирования - дефективные
Инструменты автоматизации тестирования - дефективные
 
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Система управления требованиями Devprom
Система управления требованиями DevpromСистема управления требованиями Devprom
Система управления требованиями Devprom
 

Разработка качественного ПО