SlideShare uma empresa Scribd logo
1 de 28
Качественная борьба за количество Роман Ивлиев
О чем это я... Качество и риски Поля для деятельности Что делать?
Качество и риски
Качество и риски Финансовые риски
Качество и риски Финансовые риски Временные риски
Качество и риски Финансовые риски Временные риски Функциональные риски
Причем тут качество?
Что там было про количество?
Два типа функционала Тот, что обязательно тестируем
Два типа функционала Тот, что обязательно тестируем Если хватит сил и времени
Цель Уменьшить количество затрат на тестирование Увеличить качество продукта
Поле для деятельности-1 Функционал
Поле для деятельности-1 Функционал Устойчивость
Поле для деятельности-1 Функционал Устойчивость Производительность
Поле для деятельности-1 Функционал Устойчивость Производительность Удобство использования
Поле для деятельности-1 Функционал Устойчивость Производительность Удобство использования
Поле для деятельности-1 Функционал Устойчивость Производительность Удобство использования Работа с данными
Поле для деятельности-1 Функционал Устойчивость Производительность Удобство использования Работа с данными Взаимодействие со смежными системами
Что делать?
Думать и управлять
Уменьшить количество Как? Расставить приоритеты Сопоставить время рискам Сопоставить ресурсы рискам Сопоставить финансы рискам
Прикинуть приоритетность Комплексные приоритеты Серьезность Приоритет Вероятность
Смотреть вглубь в вширь  Маленькие проекты Побольше Совсем большие
Эмпирический метод Собрали в кучу функуионал; Прикинули для ниго ситуации; Поставили приоритет; Сопоставили с рисками; Обсудили список с остальными; Отсортировали по убыванию.
ISO 9126 Функционал? Надежность? Юзабилити? Эффективность? Производительность? Удобство поддержки?
FMEA Failure Mode and Effects Analysis метод анализа видов ошибок и их влияния
Каждому свое «Слова вы услышали; поиск пути за вами» Уильямс Деминг
Спасибо за внимание! Я: Роман Ивлиев E-почта:Roman.ivliev@mail.ru ICQ UIN: 73034738 Skype: roman.ivliyev LJ: http://dumtest.livejournal.com

Mais conteúdo relacionado

Mais de Roman Ivliev

Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016Roman Ivliev
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеRoman Ivliev
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрикRoman Ivliev
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиRoman Ivliev
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингRoman Ivliev
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работаетRoman Ivliev
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.Roman Ivliev
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных системRoman Ivliev
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими рукамиRoman Ivliev
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграцийRoman Ivliev
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистовRoman Ivliev
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядомRoman Ivliev
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3Roman Ivliev
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Roman Ivliev
 

Mais de Roman Ivliev (15)

Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучше
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжиниринг
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работает
 
Soa tester view
Soa tester viewSoa tester view
Soa tester view
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных систем
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими руками
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистов
 
Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядом
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2
 

Qualitative battle for the quantity final

Notas do Editor

  1. Представим обычную для наших дней ситуацию. Проект. Бюджет. Все как обычно. Надо строить систему тестирования. Будем честны перед собой. В современных условиях рынка, когда гонка за клиентом достигла небывалых высот, тестировнию уделяется время, но, как обычно совсем не то, которое хочется. Я бы не был столь категоричен, если бы практически все современные вендоры программного обеспечения через пару месяцев после выпуска продукта на рынок, не шлепали пакет заплаток. Кто-то не скромничает и называет Critical Fix, кто-то Service Pack, кто-то пряча глаза в пол: Update. Не мне вам рассказывать, что проверить все практически не реально, а в условиях бюджетирования и сжатости сроков – это к сожалению факт. Куда вкладывать силы, бюджет, какой части системы уделить наибольшее внимание? Об этом и хотелось бы поговорить.Я не специалист в части оценки рисков, так как это написано в умных книжках, поэому более приземленно.Итак наша задача, минимальными средствами получить максимальное качество для наибольшего количества «частей» продукта.
  2. Уже страшно? На самом деле эти слова я я сюда прикрутил осознанно, т.к. именно они являются причиной всех бед. Никто не знает что это, не умеет пользоваться, но все хотят снизить риски и увеличить качество:)Программисты и прочия айтишная братия сейчас являются прямыми рабами бизнеса. Меркетологи решают, какие фичи нужны клиенту, финансисты заранее планируют полученную то продажи софта прибыль, менеджеры не имеют права голоса. Им только остается попинывать рабов, чтобы дело шло. Поглядим на два случая:Если есть требования и система им польностью или с допустимым отклонением соответствует – отлично. У нас качественная система. Но, ситуация когда требования есть, они строго формализованы, проанализированы, если хотите протестированы – большая редкость. В общем ситуация с наличием таких требований – мечта любого члена команды, от тестера до менеджера. Как показывает практика, в случае с формализованными требованиями обычно система выходит практически стабильная. За примером ходить далеко не надо: авиаиндустрия. Время, которое там выделяется на разработку требований, тестирование и анализ оных, на тестирование и обкатку софта – мечта тестера. Пока самый последний баг не описан, изучен и исправлен (есть конечно исключения) – фиг вам, а не деплой на борт.Если требования к системе есть, но их состав оставляет желать лучшего - А вот таких случаев большинство. Современная гонка софта приводит к тому, что конторы более охотно, а главное с высоким приоритетом, шлепают новый функционал, при этом баги новые – по возможности чинятся, баги с предыдущих версий – опционально. Гонка привела к тому, что выход т.н. критикалфикса к предыдущей версии часто осуществляется после выхода следующей. Этим грешат многие производители «сезонного» софта. Антивири, браузеры, офисные приложения. Сколько раз в месяц к винде выходят заплатки? Не сосчитать. Сколько ваш любимый антивирь качает апдейтов? Много, причем это далеко не всегда вирусные базы Как же тут быть? А вот как.Безусловно, в такой ситуации определить степень качественности продукта сложнее. В принципе, если продукт получился пригодным для использования, если его покупают, устанавливают и пользуются – можно сказать, что качество приемлемое. Можно ещё так: если количество довольных пользователей при использовании продукта больше, чем недовольных. Это не обобщенное утверждение. Если системой автопилотирования после использования будут недовольны духи пилотов, то о каком качестве может идти речь
  3. Где могут возникнуть проблемы?1) Финансовые – их все боятсяА будет ли прибыль черт её побери Или енежки уйдут туда, где висят такие картинки?
  4. Тут скорее в ход идет репутация и престиж компании. Современный рынок строго следит за тем, чтобы анонсы выходя софта совпадали с реалиями. Иначе журналюги очень быстро все раскапывают и сами знаете что Впишется ли в установленные временные рамки, на каком этапе будут проблемы со временем и т.д. Ах если бы я мог остановить время....
  5. Это скорее внутренняя кухня, но все же аффектит товар на рынке, его карму и отношение пользователей.А есть ли шансы построить вообще не то, что хотелось изначально? Может ли результатом творчества явиться потеря изначально запланированного функционала? Да вообще что получится то? А я уже заявил, что эта фича будет в продукте....А её не видно за алертами
  6. Собственно за него и воюем. Только не стоит тут воспринимать качество буквально. Ведь качество это не только соответствие формальным документам и процессам, но и степень удовлетворенности пользователя.
  7. Затраты напрямую зависят от того что и как мы тестируем. Чем меньше команжда прикладывает усилиц впустую, тем больше толку и с высокой степенью вероятности выше качество.
  8. Сколько реально функций запланировано в релиз
  9. Чуть что – сразу в синьку, никаких обработок эксепшеной и т.д.
  10. Все хорошо, все работает, но ацки тормозит даже на можных машинах
  11. Все действия призодится делать через не то место
  12. Чуть пошатнуло – данные к черту. Либо корраптятся, либо просто теряются
  13. Чуть возросла нагрузка на операционку, чуть пояилось побольше процесов – приложение в ауте. Вообще в ращных книжках умные дядьки типа Рекса Блека, Кема Канера, Питера Ньюмана приводят примеры сотен и сотен софтверных ошибок. Любой толковый тестер с легкостью прикинет для желающих огромное количество умопомрачительны тестовых сценариев для обыкновенного блокнота, НО. Как обычно не хватает ни времени, ни денег. Что же призодится делать?
  14. Низкий приоритет подождетПрикинуть по времени, что есть, а что реально надо прикрывать?Прикинуть, а не пора ли сразу просить людей у Толика из соседнего проекта?Прикинуть по денежке, может ещё есть возможность прикупить стопитсот индусов?
  15. Серьезность. Насколько опасен отказ системы из-за какой-то части функционала? Приведет ли это к потере данных?Приоритет. На сколько силен будет эффект от отказа системы повлияет на пользователей и их лояльность продукту?Вероятность. Какова вероятность того, что пользователь таки воспользуется именно тем куском функционала, который не до конца работает?
  16. Вдруг повезет
  17. Мой любимый. Маленькие проектики. Тут можно попробовать принимать решение на себя.По категориям выше прикинули, какие реально могут стерьнуть. Вполне вероятно, что будут не все.Сгенерили ситуации. Ну например: для функционала: нет возможности отправит письмо в почтовом клиентеСамым примитивным образом – от одного до 3-х. Можно даже упросить или 1 или 2. Тот, что больше – тот важнееПобегали по конторе, потрясли проектных и околопроектных людей. Внесли коррективыУаля. Имеем план работ по тестированию с указанием коэфициента прикладываемых усилий.
  18. Немного покрупнее. Тут уже просто так не получится. Надо думать. Но сам подход феерический.По этим группам характеристик ИСО требует (он же стандарт, потому и требует), чтобы все заинтересованные лица (тут каждый может составить свой список, плюс добавить список от клиентов), предложили более детальные характеристики.Ну например, а может ну её эту функциональность? Кривовата, отложим на следующюю версию. Или хочу, чтобы обязательно прогружалось все быстро на главной странице, дальше хоть ползком. Тестер может стрясти такие решения от заказчика. Они сильно сужают область поиска ошибок, а главное они конкретизируют фиговые требования. Главное донести смысл такого рода вопросов
  19. Метод достаточно сложный, основан на определении потенциальных проблем, оценки их влияния, а затем выполнении классификации по серьезности, приоритетности и вероятности возникновения дефекта.В классическом исполнении предполагается оценка потенциальных ошибок по четырем критериям: серьезность, вероятность, приоритетность и обнаружаемость, причем каждый критерий может варьироваться в различных диапазонах для увеличения или уменьшения точности. Таким образом, вероятность может оцениваться по шкале начинающейся с 1 (наибольшая вероятность) и заканчивающейся Х (наименьшая вероятность). Промежуточные значения и их количество определяются исходя из требуемой точности для конкретного проекта. В итоге получается для каждого типа ошибок четыре числовых значения. Их произведение дает приоритет риска, который может принимать значение от 1 до Y. После этого определяются рекомендуемые действия по снижению рисков. Общая шкала значений делится на количество выделенных категорий, в результате каждой ошибке сопоставляется то или иное действие для уменьшения её эффекта. В общем это не для слабонервных, а в условиях, когда надо занижать, а не увеличивать, вообще может не подойти.