Agile Testing Process

949 views

Published on

Agile Testing Process webinar presentation
Speker: Oksana Naboka

http://www.exigenservices.ru/webinars/agile-testing-process

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
949
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Agile Testing Process

  1. 1. Core Systems Transformation Solutions Процесс тестирования в Agile Оксана Набока Сентябрь, 26, 2013
  2. 2. Confidential 1 О компании Exigen Services слияние с компанией Return on Intelligence Июнь 2013
  3. 3. Confidential 2 Об авторе  Оксана Набока – более 10 лет в IT: тестирование ПО, управление SCRUM проектами (> 3х лет), внедрение процессов – сертифицированный Scrum Master – опыт проведения различных тренингов (тестирование ПП, обеспечение качества ПП, Agile/SCRUM, навыки управления проектами разработки ПП)
  4. 4. Confidential 3 О чем мы НЕ будем говорить • О деталях процесса тестирования: например, как создавать тест кейсы (процесс написания тест кейсов), как решать стандартные проблемы тестирования (например, «что будет, если не писать тест кейсы») и т.п. - только обзор основных этапов • О всех существующих подходах к тестированию - только один из возможных • Об автоматизация тестирования в деталях • О «взаимосвязи процесса обеспечения качества с критериями успешности agile проектов» • О всех деталях, сложностях внедрения Agile на практике • НЕ будет реальных примеров того, как используется JIRA • НЕ будет всех ответов на всевозможные вопросы….только на некоторые из них
  5. 5. Confidential 4 О чем мы будем говорить 1. Кратко о процессе тестирования ПО: основные цели и задачи, этапы тестирования 2. Что такое Agile: основные принципы (XP, SCRUM) 3. Тестирование в SCRUM проекте: один из возможных подходов . 4. Вопросы и ответы • Об Agile и, в частности, о SCRUM • О том, как можно организовать процесс тестирования в SCRUM проектах • О том, какие особенности могут быть в процессе тестирования в Agile проектах
  6. 6. Confidential 5 Целевая аудитория • Инженеры по тестированию (тестировщики): • начинающие и специалисты, • имеющие опыт работы в Agile проектах и без такого опыта • Ведущие тестировщики (Test Leads) • имеющие опыт работы в Agile проектах и без такого опыта • Разработчики, менеджеры • имеющие опыт работы в Agile проектах и без такого опыта
  7. 7. Confidential 6 Цели «вебинара» ‘Процесс тестирования в Agile’ • Поделиться информацией о том, что такое Agile - как это может выглядеть на практике для тестировщиков в первую очередь • Поделиться опытом работы в SCRUM проектах - как это может выглядеть на практике для тестировщиков в первую очередь • Рассказать о том, как может выглядеть процесс тестирования в SCRUM проекте (один из вариантов)
  8. 8. Confidential 7 Процесс тестирования: основные цели и этапы • Тестирование - это процесс проходящий сквозь все этапы разработки ПО • Основные цели тестирования - проверка соответствия продукта требованиям, поиск ошибок • В Agile проектах все тоже самое только в более сжатые сроки, динамичнее и с учетом особенностей Agile
  9. 9. Confidential 8 Процесс тестирования: основные цели и этапы • Уровни тестирования: модульное, интеграционное, системное, приемочное • Системное тестирование выполняется инженерами по тестированию («тестировщики», «тестеры», software test engineers (STEs), testers). • Различают, как минимум, две роли: Tester («тестер», «тестировщик») и Test Lead («тест лид»)
  10. 10. Confidential 9 Процесс тестирования: основные цели и этапы Планирование и подготовка Разработка тест-кейсов Приемка «билда» Выполнение тест-кейсов и запись отчетов об ошибках Верификация ошибок Сбор метрик и отчеты Автоматизация тестирования
  11. 11. Confidential 10 Agile: основные принципы Agile – манифест(www.agilemanifesto.org)  Люди и взаимодействие  Работающий продукт  Сотрудничество с клиентом  Готовность к изменениям процессов и инструментов исчерпывающей документации согласования условий контракта следования первоначальному плану важнее важнее важнее важнее
  12. 12. Confidential 11 Agile: основные принципы • Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения. • Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества. • Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев. • На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
  13. 13. Confidential 12 Agile: основные принципы • Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им. • Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды. • Работающий продукт — основной показатель прогресса. • Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
  14. 14. Confidential 13 Agile: основные принципы • Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта. • Простота — искусство минимизации лишней работы — крайне необходима. • Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд. • Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
  15. 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. 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. 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. 18. Confidential 17 SCRUM  В спорте SCRUM - «толкотня; схватка вокруг мяча» в регби  В IT SCRUM - один из Agile подходов к разработке ПО  Framework (роли, артефакты, ритуалы)–> нет подробных рекомендаций, что и как делать, команда знает лучше, как решить свои проблемы  ―Framework for XP‖
  19. 19. Confidential 18 SCRUM Основные характеристики • Самоопределяющаяся команда • Продукт разрабатывается в процессе серии итераций (sprints) • Все требования записываются в виде единого списка (бэклог продукта -―product backlog‖) • Инженерные практики не являются частью SCRUM методологии • Использует простые правила для создания гибкой среды разработки проектов
  20. 20. Confidential 19 SCRUM (www.mountaingoatsoftware.com/scrum)
  21. 21. Confidential 20 SCRUM – команда, роли • Product Owner - «владелец продукта» - > отвечает за видение продукта и приоритеты, принимает работу • Scrum Team - «скрам-команда» - > отвечает за реализацию продукта • Scrum Master - «скрам-мастер» -> устраняет препятствия в работе и руководит Scrum процессом
  22. 22. Confidential 21 SCRUM – команда, роли  Размер – 7-9 человек  Сочетающаяся  Выделенная  Сфокусированная на задаче  Кросс-функциональная  Самоорганизующаяся Пример возможной SCRUM команды -> инженеры по тестированию - часть Scrum Team
  23. 23. Confidential 22 SCRUM – процесс разработки, артефакты, ритуалы • Product backlog • Sprint backlog • Burndown charts -> «бэклог» - требования к продукту -> информация для создания «тест кейсов»
  24. 24. Confidential 23 SCRUM – процесс разработки, артефакты, ритуалы
  25. 25. Confidential 24 SCRUM – процесс разработки, артефакты, ритуалы Итерация = Sprint («спринт» - «рывок»)  2-4 недели (максимум 1 календарный месяц)  Планирование, анализ требований, разработка и тестирование  В конце спринта – готовая функциональность -> анализ требований, разработка тест кейсов, выполнение тест кейсов, результаты тестирования (статусы, ошибки), верификация ошибок, регрессионное тестирование, автоматизация, и т.д.
  26. 26. Confidential 25 SCRUM – процесс разработки, артефакты, ритуалы Итерация = Sprint («спринт»)  Никаких изменений в течение спринта  Длительность спринта не рекомендуется менять в течение проекта  Спринт может быть отменен (PO)  Emergency Procedure (выход из «аварийныхнепредвиденных» ситуаций) • попытайтесь сделать по-другому • воспользуйтесь помощью кого-либо вне команды • уменьшите «скоуп» спринта • прервите спринт (Sprint Abnormal Termination)
  27. 27. Confidential 26 SCRUM – процесс разработки, артефакты, ритуалы Планирование спринта (Sprint planning) – Sprint backlog (список задач по каждой User Story: задачи для разработчиков, тестировщиков и т.д.) – Sprint Goal - цель спринта – участвуют команда, scrum master, product owner – анализ требований (user stories), декомпозиция на задачи, оценка, фиксирование «скоупа» спринта -> задачи по тестированию на спринт (объем тестирования) – это часть «скоупа» спринта
  28. 28. Confidential 27 SCRUM – процесс разработки, артефакты, ритуалы Обзор спринта (Sprint review) – демонстрация результатов спринта: работающий продукт новая функциональность, реализованная в спринте полностью законченные User Stories - команда демонстрирует результаты - Product Owner принимает результаты -> тестировщики заранее выполняют приемочные тесты, определенные PO в начале спринта и помогают в создании сценариев для демонстрации результатов и в проведении ревью - > разработчики создают и выполняют unit tests (возможна практика - ревью тест кейсов, созданных тестировщиками и выполнение самых важных)
  29. 29. Confidential 28 SCRUM – процесс разработки, артефакты, ритуалы Спринт ретроспектива (Sprint retrospective) – После каждого спринта (после Sprint review) – Участвует вся команда, чтобы решить • Что было хорошо • Что можно улучшить • Принимается решение о необходимости изменений в процессе для улучшения производительности команды -> возможные улучшения в процессе тестирования
  30. 30. Confidential 29 SCRUM – процесс разработки, артефакты, ритуалы Ежедневный скрам-митинг (Daily scrum meeting) - – поделиться информацией с коллегами, взять на себя обязательства Что сделано вчера? Что будет сделано сегодня? С какими проблемами столкнулся? – не предназначен для решения проблем (action item log) – могут быть дополнительные митинги с product owner, если онона находится не с вами и не в одной временной зоне. + ежедневная активность - обновление оставшегося времени по задаче (Remaining time)
  31. 31. Confidential 30 SCRUM – процесс разработки
  32. 32. Confidential 31 Спасибо! Вопросы?

×