mva stf module 4 - rus

50
Шаптала Максим | Компьютерная академия Шаг Тестирование ПО

Upload: maxim-shaptala

Post on 13-Feb-2017

401 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Mva stf module 4 - rus

Шаптала Максим | Компьютерная академия Шаг

Тестирование ПО

Page 2: Mva stf module 4 - rus

Тестирование ПО01 | Основы тестирования ПО

1.1 Тестирование ПО1.2 Программные и железные компоненты1.3 Основы программирования1.4 Управление жизненным циклом

04 | Управление проектами тестирования 4.1 Основные контр. точки тестирования

4.2 Agile подход4.3 Работа в распределенной команде4.4 Отчеты о тестировании

02 | Методологии тестирования ПО

2.1 Техники тестирования2.2 Уровни тестирования2.3 Типы тестов

05 | Работа с багами5.1 Выявление программных дефектов5.2 Журналирование багов5.3 Управление багами

03 | Разработка тестов ПО3.1 Пользовательское централизованное тестирование3.2 Тестируемость ПО3.3 Разработка плана тестирования компонентов3.4 Тестирование фитч3.5 Область тестирования

06 | Автоматизация тестирования ПО

6.1 Автоматизация тестирования6.2 Стратегия автоматизация тестирования6.3 Написание автоматизированных тестов6.4 Управление тестовыми скриптами

Содержание курса

Page 3: Mva stf module 4 - rus

Click to edit Master subtitle style04 | Управление проектами

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

Page 4: Mva stf module 4 - rus

1. Основные контрольные точки тестирования2. Agile подход3. Работа в распределенной команде4. Отчеты о тестировании

Обзор

Page 5: Mva stf module 4 - rus

4.1 Контрольные точки

04 | Управление проектами тестирования ПО

Page 6: Mva stf module 4 - rus

Обзор раздела

В этом разделе будет рассмотрено следующее:

– Описание основных контрольных точек– Process fundamentals– Тема включает:

Входные критерии Подписи

Page 7: Mva stf module 4 - rus

Основные вопросы

В чем разница между входными и выходными критериями?

Какой термин используется для описания перечня задач утвержденных во время проекта?

Как называется когда человек или команда официально одобряют прогресс по проекту?

Page 8: Mva stf module 4 - rus

Управление процессомПроцесс связан с деятельностью которая предусмотрена проектом. В Microsoft® Visual Studio® и Microsoft Team Foundation Server описывается процесс разработки ПО, которому должны следовать члены команды разработчиков.Предоставляется веб портал который выступает в роли хранилища информации связанной с проектом.

Page 9: Mva stf module 4 - rus

ФазыИспользуемая терминология для описания фаз разрабатываемого проекта будет зависеть от используемой модели разработки.

Например, agile модели связаны с итерациями или спринтами, в тоже время этап или версия, вероятнее всего, будет использоваться в модели водопада.

В общем случае, фаза включает следующее: Деятельность, включающую пользовательские

истории и задачи которые составляют фазу. Входные критерии Выходные критерии

Page 10: Mva stf module 4 - rus

Контрольные точкиЧерез равные промежутки времени, команда разработчиков может провести оценку качества и хода выполнения проекта. Часто, эти контрольные точки назначаются в конце одной или нескольких фаз.Есть два типа контрольных точек:

Внутренние ориентированы на процесс и обеспечение конкретных целей для команды.

Внешние ориентированы на клиента или, возможно, на организацию вне команды разработчиков, например, маркетинговый отдел.

Контрольные точки могут быть привязаны к определенной дате в календаре, а не к прогрессу в проекте.

Page 11: Mva stf module 4 - rus

Входные критерииВходные критерии это условия, которые должны быть реализованы перед началом фазы. Другими словами, что необходимо сделать перед началом фазы?Опять, это во многом зависит от выбранной модели.При разработке по методу водопада, критерии на кодирование и модульное тестирование могут включать:

Полный анализ требование и выписанную спецификацию.

Полную проектную документацию.Команда не может начать писать тесты и кодировать пока эти компоненты не будут завершены и «визированы».

Page 12: Mva stf module 4 - rus

Визирование

Подпись чего-то означает утверждение или одобрение.При разработке ПО, несколько различные лица могут иметь право визирования:

Клиент может подписаться под пользовательскими требованиями или под релиз-кандидатом.

Тест-менеджеры могут подписать план теста или набор тестов.

Проект-менеджер может подписать версию или спринт.

Page 13: Mva stf module 4 - rus

Выходные критерииЧастью процесса утверждения, или замещая идею визирований в некоторых подходах управления, является идея выходных критериев.Выходные критерии это некие условия для продукта или сервиса, которые должны выполняться перед тем, как ключевые изменения будут завершены.Выходные критерии могут включать такие условия, как покрытие кода, плотность дефектов кода, различные подписи или завершенные фитчи.Когда все критерии завершены, фаза считается законченной.

Page 14: Mva stf module 4 - rus

Вопросы раздела

В чем разница между входными и выходными критериями?

Какой термин используется для описания перечня задач утвержденных во время проекта?

Как называется когда человек или команда официально одобряют прогресс по проекту?

Page 15: Mva stf module 4 - rus

4.2 Agile

04 | Управление проектами тестирования ПО

Page 16: Mva stf module 4 - rus

Обзор раздела

В этом разделе будет рассмотрено следующее:

– Agile– Scrum– Kanban– Управление спринтами

Page 17: Mva stf module 4 - rus

Основные вопросы

Приведите два примера гибкой разработки с применением agile подхода?

Как называются фазы в agile?

Какая техника планирования минимизирует узкие места?

Page 18: Mva stf module 4 - rus

AgileAgile это набор ценностей, принципов и практик которые включают в себя итеративную разработку, разработку через тестирование и мгновенную обратную реакцию.Итеративный потому, что ценится короткий цикл разработки и быстрые релизы (или, как минимум, отзывы) пред началом следующего цикла.

В противовес с походом принятым в разработке по методу водопада, по которому существует одна фаза планирования, одна фаза разработки и т.д.

Agile может быть рассмотрен как набор принципов и убеждений; существует несколько методологий управления и разработки которые базируются на понятиях agile.

Page 19: Mva stf module 4 - rus

Отзыв в Agile разработкеВ моделях agile, клиент рассматривается как часть команды, а не как внешняя сущность.Клиенты или заказчики тесно вовлечены в планирование, и их отзыв является неотъемлемой частью развития ПО.

В то время, как традиционные модели сфокусированы на внутренней разработке при которой клиенты или конечные пользователи знакомятся с приложением только в конце разработки, agile полагается на получение постоянных отзывов от клиентов.

По этой причине, agile требует меньше времени ни планирование и начало реализации проекта. Это обусловлено тем, что при agile подходе планируется одна фаза разработки за раз.

Page 20: Mva stf module 4 - rus

Документирование в Agile разработкеТрадиционные модели разработки уделяют много внимания документированию кода.В связи с тем, что при agile разработке код может изменяться быстро и часто, то на документирование делают меньший акцент.

Вместо этого, в agile моделях тесты выступают как часть документации.Модульные тесты являются критически важными для понимания того как моды работают, и могут быть обновлены во время развития проекта.

Page 21: Mva stf module 4 - rus

ScrumScrum это agile производный (или реализация) который сосредоточен на том, как управлять разработкой в команде.В scrum, команда разработчиков гибкая и само организовывающаяся разработчики находятся в постоянном общении и обмене мнениями относительно управления в проекте.Как и в других agile подходах, scrum ценит скорость, итеративные фазы разработки, которые называются спринтами (sprints).Scrum команда понимает, что требования клиента могут часто меняться, поэтому короткие спринты позволяют команде эффективно отвечать на изменяющиеся задачи в проекте.

Page 22: Mva stf module 4 - rus

СпринтыСпринты это базовая фаза разработки, и команда разработчиков будет завершать множество спринтов на протяжении крупного проекта.Название подразумевает короткий период времени. Scrum разработчики ограничены длительностью спринта исходя из времени, а не на выходных критериях – часто спринт длится меньше, чем месяц.В случае, если спринт завершен, команда получает отзыв от клиента и планирует следующий спринт, который будет включать новые фитчи (или изменение фитч, если надо).

Page 23: Mva stf module 4 - rus

Экстремальное программирование (XP)Экстремальное программирование это agile программирование или инженерная методология в которой делается акцента на разработку через тестирование и применение парного программирования.В парном программировании, один программист сосредоточен на написании кода для обеспечения заданных требований, в то же время другой просматривает код и обеспечивает устранение ошибок и повышение качество исходного кода.XP часто используется в сочетании с scrum, хотя они иногда отличаются в терминологии. Например, в XP вместо спринтов используются итерации

Page 24: Mva stf module 4 - rus

Управление Спринтом/ИтерациейСпринтам предшествуют плановые митинги, на которых команда (включая клиентов) определят какие задачи должны быть решены.Часто, спринт сфокусирован на решении одной или более пользовательских историй.

Истории разделяют на задачи, и разработчики сосредоточены на выполнении этих задач в отведенное время.

В конце спринта, команда проводит ретроспективу митингов для оценки их производительности, и только потом начинается планирование следующего спринта.

Page 25: Mva stf module 4 - rus

Во время спринтаMicrosoft® Visual Studio® предоставляет различные инструменты для отслеживания и управления прогрессом во время спринта.Team Foundation Server (TFS) будет отслеживать изменения в backlog, или списке задач пока они не будут завершены.Отчеты предоставляют информацию о прогрессе для каждой пользовательской истории (основанной на завершенности ее задач) и будет накапливать статистику по покрытию кода и результатам тестирования.Основываясь на этих данных, TFS может рассчитать скорость команды, или количество историй, которые могут быть завершены перед завершением спринта.

Page 26: Mva stf module 4 - rus

KanbanKanban это модель планирования, которая позволяет реализацию точно в срок путем управления рабочим потоком для устранения перегрузок команды разработчиков.Изначально был разработан в Toyota® для минимизации узких мест на линиях сборки.

В разработке, позволяет минимизировать узкие места и причины простоя когда одна команда ушла далеко вперед или осталась далеко позади.

Обращается внимание на разработку точно в срок, когда фитчи добавляются только тогда, когда они необходимы.Visual Studio включает инструмент называемый Kanban доска для помощи в направлении усилий программистов и минимизации уких мест.

Page 27: Mva stf module 4 - rus

Вопросы раздела

Приведите два примера гибкой разработки с применением agile подхода?

Как называются фазы в agile?

Какая техника планирования минимизирует узкие места?

Page 28: Mva stf module 4 - rus

4.3 Работа с распределёнными командами

04 | Управление проектами тестирования ПО

Page 29: Mva stf module 4 - rus

Обзор разделаВ этом разделе будет рассмотрено следующее:

– Коммуникация– Риск менеджмент– Управление расписаниемSchedule Management– Процесс развертывания

Page 30: Mva stf module 4 - rus

Основные вопросыЧто такое распределенная команда?

Для каких целей компании используют распределенные команды?

Какие проблемы сопровождают разработку в распределённых командах?

Page 31: Mva stf module 4 - rus

Необходимость общенияОбщение это центральный компонент успешной разработки. В аgile предусмотрены ежедневные совещания (митинги). Дополнительно, случаи неформального общения между членами команды, такие как дискуссия во время обеденного перерыва или в комнатах отдыха вносят существенный вклад в развитие проекта.Хотя общение по телефону и веб-конференции могут быть включены для удаленного общения команды, распределенная команда нуждается в неформальном общении по проекту.Основная причина в том, что распределенные команды сталкиваются с большими трудностями и низкой производительностью является сложность удаленной комуникации

Page 32: Mva stf module 4 - rus

Распределенные группы в сравнении с локальными группамиРаспределенная команда это группа в которой один или все члены команды на работают в том же месте.Хотя некоторые распределенные команды могут включать лиц со всего мира (иногда их называют глобально распределенным командами), члены команды иногда могут находиться на небольшом расстоянии друг от друга.В общем случае, распределенные команды связаны с технологиями коммуникации такими, как телефонная связи или видео конференции.

Page 33: Mva stf module 4 - rus

Риски связанные с распределенными командамиОпрос проведенный в 2008 году установил что распределенные agile команды успешны на 23% меньше, чем локальные команды.

Различные исследования установили, что в командах разработчиков в которых делается акцент на личное общение увеличивается продуктивность и, в конечном счете, сокращается время на разработку

Page 34: Mva stf module 4 - rus

Инструменты общенияТехнология делает общение простым даже через огромные расстояния.Большинство команд использует видео или веб-конференции на базе Skype™ для общения с удаленными членами во время митингов. Способность видеть друг друга помогает в общении (т.к. невербальное общение также важно) а также строить отношение в группе. Microsoft® SharePoint® Workspace представляет быстрый и эффективный способ обмена файлами.Команды могут также использовать вики знания основанные на простом в поддержке хранилище информации.

Page 35: Mva stf module 4 - rus

Преимущества распределенных командКомпании используют распределенные команды по разным причинам:

Воспользовавшись неиссякаемым источником талантов. Иногда команды не могут найти тех разработчиков, которые им нужны локально.

Сокращение расходов. Наем членов команды из другой местности или страны может быть более дешевым. Позволяя локальным членам команды работать из дома (“удаленная работа”) также может сократить расходы.

Достижение новых рынков. Компании желающие разрабатывать продукт для удаленного рынка могут получить преимущество от наличия членов в команде с этого региона или рядом с пользователем

Page 36: Mva stf module 4 - rus

Visual Studio в распределенной разработкаMicrosoft® Visual Studio® и Team Foundation Server (TFS) предоставляют инструменты которые могут сократить проблемы взаимодействия распределенных команд.Руководство процесса создает портал который хранит документацию по проекту, простой доступ (и редактирование) одновременно для локальных и удаленных членов команды.К рабочим элементам можно добавлять файлы, позволяющие членам команды распространять диаграммы, изображения и другие документы.Уведомления и оповещения могут отправляться команде в целом и отдельным разработчикам.

Page 37: Mva stf module 4 - rus

Вопросы раздела

Что такое распределенная команда?

Для каких целей компании используют распределенные команды?

Какие проблемы сопровождают разработку в распределённых командах?

Page 38: Mva stf module 4 - rus

4.4 Отчеты о тестировании

04 | Управление проектами тестирования ПО

Page 39: Mva stf module 4 - rus

Обзор разделаВ этом разделе будет рассмотрено следующее:

– Определение соответствующего статуса и составляющих отчета.

– Определение периода отёчности для достижения основных этапов проекта.

– Определение соответствующих получателей для различных типов отчётов.

Page 40: Mva stf module 4 - rus

Основные вопросыЧто такое диаграмма сгорания?

Как данных с предыдущего спринта могут быть полезны для планирования последующего спринта?

Какая метрика описывает степень изменения исходного кода?

Page 41: Mva stf module 4 - rus

Отчеты и панели мониторингаВо время разработки, членам команды необходимо отслеживать их собственный прогресс, равно как и прогресс команды в целом.

Поскольку быстрый темп agile разработки требует гибкости и информированности, отчётность является особенно важной.

Microsoft® Visual Studio® и Microsoft Team Foundation (MTF) предоставляет весьма гибкие опция для формирования отчетов.

Термин доклад, в общем, относится к представлению данных на основе определенного поиска или заданного критерия. Традиционно отчеты печатались, но они могут также быть просмотрены на экране, отправлены по почте или добавлены на веб-сайт.

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

Page 42: Mva stf module 4 - rus

Полезные метрикиСгорания: представляет завершенную и оставшуюся работу за определенный промежуток времени; помогает установить время завершения или количество работы которая может быть завершена в заданный период времени.Скорость: измеряет проделанную работу в единицу времени. Например, проделанную работу на итерацию.Прогресс ошибок: количество действующих и решенных ошибок во времени; полезно для обзора прогресса команды направленных на решение ошибок.Рабочее задание: количество работы (в часах или задачах) назначенное каждому члену команды.

Page 43: Mva stf module 4 - rus

Полезные метрики. ПродолжениеПрогресс плана тестирования: диаграмма сгорания результатов тестирования за определенный период времени.Текучесть кода: измеряет как много строк кода командой добавлено, удалено или модифицировано; показывает степень изменения файлов с исходным кодом во времени.

Page 44: Mva stf module 4 - rus

Планирование спринтаПеред спринтом, команда изучает невыполненные задачи и пользовательские история для определения приоритетных и основные этапы.Данные сгорания с предыдущих спринтов помогают установить управляемые сроки и этапы.Невыполненные задания (Backlog) и отчеты историй устанавливают задачи или проблемы требующие внимания и позволяют установить приоритеты.Отчеты о рабочих заданиях помогают команде в распределении ролей и балансировке рабочей нагрузке.

Page 45: Mva stf module 4 - rus

Отчеты во время спринтаВыгорание (или степень сгорания) является важным показателем во время спринта.Он показывает общий прогресс и позволяет установить находится ли команда на пути достижения к своей цели. Отдельные члены могут использовать Моя информационная панель (My Dashboard) в Team Foundation Server для отображения:

Все назначенные задания Назначенные ошибки и тестовые случаи Ближайшие события (собрания, крайние сроки) Обзор последнего прогресса

Page 46: Mva stf module 4 - rus

Успешный отчет выгорания

Page 47: Mva stf module 4 - rus

Неудачный отчет выгорания

Page 48: Mva stf module 4 - rus

Ретроспективный отчет

После завершения спринта, команда изучает данные для того, что бы проверить нуждается ли какой-либо процесс в изменении приоритета для начала в следующем спринте.Члены команды могут изучить прогресс каждого разработчика или пары и прогресс тестирования для оценки производительности команды.Затем процесс продолжается; команды рассматривают диаграммы выгорания и прогресс задач для определения циле для следующего спринта.

Page 49: Mva stf module 4 - rus

Вопросы раздела

Что такое диаграмма сгорания?

Как данных с предыдущего спринта могут быть полезны для планирования последующего спринта?

Какая метрика описывает степень изменения исходного кода?

Page 50: Mva stf module 4 - rus

Дополнительные ресурсыMSDN Software Testing Resources

Process Guidance & Process Templates for TFS http://msdn.microsoft.com/en- us/library/hh533801.aspx

Planning and Tracking Project http://msdn.microsoft.com/en- us/library/dd286619.aspx

Work Items and Workflow (Agile) http://msdn.microsoft.com/en- us/library/dd997897.asp

Agile Principles and Values http://msdn.microsoft.com/en- us/library/dd997578.aspx

Testing Methodologies http://msdn.microsoft.com/en- us/library/ff649520.aspx

Scrum http://msdn.microsoft.com/en- us/library/dd997796%28v=VS.100%29.aspx

Open Distributed Agile Development http://download.microsoft.com/download/ 4/4/a/44a2cebd-63fb-4379-898d- 9cf24822c6cc/distributed_agile_developme nt_at_microsoft_patterns_and_practices.pd

Collaborating within a Team Using Team Project Resources

http://msdn.microsoft.com/en- us/library/ms242904(v=vs.100).aspx

Distributed Scrum http://msdn.microsoft.com/en- us/library/jj620910.aspxBurndown and Burn Rate Report (Agile) http://msdn.microsoft.com/en- us/library/dd380678.aspExcel Reports (Agile) http://msdn.microsoft.com/en- us/library/vstudio/dd997876.aspxMy Dashboard (Agile) http://msdn.microsoft.com/en- us/library/dd420561.aspx