SlideShare a Scribd company logo
Core Systems Transformation Solutions
Процесс тестирования в Agile
Оксана Набока
Сентябрь, 26, 2013
Confidential 1
О компании
Exigen Services
слияние с компанией
Return on Intelligence
Июнь 2013
Confidential 2
Об авторе
 Оксана Набока
– более 10 лет в IT: тестирование ПО, управление SCRUM
проектами (> 3х лет), внедрение процессов
– сертифицированный Scrum Master
– опыт проведения различных тренингов (тестирование ПП,
обеспечение качества ПП, Agile/SCRUM, навыки управления
проектами разработки ПП)
Confidential 3
О чем мы НЕ будем говорить
• О деталях процесса тестирования: например, как создавать
тест кейсы (процесс написания тест кейсов), как решать
стандартные проблемы тестирования (например, «что будет,
если не писать тест кейсы») и т.п. - только обзор основных
этапов
• О всех существующих подходах к тестированию - только один
из возможных
• Об автоматизация тестирования в деталях
• О «взаимосвязи процесса обеспечения качества с критериями
успешности agile проектов»
• О всех деталях, сложностях внедрения Agile на практике
• НЕ будет реальных примеров того, как используется JIRA
• НЕ будет всех ответов на всевозможные вопросы….только на
некоторые из них
Confidential 4
О чем мы будем говорить
1. Кратко о процессе
тестирования ПО:
основные цели и задачи,
этапы тестирования
2. Что такое Agile: основные
принципы (XP, SCRUM)
3. Тестирование в SCRUM
проекте: один из
возможных подходов .
4. Вопросы и ответы
• Об Agile и, в частности,
о SCRUM
• О том, как можно
организовать процесс
тестирования в SCRUM
проектах
• О том, какие
особенности могут быть
в процессе
тестирования в Agile
проектах
Confidential 5
Целевая аудитория
• Инженеры по тестированию (тестировщики):
• начинающие и специалисты,
• имеющие опыт работы в Agile проектах и без такого опыта
• Ведущие тестировщики (Test Leads)
• имеющие опыт работы в Agile проектах и без такого опыта
• Разработчики, менеджеры
• имеющие опыт работы в Agile проектах и без такого опыта
Confidential 6
Цели «вебинара» ‘Процесс тестирования в Agile’
• Поделиться информацией о том, что такое Agile - как это может
выглядеть на практике для тестировщиков в первую очередь
• Поделиться опытом работы в SCRUM проектах - как это может
выглядеть на практике для тестировщиков в первую очередь
• Рассказать о том, как может выглядеть процесс тестирования в
SCRUM проекте (один из вариантов)
Confidential 7
Процесс тестирования: основные цели и этапы
• Тестирование - это процесс проходящий сквозь все этапы
разработки ПО
• Основные цели тестирования - проверка соответствия продукта
требованиям, поиск ошибок
• В Agile проектах все тоже самое только в более сжатые сроки,
динамичнее и с учетом особенностей Agile
Confidential 8
Процесс тестирования: основные цели и этапы
• Уровни тестирования: модульное, интеграционное, системное,
приемочное
• Системное тестирование выполняется инженерами по
тестированию («тестировщики», «тестеры», software test
engineers (STEs), testers).
• Различают, как минимум, две роли: Tester («тестер»,
«тестировщик») и Test Lead («тест лид»)
Confidential 9
Процесс тестирования: основные цели и этапы
Планирование и подготовка
Разработка тест-кейсов
Приемка «билда»
Выполнение тест-кейсов и
запись отчетов об ошибках
Верификация ошибок
Сбор метрик и отчеты
Автоматизация тестирования
Confidential 10
Agile: основные принципы
Agile – манифест(www.agilemanifesto.org)
 Люди и взаимодействие
 Работающий продукт
 Сотрудничество с
клиентом
 Готовность к изменениям
процессов и инструментов
исчерпывающей документации
согласования условий
контракта
следования первоначальному
плану
важнее
важнее
важнее
важнее
Confidential 11
Agile: основные принципы
• Наивысшим приоритетом для нас является удовлетворение
потребностей заказчика, благодаря регулярной и ранней
поставке ценного программного обеспечения.
• Изменение требований приветствуется, даже на поздних
стадиях разработки. Agile-процессы позволяют использовать
изменения для обеспечения заказчику конкурентного
преимущества.
• Работающий продукт следует выпускать как можно чаще, с
периодичностью от пары недель до пары месяцев.
• На протяжении всего проекта разработчики и представители
бизнеса должны ежедневно работать вместе.
Confidential 12
Agile: основные принципы
• Над проектом должны работать мотивированные
профессионалы. Чтобы работа была сделана, создайте условия,
обеспечьте поддержку и полностью доверьтесь им.
• Непосредственное общение является наиболее практичным и
эффективным способом обмена информацией как с самой
командой, так и внутри команды.
• Работающий продукт — основной показатель прогресса.
• Инвесторы, разработчики и пользователи должны иметь
возможность
поддерживать постоянный ритм бесконечно. Agile помогает
наладить такой устойчивый процесс разработки.
Confidential 13
Agile: основные принципы
• Постоянное внимание к техническому совершенству и
качеству
проектирования повышает гибкость проекта.
• Простота — искусство минимизации лишней работы — крайне
необходима.
• Самые лучшие требования, архитектурные и технические
решения рождаются у самоорганизующихся команд.
• Команда должна систематически анализировать возможные
способы улучшения эффективности и соответственно
корректировать стиль своей работы.
Confidential 14
Agile: методологии
• XP (Extreme programming)
• Scrum
• Kanban
• Lean software development (Бережливая разработка программного
обеспечения)
• Agile Modeling
• Agile Unified Process (AUP)
• Agile Data Method
• DSDM (Dynamic Systems Development Method)
• Essential Unified Process (EssUP).
• Feature driven development (FDD)
• Getting Real
• OpenUP
• Crystal Clear
• Crystal Methods
• Graphical System Design (GSD)
• Velocity tracking
• Software Development Rhythms
Confidential 15
XP (Extreme programming)
Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие.
• Короткий цикл обратной связи (Fine scale feedback)
– Разработка через тестирование (Test driven development)
– Игра в планирование (Planning game)
– Заказчик всегда рядом (Whole team, Onsite customer)
– Парное программирование (Pair programming)
• Непрерывный, а не пакетный процесс
– Непрерывная интеграция (Continuous Integration)
– Рефакторинг (Design Improvement, Refactor)
– Частые небольшие релизы (Small Releases)
Confidential 16
XP (Extreme programming)
• Понимание, разделяемое всеми
– Простота (Simple design)
– Метафора системы (System metaphor)
– Коллективное владение кодом (Collective code ownership) или
выбранными шаблонами проектирования (Collective patterns
ownership)
– Стандарт кодирования (Coding standard or Coding conventions)
• Социальная защищенность программиста (Programmer welfare):
– 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
Confidential 17
SCRUM
 В спорте SCRUM - «толкотня; схватка вокруг мяча» в регби
 В IT SCRUM - один из Agile подходов к разработке ПО
 Framework (роли, артефакты, ритуалы)–> нет подробных
рекомендаций, что и как делать, команда знает лучше, как решить
свои проблемы
 “Framework for XP”
Confidential 18
SCRUM
Основные характеристики
• Самоопределяющаяся команда
• Продукт разрабатывается в процессе серии итераций (sprints)
• Все требования записываются в виде единого списка (бэклог
продукта -“product backlog”)
• Инженерные практики не являются частью SCRUM методологии
• Использует простые правила для создания гибкой среды
разработки проектов
Confidential 19
SCRUM (www.mountaingoatsoftware.com/scrum)
Confidential 20
SCRUM – команда, роли
• Product Owner - «владелец
продукта» - > отвечает за видение
продукта и приоритеты, принимает
работу
• Scrum Team - «скрам-команда» - >
отвечает за реализацию продукта
• Scrum Master - «скрам-мастер» ->
устраняет препятствия в работе и
руководит Scrum процессом
Confidential 21
SCRUM – команда, роли
 Размер – 7-9 человек
 Сочетающаяся
 Выделенная
 Сфокусированная на задаче
 Кросс-функциональная
 Самоорганизующаяся Пример возможной SCRUM команды
-> инженеры по тестированию - часть Scrum Team
Confidential 22
SCRUM – процесс разработки, артефакты, ритуалы
• Product backlog
• Sprint backlog
• Burndown charts
-> «бэклог» - требования к продукту -> информация для создания «тест кейсов»
Confidential 23
SCRUM – процесс разработки, артефакты, ритуалы
Confidential 24
SCRUM – процесс разработки, артефакты, ритуалы
Итерация = Sprint («спринт» - «рывок»)
 2-4 недели (максимум 1 календарный месяц)
 Планирование, анализ требований, разработка и тестирование
 В конце спринта – готовая функциональность
-> анализ требований, разработка
тест кейсов, выполнение тест кейсов,
результаты тестирования (статусы,
ошибки), верификация ошибок,
регрессионное тестирование,
автоматизация, и т.д.
Confidential 25
SCRUM – процесс разработки, артефакты, ритуалы
Итерация = Sprint («спринт»)
 Никаких изменений в течение спринта
 Длительность спринта не рекомендуется менять в течение проекта
 Спринт может быть отменен (PO)
 Emergency Procedure (выход из «аварийныхнепредвиденных»
ситуаций)
• попытайтесь сделать по-другому
• воспользуйтесь помощью кого-либо вне команды
• уменьшите «скоуп» спринта
• прервите спринт (Sprint Abnormal Termination)
Confidential 26
SCRUM – процесс разработки, артефакты, ритуалы
Планирование спринта (Sprint planning)
– Sprint backlog (список задач по каждой User Story: задачи для
разработчиков, тестировщиков и т.д.)
– Sprint Goal - цель спринта
– участвуют команда, scrum master, product owner
– анализ требований (user stories), декомпозиция
на задачи, оценка, фиксирование «скоупа» спринта
-> задачи по тестированию на спринт (объем тестирования) – это
часть «скоупа» спринта
Confidential 27
SCRUM – процесс разработки, артефакты, ритуалы
Обзор спринта (Sprint review)
– демонстрация результатов спринта: работающий продукт
новая функциональность, реализованная в спринте
полностью законченные User Stories
- команда демонстрирует результаты
- Product Owner принимает результаты
-> тестировщики заранее выполняют приемочные
тесты, определенные PO в начале спринта и
помогают в создании сценариев для демонстрации
результатов и в проведении ревью
- > разработчики создают и выполняют unit tests (возможна практика -
ревью тест кейсов, созданных тестировщиками и выполнение самых
важных)
Confidential 28
SCRUM – процесс разработки, артефакты, ритуалы
Спринт ретроспектива (Sprint retrospective)
– После каждого спринта (после Sprint review)
– Участвует вся команда, чтобы решить
• Что было хорошо
• Что можно улучшить
• Принимается решение о необходимости изменений в процессе для
улучшения производительности команды
-> возможные улучшения в процессе тестирования
Confidential 29
SCRUM – процесс разработки, артефакты, ритуалы
Ежедневный скрам-митинг (Daily scrum meeting) -
– поделиться информацией с коллегами, взять на себя обязательства
Что сделано вчера?
Что будет сделано сегодня?
С какими проблемами столкнулся?
– не предназначен для решения проблем (action item log)
– могут быть дополнительные митинги с product owner,
если онона находится не с вами и не в одной временной зоне.
+ ежедневная активность - обновление оставшегося
времени по задаче (Remaining time)
Confidential 30
SCRUM – процесс разработки
Confidential 31
Спасибо!
Вопросы?

More Related Content

PPTX
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
PDF
Agile scrum - гибкое управление проектами
PDF
Что такое Scrum
PPT
Agile, SCRUM, Планирование – что в этом для программистов?
PDF
2008-04-15-scrum-from-custis-show
PDF
Киев. Как внедрить SCRUM без трупов и остаться довольным
KEY
Обзор Agile - эволюция процессов
PPTX
Введние в Scrum
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Agile scrum - гибкое управление проектами
Что такое Scrum
Agile, SCRUM, Планирование – что в этом для программистов?
2008-04-15-scrum-from-custis-show
Киев. Как внедрить SCRUM без трупов и остаться довольным
Обзор Agile - эволюция процессов
Введние в Scrum

What's hot (19)

PDF
Гибкие методологии разработки ПО в реальном мире
PPTX
Инструменты гибкого управления: Agile / Kanban / Scrum
PPTX
Вебинар: 12 принципов Agile, которые делают его довольно успешным
PDF
Использование YouTrack для работы команды по Scrum
PPTX
Agile/Scrum методологии разработки программного обеспечения
PPT
Введение в Scrum
PPTX
Agile/Scrum
PPT
Scrum intro
PPTX
Развитие управления проектами и критериев качества в ит
PPT
2013 — nsk. тос
KEY
Kanban vs Scrum – чьё кунг-фу сильнее
PDF
методологии Agile, Scrum, Lean, BK
PPTX
от каждого по потребностям, каждому — по Agile
PPTX
вольфсон основы Agile
PDF
AgileDays 2016. Внедрение Agile в Банке
PPTX
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
PPTX
Что делает Скрам Мастер на проекте
PPTX
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
PPTX
кузнецов Dual-track agile.pptx
Гибкие методологии разработки ПО в реальном мире
Инструменты гибкого управления: Agile / Kanban / Scrum
Вебинар: 12 принципов Agile, которые делают его довольно успешным
Использование YouTrack для работы команды по Scrum
Agile/Scrum методологии разработки программного обеспечения
Введение в Scrum
Agile/Scrum
Scrum intro
Развитие управления проектами и критериев качества в ит
2013 — nsk. тос
Kanban vs Scrum – чьё кунг-фу сильнее
методологии Agile, Scrum, Lean, BK
от каждого по потребностям, каждому — по Agile
вольфсон основы Agile
AgileDays 2016. Внедрение Agile в Банке
Кирилл Толкачев, Александр Тарасов, Хипстеры в энтерпрайзе. Шагаем в ногу со ...
Что делает Скрам Мастер на проекте
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
кузнецов Dual-track agile.pptx
Ad

Viewers also liked (20)

PDF
Future4kist 1.4
PPTX
AgileCamp'11 Новосибирск - введение в инженерные практики
PDF
Scrum and XP in practice
PPTX
AgileCamp'12 Нижний Новгород: Введение
PPT
Introduction to Agile
PDF
Андрій Кушнарьов «Agile планування проектів»
PDF
eXtreme Programming
PPTX
Коварный Tracer Bullet Development
PPTX
TDD in functional testing with WebDriver
PDF
Extreme banking
PDF
Agile Feedback Loops (ukr)
PPTX
Экстремальное программирование (XP – extreme programming)
PPTX
TDD for DB integration
PPTX
Tech Lead role for Agile success
PPTX
Agile Evolution
PPTX
Do you know what you are testing?
PPTX
Great functional testing with WebDriver and Thucydides
PPTX
Continuous Delivery
PPTX
Why testing take so long
Future4kist 1.4
AgileCamp'11 Новосибирск - введение в инженерные практики
Scrum and XP in practice
AgileCamp'12 Нижний Новгород: Введение
Introduction to Agile
Андрій Кушнарьов «Agile планування проектів»
eXtreme Programming
Коварный Tracer Bullet Development
TDD in functional testing with WebDriver
Extreme banking
Agile Feedback Loops (ukr)
Экстремальное программирование (XP – extreme programming)
TDD for DB integration
Tech Lead role for Agile success
Agile Evolution
Do you know what you are testing?
Great functional testing with WebDriver and Thucydides
Continuous Delivery
Why testing take so long
Ad

Similar to Agile Testing Process (20)

PPTX
Scrum framework
PPTX
Agile testing
PPTX
Работа с требованиями в условиях Agile трансформации
PDF
Гибкие методологии при создании ИТ продукта.
PPTX
Agile - гибкое управление проектами
PPTX
Agile Scrum Start / Старт используя Scrum
PDF
Lovely scrum
PDF
Общие темы. Тема 03.
PPT
Проектирование_и_архитектура_ПС_2022_L04s.ppt
PDF
работа в крупной компании на примере Banki.ru
PDF
Dead zone. Прохоренко
PDF
PDF
Scrum execution
PPTX
Mva stf module 4 - rus
PPTX
Процесс разработки Agile & Java
PDF
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
PPTX
Scrum Basics
PPS
Scrum Review
PDF
Nfilippov. Something About Agile
Scrum framework
Agile testing
Работа с требованиями в условиях Agile трансформации
Гибкие методологии при создании ИТ продукта.
Agile - гибкое управление проектами
Agile Scrum Start / Старт используя Scrum
Lovely scrum
Общие темы. Тема 03.
Проектирование_и_архитектура_ПС_2022_L04s.ppt
работа в крупной компании на примере Banki.ru
Dead zone. Прохоренко
Scrum execution
Mva stf module 4 - rus
Процесс разработки Agile & Java
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Scrum Basics
Scrum Review
Nfilippov. Something About Agile

More from Return on Intelligence (20)

PPTX
Clean Code Approach
PPTX
Code Coverage
PPTX
Effective Communication in english
PPTX
Anti-patterns
PPTX
Conflicts Resolving
PPTX
Database versioning with liquibase
PPTX
Effective Feedback
PPTX
English for Negotiations 2016
PPTX
Lean Software Development
PPT
Unit Tests? It is Very Simple and Easy!
PPTX
Quick Start to AngularJS
PPTX
Introduction to Backbone.js & Marionette.js
PPTX
Types of testing and their classification
PPTX
Introduction to EJB
PPTX
Enterprise Service Bus
PPTX
Apache cassandra - future without boundaries (part3)
PPTX
Apache cassandra - future without boundaries (part2)
PPTX
Apache cassandra - future without boundaries (part1)
PPTX
Career development in exigen services
PPTX
Introduction to selenium web driver
Clean Code Approach
Code Coverage
Effective Communication in english
Anti-patterns
Conflicts Resolving
Database versioning with liquibase
Effective Feedback
English for Negotiations 2016
Lean Software Development
Unit Tests? It is Very Simple and Easy!
Quick Start to AngularJS
Introduction to Backbone.js & Marionette.js
Types of testing and their classification
Introduction to EJB
Enterprise Service Bus
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part1)
Career development in exigen services
Introduction to selenium web driver

Agile Testing Process

  • 1. Core Systems Transformation Solutions Процесс тестирования в Agile Оксана Набока Сентябрь, 26, 2013
  • 2. Confidential 1 О компании Exigen Services слияние с компанией Return on Intelligence Июнь 2013
  • 3. Confidential 2 Об авторе  Оксана Набока – более 10 лет в IT: тестирование ПО, управление SCRUM проектами (> 3х лет), внедрение процессов – сертифицированный Scrum Master – опыт проведения различных тренингов (тестирование ПП, обеспечение качества ПП, Agile/SCRUM, навыки управления проектами разработки ПП)
  • 4. Confidential 3 О чем мы НЕ будем говорить • О деталях процесса тестирования: например, как создавать тест кейсы (процесс написания тест кейсов), как решать стандартные проблемы тестирования (например, «что будет, если не писать тест кейсы») и т.п. - только обзор основных этапов • О всех существующих подходах к тестированию - только один из возможных • Об автоматизация тестирования в деталях • О «взаимосвязи процесса обеспечения качества с критериями успешности agile проектов» • О всех деталях, сложностях внедрения Agile на практике • НЕ будет реальных примеров того, как используется JIRA • НЕ будет всех ответов на всевозможные вопросы….только на некоторые из них
  • 5. Confidential 4 О чем мы будем говорить 1. Кратко о процессе тестирования ПО: основные цели и задачи, этапы тестирования 2. Что такое Agile: основные принципы (XP, SCRUM) 3. Тестирование в SCRUM проекте: один из возможных подходов . 4. Вопросы и ответы • Об Agile и, в частности, о SCRUM • О том, как можно организовать процесс тестирования в SCRUM проектах • О том, какие особенности могут быть в процессе тестирования в Agile проектах
  • 6. Confidential 5 Целевая аудитория • Инженеры по тестированию (тестировщики): • начинающие и специалисты, • имеющие опыт работы в Agile проектах и без такого опыта • Ведущие тестировщики (Test Leads) • имеющие опыт работы в Agile проектах и без такого опыта • Разработчики, менеджеры • имеющие опыт работы в Agile проектах и без такого опыта
  • 7. Confidential 6 Цели «вебинара» ‘Процесс тестирования в Agile’ • Поделиться информацией о том, что такое Agile - как это может выглядеть на практике для тестировщиков в первую очередь • Поделиться опытом работы в SCRUM проектах - как это может выглядеть на практике для тестировщиков в первую очередь • Рассказать о том, как может выглядеть процесс тестирования в SCRUM проекте (один из вариантов)
  • 8. Confidential 7 Процесс тестирования: основные цели и этапы • Тестирование - это процесс проходящий сквозь все этапы разработки ПО • Основные цели тестирования - проверка соответствия продукта требованиям, поиск ошибок • В Agile проектах все тоже самое только в более сжатые сроки, динамичнее и с учетом особенностей Agile
  • 9. Confidential 8 Процесс тестирования: основные цели и этапы • Уровни тестирования: модульное, интеграционное, системное, приемочное • Системное тестирование выполняется инженерами по тестированию («тестировщики», «тестеры», software test engineers (STEs), testers). • Различают, как минимум, две роли: Tester («тестер», «тестировщик») и Test Lead («тест лид»)
  • 10. Confidential 9 Процесс тестирования: основные цели и этапы Планирование и подготовка Разработка тест-кейсов Приемка «билда» Выполнение тест-кейсов и запись отчетов об ошибках Верификация ошибок Сбор метрик и отчеты Автоматизация тестирования
  • 11. Confidential 10 Agile: основные принципы Agile – манифест(www.agilemanifesto.org)  Люди и взаимодействие  Работающий продукт  Сотрудничество с клиентом  Готовность к изменениям процессов и инструментов исчерпывающей документации согласования условий контракта следования первоначальному плану важнее важнее важнее важнее
  • 12. Confidential 11 Agile: основные принципы • Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения. • Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества. • Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев. • На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
  • 13. Confidential 12 Agile: основные принципы • Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им. • Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды. • Работающий продукт — основной показатель прогресса. • Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
  • 14. Confidential 13 Agile: основные принципы • Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта. • Простота — искусство минимизации лишней работы — крайне необходима. • Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд. • Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
  • 15. Confidential 14 Agile: методологии • XP (Extreme programming) • Scrum • Kanban • Lean software development (Бережливая разработка программного обеспечения) • Agile Modeling • Agile Unified Process (AUP) • Agile Data Method • DSDM (Dynamic Systems Development Method) • Essential Unified Process (EssUP). • Feature driven development (FDD) • Getting Real • OpenUP • Crystal Clear • Crystal Methods • Graphical System Design (GSD) • Velocity tracking • Software Development Rhythms
  • 16. Confidential 15 XP (Extreme programming) Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие. • Короткий цикл обратной связи (Fine scale feedback) – Разработка через тестирование (Test driven development) – Игра в планирование (Planning game) – Заказчик всегда рядом (Whole team, Onsite customer) – Парное программирование (Pair programming) • Непрерывный, а не пакетный процесс – Непрерывная интеграция (Continuous Integration) – Рефакторинг (Design Improvement, Refactor) – Частые небольшие релизы (Small Releases)
  • 17. Confidential 16 XP (Extreme programming) • Понимание, разделяемое всеми – Простота (Simple design) – Метафора системы (System metaphor) – Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) – Стандарт кодирования (Coding standard or Coding conventions) • Социальная защищенность программиста (Programmer welfare): – 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
  • 18. Confidential 17 SCRUM  В спорте SCRUM - «толкотня; схватка вокруг мяча» в регби  В IT SCRUM - один из Agile подходов к разработке ПО  Framework (роли, артефакты, ритуалы)–> нет подробных рекомендаций, что и как делать, команда знает лучше, как решить свои проблемы  “Framework for XP”
  • 19. Confidential 18 SCRUM Основные характеристики • Самоопределяющаяся команда • Продукт разрабатывается в процессе серии итераций (sprints) • Все требования записываются в виде единого списка (бэклог продукта -“product backlog”) • Инженерные практики не являются частью SCRUM методологии • Использует простые правила для создания гибкой среды разработки проектов
  • 21. Confidential 20 SCRUM – команда, роли • Product Owner - «владелец продукта» - > отвечает за видение продукта и приоритеты, принимает работу • Scrum Team - «скрам-команда» - > отвечает за реализацию продукта • Scrum Master - «скрам-мастер» -> устраняет препятствия в работе и руководит Scrum процессом
  • 22. Confidential 21 SCRUM – команда, роли  Размер – 7-9 человек  Сочетающаяся  Выделенная  Сфокусированная на задаче  Кросс-функциональная  Самоорганизующаяся Пример возможной SCRUM команды -> инженеры по тестированию - часть Scrum Team
  • 23. Confidential 22 SCRUM – процесс разработки, артефакты, ритуалы • Product backlog • Sprint backlog • Burndown charts -> «бэклог» - требования к продукту -> информация для создания «тест кейсов»
  • 24. Confidential 23 SCRUM – процесс разработки, артефакты, ритуалы
  • 25. Confidential 24 SCRUM – процесс разработки, артефакты, ритуалы Итерация = Sprint («спринт» - «рывок»)  2-4 недели (максимум 1 календарный месяц)  Планирование, анализ требований, разработка и тестирование  В конце спринта – готовая функциональность -> анализ требований, разработка тест кейсов, выполнение тест кейсов, результаты тестирования (статусы, ошибки), верификация ошибок, регрессионное тестирование, автоматизация, и т.д.
  • 26. Confidential 25 SCRUM – процесс разработки, артефакты, ритуалы Итерация = Sprint («спринт»)  Никаких изменений в течение спринта  Длительность спринта не рекомендуется менять в течение проекта  Спринт может быть отменен (PO)  Emergency Procedure (выход из «аварийныхнепредвиденных» ситуаций) • попытайтесь сделать по-другому • воспользуйтесь помощью кого-либо вне команды • уменьшите «скоуп» спринта • прервите спринт (Sprint Abnormal Termination)
  • 27. Confidential 26 SCRUM – процесс разработки, артефакты, ритуалы Планирование спринта (Sprint planning) – Sprint backlog (список задач по каждой User Story: задачи для разработчиков, тестировщиков и т.д.) – Sprint Goal - цель спринта – участвуют команда, scrum master, product owner – анализ требований (user stories), декомпозиция на задачи, оценка, фиксирование «скоупа» спринта -> задачи по тестированию на спринт (объем тестирования) – это часть «скоупа» спринта
  • 28. Confidential 27 SCRUM – процесс разработки, артефакты, ритуалы Обзор спринта (Sprint review) – демонстрация результатов спринта: работающий продукт новая функциональность, реализованная в спринте полностью законченные User Stories - команда демонстрирует результаты - Product Owner принимает результаты -> тестировщики заранее выполняют приемочные тесты, определенные PO в начале спринта и помогают в создании сценариев для демонстрации результатов и в проведении ревью - > разработчики создают и выполняют unit tests (возможна практика - ревью тест кейсов, созданных тестировщиками и выполнение самых важных)
  • 29. Confidential 28 SCRUM – процесс разработки, артефакты, ритуалы Спринт ретроспектива (Sprint retrospective) – После каждого спринта (после Sprint review) – Участвует вся команда, чтобы решить • Что было хорошо • Что можно улучшить • Принимается решение о необходимости изменений в процессе для улучшения производительности команды -> возможные улучшения в процессе тестирования
  • 30. Confidential 29 SCRUM – процесс разработки, артефакты, ритуалы Ежедневный скрам-митинг (Daily scrum meeting) - – поделиться информацией с коллегами, взять на себя обязательства Что сделано вчера? Что будет сделано сегодня? С какими проблемами столкнулся? – не предназначен для решения проблем (action item log) – могут быть дополнительные митинги с product owner, если онона находится не с вами и не в одной временной зоне. + ежедневная активность - обновление оставшегося времени по задаче (Remaining time)
  • 31. Confidential 30 SCRUM – процесс разработки