44
AGILE TESTING By Anton Stoliar

Agile testing

Embed Size (px)

DESCRIPTION

My presentation about Agile Testing for the QA Club Minsk

Citation preview

Page 1: Agile testing

AGILE TESTING

By Anton Stoliar

Page 2: Agile testing

КАЖДОМУ ПРОЕКТУ СВОЯ МЕТОДОЛОГИЯ

Алистэр Коуберн -

http://webcache.googleusercontent.com/search?

q=cache:Ss0fTKZmS6cJ:www.maxkir.com/sd/

methyperproject_RUS.htm+&cd=1&hl=ru&ct=clnk

&gl=by

Page 3: Agile testing

КАКИЕ БЫВАЮ Т КЛАС СИФИКАЦИИ ПРОЕКТ ОВ

Page 4: Agile testing

ГДЕ ДЕЛАЕМ AGILE?

Page 5: Agile testing

AGILE METHODOLOGIES

Page 6: Agile testing

КОГДА И ЗАЧЕМ AGILE?

Бизнес-ориентированный подход. Польза для

бизнеса важнее следованию инструкциям.

Хотим и можем повысить продуктивность

команды

Ориентированы на результат а не на процесс

Page 7: Agile testing

ПРИДЕТСЯ ПОПОТЕТЬ!

AGILE

Page 8: Agile testing

Ценности и правильная корпоративная культура важнее

конкретных инструкций и практик!

Page 9: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

самоидентификация -> ценности ->

принципы -> навыки -> конкретные

действия -> окружение

Page 10: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

САМОИДЕНТИФИКАЦИЯ-> ценности ->

принципы -> навыки -> конкретные

действия -> окружение

Например, если я дохтур. Я говорю себе - я

доктор, я осознаю себя им

Page 11: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

самоидентификация -> ЦЕННОСТИ ->

принципы -> навыки -> конкретные

действия -> окружение

Это в моей голове создаёт определенные

ожидания и стандарты по отношению к самому

себе. Мои убеждения и ценности.

Page 12: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

самоидентификация -> ценности ->

ПРИНЦЫПЫ -> НАВЫКИ -> конкретные

действия -> окружение

Затем это потихой начинает проявляться и

влиять на набор моих навыков и поведенческих

реакций

Page 13: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

самоидентификация -> ценности ->

принципы -> навыки -> КОНКРЕТНЫЕ

ДЕЙСТВИЯ -> окружение

Это мой внутренний мир. И этот внутренний

мир начинает проявляться во внешнем мире - мои

конкретные действия. Моё поведение.

Page 14: Agile testing

ПОЧЕМУ ЭТО ВАЖНО?

самоидентификация -> ценности ->

принципы -> навыки -> конкретные

действия -> ОКРУЖЕНИЕ

А это создаёт мир вокруг меня

Page 15: Agile testing

AGILE MANIFESTO 2.1

Teamwork & responsibility over Individuals and Interaction - You

need great individuals and the better they interact the better it is.

Business Value over Working software - Software in itself has no

value. It’s what you do with it.

Partnership elaboration over Customer collaboration

- Collaborating with your customer is important, but working on a

partnership is better.

Prepare for change over Respond to Change - It’s even stronger

to create a setting where change is normal.

Page 16: Agile testing

AGILE MANIFESTO 2.1

Команда и ответственность важнее

индивидуумов и взаимодействия

Бизнес ценность важнее рабочего продукта

Развитие партнёрских отношений важнее

сотрудничества с клиентом

Готовиться к изменениям важнее реакции на

изменения

Page 17: Agile testing

ТЕСТИРОВАНИЕ В AGILE

Тестирование - это процесс проходящий сквозь

все

этапы разработки ПО, направленный на

проверку

соответствия продукта требованиям и

демонстрацию

того, что продукт отвечает поставленным

целям.

• В Agile все тоже самое только в более сжатые

сроки

Page 18: Agile testing
Page 19: Agile testing

SCRUM PROCESS

Page 20: Agile testing

Что есть?

• Высокоуровневое

понимание нужд

заказчика

• Требования (не

всегда)

ПЛАНИРОВАНИЕ ТЕСТИРОВАНИЯ НА

ЭТАПЕ СТАРТА ПРОЕКТА

Что необходимо сделать?

• Определить стратегию и

цели

• Объем тестирования

• Приоритеты

• Роли и обязанности

• Инструменты

• Метрики

Page 21: Agile testing

ПЛАНИРОВАНИЕ И ОЦЕНКА ЗАДАЧ

Page 22: Agile testing

ТРЕБОВАНИЯ

• Есть

• Нет

• Есть, но лучше бы не было

Page 23: Agile testing

ОЦЕНКА ЗАДАЧ ПО ТЕСТИРОВАНИЮ

Что делать когда требования есть?

• Анализируем и уточняем требования

• Тестируем на непротиворечивость, полноту и

т.п.

• Следим за актуальностью требований

• Следим за покрытием тест кейсами

требований

Page 24: Agile testing

ОЦЕНКА ЗАДАЧ ПО ТЕСТИРОВАНИЮ

Что делать если требований нет?

• Нет критериев приемки

• Непонятно выполнили то, что требовалось или нет

Пишем требования

Пишем Acceptance Test Cases

Пишем Use Cases

Пишем Test Cases

Пишем Automation Test Scenarios

Check list

Page 25: Agile testing

ОЦЕНКА ЗАДАЧ

• Декомпозиция

• Ограничения по истории

• Ограничения по таскам

• Покрытие

• Важно ничего не забыть

Page 26: Agile testing
Page 27: Agile testing
Page 28: Agile testing

ТУТ ДОЛЖЕН БЫЛ БЫТЬ КВАДРАНТ ТЕСТИРОВАНИЯ

Page 29: Agile testing

Example of the Iteration

Page 30: Agile testing

Example of Testing Lifecycle

Test Analysis I1

Acceptance Testing I1

Exploratory, Automation

I1

Test Analysis I2

Acceptance Testing I2

Exploratory, Automation

I2

Test Analysis I3

Acceptance Testing I3

Exploratory, Automation

I3

Automated Regression Test

Integration Test

Performance

Full Regression

UAT

I0

I1

I2

I3

I4..In

Pre-production

Page 31: Agile testing

ПЕРЕДАЧА ФИЧИ В ТЕСТИРОВАНИЕ

Цель: проверить что фича готова к тестированию

• Девелоперы:

• фича имплементирована

• Покрыта юнит тестами

• Билд собран и передан команде тестирования

• Тестировщики:

• Проводят транзишен тесты, тесты пройдены – берем в

тестирование, тесты не пройдены возвращаем в разработку

Page 32: Agile testing

COLLABORATION WITH DEVELOPERS

Developer

Tester

• Testing earlier, sometimes on their machines

• Developers gain insight into potential problems

• Together can succeed with automated testing

• Reuse unit testing frameworks

• Do acceptance tests in the same programming environment

Page 33: Agile testing

Use checklists and testing dashboards if you have no time for detailed test cases

Page 34: Agile testing

Assign testing tasks to Developer

Not sure if it is good decision in our Reality

Page 35: Agile testing

How defects are managed

Defects within the Iteration• On the fly

Defect on a story, after the story is signed off• Prioritize and play the story• Add a test

Significant misunderstanding in how the functionality was intended to work• Create a new story and

prioritize

Page 36: Agile testing

Agile Testing Success Factors

• Be cathedral builders not stone cutters• Collective ownership

Testers are part of the team

• Drop the “Quality Police” mindset• Focus on team goals & customer valueAgile testing mindset

• Automate tests wherever practical• Need rapid feedbackAutomate tests

• Balance against developer focus on technical implementation

• Use agile test matrix as guide

Look at the big picture

Page 37: Agile testing

• Collaborate with customers• Collaborate with BA• Collaborate with Customer

Collaborate

• Team retrospectives• Personal training: reading, blogs, QAI, local

QA groupsContinually improve

Agile Testing Success Factors

Page 38: Agile testing

ЧЕМ БУДЕМ МЕРЯТЬСЯ?

Page 39: Agile testing

ЧЕМ БУДЕМ МЕРЯТЬСЯ?

Page 40: Agile testing

ЧЕМ БУДЕМ МЕРЯТЬСЯ?

Page 41: Agile testing

ЧЕМ БУДЕМ МЕРЯТЬСЯ?

Page 42: Agile testing

Recommended Reading

Testing Extreme Programming,

Lisa Crispin

Agile Testing, Lisa Crispin

Scrum and XP from the Trenches,

Henrik Kniberg

Page 43: Agile testing

Recommended Reading

Page 44: Agile testing

Спасибо